jspg progress
This commit is contained in:
@ -34,7 +34,6 @@ pub struct SchemaObject {
|
||||
#[serde(rename = "patternProperties")]
|
||||
pub pattern_properties: Option<BTreeMap<String, Arc<Schema>>>,
|
||||
pub required: Option<Vec<String>>,
|
||||
// additionalProperties can be checks against a schema or boolean (handled by Schema wrapper)
|
||||
|
||||
// dependencies can be schema dependencies or property dependencies
|
||||
pub dependencies: Option<BTreeMap<String, Dependency>>,
|
||||
@ -88,7 +87,11 @@ pub struct SchemaObject {
|
||||
pub format: Option<String>,
|
||||
#[serde(rename = "enum")]
|
||||
pub enum_: Option<Vec<Value>>, // `enum` is a reserved keyword in Rust
|
||||
#[serde(default, rename = "const")]
|
||||
#[serde(
|
||||
default,
|
||||
rename = "const",
|
||||
deserialize_with = "crate::util::deserialize_some"
|
||||
)]
|
||||
pub const_: Option<Value>,
|
||||
|
||||
// Numeric Validation
|
||||
@ -135,6 +138,8 @@ pub struct SchemaObject {
|
||||
pub compiled_pattern: Option<crate::compiler::CompiledRegex>,
|
||||
#[serde(skip)]
|
||||
pub compiled_pattern_properties: Option<Vec<(crate::compiler::CompiledRegex, Arc<Schema>)>>,
|
||||
#[serde(skip)]
|
||||
pub compiled_schemas: Option<Arc<crate::registry::Registry>>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize)]
|
||||
@ -183,7 +188,7 @@ impl<'de> Deserialize<'de> for Schema {
|
||||
always_fail: !b,
|
||||
});
|
||||
}
|
||||
let obj: SchemaObject = serde_json::from_value(v).map_err(serde::de::Error::custom)?;
|
||||
let obj: SchemaObject = serde_json::from_value(v.clone()).map_err(serde::de::Error::custom)?;
|
||||
|
||||
Ok(Schema {
|
||||
obj,
|
||||
|
||||
Reference in New Issue
Block a user