//! Hook for OpenAPI document generation.
use crateRoute;
/// Produces the routes that serve the OpenAPI document and documentation UI.
///
/// This trait is implemented by the OpenAPI crate and registered through
/// [`App::openapi`](crate::App::openapi). Defining the hook here, instead of
/// depending on the OpenAPI crate, keeps the dependency graph acyclic and lets
/// OpenAPI support be compiled out entirely.
/// Produces the routes that serve the AsyncAPI document.
///
/// The mirror of [`OpenApiProvider`] for the event-driven side: it describes the
/// Server-Sent Events and WebSocket channels. Implemented by the OpenAPI crate
/// and registered through [`App::asyncapi`](crate::App::asyncapi).