1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//! Schema generation module for OpenAPI.
//!
//! This module provides functionality for converting Rust types (structs, enums)
//! into OpenAPI-compatible JSON Schema definitions.
//!
//! # Overview
//!
//! The schema module is responsible for the critical task of converting arbitrary Rust types
//! into JSON Schema representations that can be included in OpenAPI specs. It handles:
//! - Primitive types (String, i32, bool, etc.)
//! - Complex types (Vec, Option, HashMap)
//! - User-defined structs and enums
//! - Serde attribute processing (rename, rename_all, default, skip)
//! - Generic type parameters
//! - Circular reference detection
//!
//! # Module Structure
//!
//! - `serde_attrs` - Extract serde attributes (rename_all, skip, default, etc.)
//! - `generics` - Generic type parameter substitution
//! - `struct_schema` - Struct to JSON Schema conversion
//! - `enum_schema` - Enum to JSON Schema conversion
//! - `type_schema` - Type to SchemaRef conversion (main entry point)
//!
//! # Key Functions
//!
//! - [`parse_type_to_schema_ref`] - Convert any Rust type to SchemaRef
//! - [`parse_struct_to_schema`] - Convert struct to JSON Schema object
//! - [`parse_enum_to_schema`] - Convert enum to JSON Schema (oneOf or enum array)
//! - [`extract_rename_all`] - Extract serde rename_all attribute
// Re-export public API
pub use parse_enum_to_schema;
pub use ;
pub use parse_struct_to_schema;
pub use parse_type_to_schema_ref;
// Re-export for internal use within parser module
pub use ;