Crates.io | conjure-codegen |
lib.rs | conjure-codegen |
version | 4.5.0 |
source | src |
created_at | 2019-01-15 21:38:24.690959 |
updated_at | 2024-09-18 18:52:45.171423 |
description | Rust code generation for Conjure definitions |
homepage | |
repository | https://github.com/palantir/conjure-rust |
max_upload_size | |
id | 108782 |
size | 643,080 |
Conjure support for Rust.
conjure-rust
is an RFC 002-compliant CLI, which can
be used via a build tool like gradle-conjure, or manually:
USAGE:
conjure-rust generate [OPTIONS] <inputJson> <outputDirectory>
ARGS:
<inputJson> Path to a JSON-formatted Conjure IR file
<outputDirectory> Directory to place generated code
OPTIONS:
--exhaustive Generate exhaustively matchable enums and unions
--useStagedBuilders Generate compile-time safe builders to ensure all required
attributes are set
--stripPrefix <prefix> Strip a prefix from types's package paths
--productName <name> The name of the generated crate
--productVersion <version> The version of the generated crate
-h, --help Print help information
conjure-codegen
is the library which turns a Conjure IR file into Rust code. It powers the conjure-rust
CLI, but
can also be used on its own in e.g. build scripts as an alternative approach. See its documentation for more details, as
well as examples of generated code.
conjure-error
is the runtime support library that the errors generated by conjure-codegen
depend on. It defines
various standard error types and functionality to serialize and deserialize errors.
conjure-http
is the runtime support library that the service clients and resources generated by conjure-codegen
depend on. It defines interfaces used by the underlying client and server implementations.
conjure-object
is the runtime support library that the objects generated by conjure-codegen
depend on. It reexports
the various third party types that correspond to Conjure primitives.
conjure-serde
provides wrapper types for serde Serializer
s and Deserializer
s which adjust behavior to match
Conjure's expectations around binary data, non-finite floating point values, and unknown fields.