OpenAPI client code generation.
Trait-based design allows multiple implementations per language/framework.
Extensibility
Users can register custom generators via [register()]:
use normalize_openapi::{OpenApiClientGenerator, register};
use serde_json::Value;
struct MyGenerator;
impl OpenApiClientGenerator for MyGenerator {
fn language(&self) -> &'static str { "mylang" }
fn variant(&self) -> &'static str { "myvariant" }
fn generate(&self, spec: &Value) -> String { /* ... */ }
}
// Register before first use
register(&MyGenerator);