pub fn generate_code(
metadata: &CodeGenMetadata,
config: &CodeGenConfig,
) -> Result<()>Expand description
Generate all code described by config from metadata.
Writes the following outputs, depending on which CodeGenOutput fields are Some:
| Field | Contents |
|---|---|
output.common | Axum extractor code, per-service mod.rs (always written) |
output.models_gen | labels.rs resource-enum file (falls back to common if None) |
output.server | Handler trait + Axum route wiring per service |
output.client | HTTP client structs and request builders per service |
output.python | PyO3 binding wrappers + .pyi typings stub |
output.node | NAPI binding wrappers |
output.node_ts | TypeScript client (client.ts) |
§Required fields
output.commonis always required.bindingsmust beSomewhen any ofoutput.python,output.node, oroutput.node_tsisSome; otherwise returnsError::MissingBindingsConfig.models_path_templateandmodels_path_crate_templatemust be valid Rust path templates (containing{service}); invalid templates returnError::InvalidModelsPathTemplate.
§Optional fields
Setting generate_resource_enum to false skips labels.rs generation.
Setting bindings to None skips all language-binding output.
Call CodeGenConfig::validate before this function to surface config errors at
construction time rather than mid-generation.