#[macro_export]
macro_rules! routes {
($($handler_seg:ident $(:: $handler_rest:ident)*),+ $(,)?) => {{
let mut __routes_result = $crate::__private::utoipa_axum_routes!(
$($handler_seg $(:: $handler_rest)*),+
);
$(
$crate::routes!(
@collect __routes_result,
prefix: [],
rest: $handler_seg $(:: $handler_rest)*
);
)+
__routes_result
}};
(@collect $r:ident, prefix: [$($prefix:tt)*], rest: $head:ident :: $($tail:tt)+) => {
$crate::routes!(
@collect $r,
prefix: [$($prefix)* $head ::],
rest: $($tail)+
)
};
(@collect $r:ident, prefix: [$($prefix:tt)*], rest: $last:ident) => {
$crate::__private::paste::paste! {
<$($prefix)* [<__path_ $last>]
as $crate::ApidocHandlerSchemas>::collect(&mut $r.0);
<$($prefix)* [<__path_ $last>]
as $crate::ApidocHandlerOps>::augment(&mut $r.1);
}
};
}