schemadoc_diff/schemas/swagger2/
context.rs

1use indexmap::IndexMap;
2
3use crate::schemas::swagger2::schema::{Parameter, Schema};
4
5pub fn deref_parameter<'a>(
6    parameters: &'a Option<IndexMap<String, Parameter>>,
7    reference: &str,
8) -> Option<&'a Parameter> {
9    parameters.as_ref().and_then(|parameters| {
10        parameters.get(&reference.replace("#/parameters/", ""))
11    })
12}
13
14pub fn deref_schema<'a>(
15    definitions: &'a Option<IndexMap<String, Schema>>,
16    reference: &str,
17) -> Option<&'a Schema> {
18    definitions.as_ref().and_then(|definitions| {
19        definitions.get(&reference.replace("#/definitions/", ""))
20    })
21}