Skip to main content

CodeGenBackend

Trait CodeGenBackend 

Source
pub trait CodeGenBackend {
    // Required method
    fn generate(
        &self,
        schemas: &[JsonSchema],
        settings: &CodeGenSettings,
    ) -> CodeGenResult<GenerateRustOutput>;
}
Expand description

Contract for a codegen backend: schemas in, GenerateRustOutput with optional shared buffer and per-schema buffers.

Required Methods§

Source

fn generate( &self, schemas: &[JsonSchema], settings: &CodeGenSettings, ) -> CodeGenResult<GenerateRustOutput>

Generate model source for each schema. Returns shared buffer (if any) and one buffer per schema.

§Errors

Returns CodeGenError::RootNotObject if a root schema is not an object with properties. Returns CodeGenError::Io on write failure. Returns CodeGenError::Batch with index when one schema in the batch fails.

Implementors§