Skip to main content

openapi_nexus/ir/types/
mod.rs

1//! IR type definitions for OpenAPI code generation.
2//!
3//! These types form the version-agnostic intermediate representation that all
4//! OpenAPI spec versions (3.0, 3.1, 3.2) lower into. Generators consume these
5//! types exclusively — they never see raw spec types.
6
7mod operation;
8mod schema;
9mod spec;
10mod type_expr;
11
12pub use operation::{
13    IrHeader, IrOperation, IrParameter, IrRequestBody, IrRequestBodyEncoding, IrResponse,
14    IrSecurityRequirement, ParameterLocation,
15};
16pub use schema::{
17    IrEnum, IrEnumValue, IrEnumValueType, IrIntersection, IrObject, IrProperty, IrSchema,
18    IrSchemaKind, IrTaggedUnion, IrTaggedVariant, IrUnion, TaggingStyle,
19};
20pub use spec::{
21    ApiKeyLocation, IrContact, IrInfo, IrLicense, IrOAuth2Flow, IrOAuth2Flows, IrSecurityScheme,
22    IrServer, IrSpec,
23};
24pub use type_expr::{IrPrimitive, IrTypeExpr, IrValidation};