use openapiv3::*;
pub trait ParameterSchemaOrContentExt {
fn item(&self) -> &Schema;
}
impl ParameterSchemaOrContentExt for ParameterSchemaOrContent {
fn item(&self) -> &Schema {
match self {
ParameterSchemaOrContent::Schema(reference) => match reference {
ReferenceOr::Reference { .. } => {
unimplemented!("References inside schemas are not supported")
}
ReferenceOr::Item(item) => item,
},
ParameterSchemaOrContent::Content(_content) => {
unimplemented!("Not quite understand what's a Content in Schema")
}
}
}
}
pub trait ReferenceOrExt<T> {
fn to_item_mut(&mut self) -> &mut T;
}
impl<T> ReferenceOrExt<T> for ReferenceOr<T> {
fn to_item_mut(&mut self) -> &mut T {
match self {
ReferenceOr::Reference { reference } => {
unimplemented!("No support to dereference {}.", reference)
}
ReferenceOr::Item(item) => item,
}
}
}