#[cfg(not(feature = "openapi31"))]
compile_error!(
"kynos-openapi requires the `openapi31` feature. OpenAPI 3.1 is the baseline object model; \
enable `openapi31`, or `openapi32`, which implies it."
);
pub mod annotation;
pub mod emit;
pub mod model;
pub mod validate;
pub use crate::{
annotation::{MalformedAnnotation, Opaque, OpaqueReason, OpaqueRoute},
model::{
body::{RequestBody, encoding::Encoding, media_type::MediaType},
callback::Callback,
components::{ComponentName, Components},
document::{Document, SpecVersion},
example::{Example, ExampleValue, Examples},
extensions::Extensions,
external_docs::ExternalDocumentation,
info::{Contact, Info, License},
link::{Link, LinkTarget},
parameter::{
Parameter, ParameterIn, ParameterShape,
header::{Header, HeaderShape},
style::{EncodingStyle, HeaderStyle, Style},
},
paths::{
Paths, item::PathItem, method::Method, operation::Operation, template::PathTemplate,
},
reference::{Ref, RefOr},
response::{Response, Responses, status::StatusPattern},
schema::{Schema, discriminator::Discriminator, object::SchemaObject, xml::Xml},
security::{
SecurityScheme,
oauth::{OAuthFlow, OAuthFlows},
requirement::SecurityRequirement,
},
server::{Server, ServerVariable},
tag::Tag,
},
validate::violation::{Severity, SpecError, Violation},
};
pub type Map<V> = indexmap::IndexMap<String, V>;