pub struct SchemaAnalysis {
pub schemas: BTreeMap<String, AnalyzedSchema>,
pub dependencies: DependencyGraph,
pub patterns: DetectedPatterns,
pub operations: BTreeMap<String, OperationInfo>,
pub operation_id_aliases: BTreeMap<String, Vec<String>>,
pub used_type_features: UsedFeatures,
pub enum_extensions: BTreeMap<String, EnumExtensions>,
}Fields§
§schemas: BTreeMap<String, AnalyzedSchema>All schemas indexed by name
dependencies: DependencyGraphDependency graph for generation ordering
patterns: DetectedPatternsDetected patterns and transformations
operations: BTreeMap<String, OperationInfo>OpenAPI operations and their request/response schemas
operation_id_aliases: BTreeMap<String, Vec<String>>Source operationId to emitted operation IDs. Duplicate or Rust-identifier-colliding IDs are renamed during analysis; retaining this mapping lets selector resolution report ambiguity or renaming.
used_type_features: UsedFeaturesOptional crates the TypeMapper was asked to reference
during analysis (e.g. chrono when a format: date-time field
became chrono::DateTime<Utc>). The generator reads this to
decide which helper modules (e.g. base64_serde) to emit. Complete
dependency reporting is collected from retained emitted files so
pruned schemas cannot leak stale requirements.
enum_extensions: BTreeMap<String, EnumExtensions>Q2.6: per-schema vendor enum extensions
(x-enum-varnames / x-enum-descriptions). Populated during
analysis when a StringEnum / ExtensibleEnum schema declares
either extension; the generator uses these to override the
default heuristic variant names and emit per-variant doc
comments. Indexed by analyzed-schema name. Side-channel so we
don’t have to touch every StringEnum constructor.
Trait Implementations§
Source§impl Clone for SchemaAnalysis
impl Clone for SchemaAnalysis
Source§fn clone(&self) -> SchemaAnalysis
fn clone(&self) -> SchemaAnalysis
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more