chore: Update jsonschema to 0.20.0
Signed-off-by: Dmitry Dygalo <dmitry.dygalo@workato.com>
This commit is contained in:
parent
13ffa14d1f
commit
f8c1fe21b7
3 changed files with 17 additions and 17 deletions
4
Cargo.lock
generated
4
Cargo.lock
generated
|
@ -416,9 +416,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jsonschema"
|
name = "jsonschema"
|
||||||
version = "0.19.0"
|
version = "0.20.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "2be7aa9f08a262039c0b5eb11b792e4353dad5263f78e33312b7ba9e43b32ae9"
|
checksum = "f2eef4e82b548e08ac880d307c8e8838b45f497a08d3202f3b26c9debaed8058"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ahash",
|
"ahash",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
|
|
@ -37,7 +37,7 @@ uuid1 = { version = "1.0", default-features = false, optional = true, package =
|
||||||
pretty_assertions = "1.2.1"
|
pretty_assertions = "1.2.1"
|
||||||
trybuild = "1.0"
|
trybuild = "1.0"
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
serde = { version = "1.0", features = ["derive"] }
|
||||||
jsonschema = { version = "0.19.0", default-features = false }
|
jsonschema = { version = "0.20", default-features = false }
|
||||||
snapbox = { version = "0.6.17", features = ["json"] }
|
snapbox = { version = "0.6.17", features = ["json"] }
|
||||||
serde_repr = "0.1.19"
|
serde_repr = "0.1.19"
|
||||||
# Use github source until published garde version supports `length(equal = ...)` attr
|
# Use github source until published garde version supports `length(equal = ...)` attr
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use jsonschema::JSONSchema as CompiledSchema;
|
use jsonschema::Validator;
|
||||||
use schemars::{
|
use schemars::{
|
||||||
generate::{Contract, SchemaSettings},
|
generate::{Contract, SchemaSettings},
|
||||||
JsonSchema, Schema,
|
JsonSchema, Schema,
|
||||||
|
@ -17,8 +17,8 @@ pub struct TestHelper<T: JsonSchema> {
|
||||||
phantom: PhantomData<T>,
|
phantom: PhantomData<T>,
|
||||||
de_schema: Schema,
|
de_schema: Schema,
|
||||||
ser_schema: Schema,
|
ser_schema: Schema,
|
||||||
de_schema_compiled: OnceCell<CompiledSchema>,
|
de_schema_validator: OnceCell<Validator>,
|
||||||
ser_schema_compiled: OnceCell<CompiledSchema>,
|
ser_schema_validator: OnceCell<Validator>,
|
||||||
validator: fn(&T) -> bool,
|
validator: fn(&T) -> bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,8 +33,8 @@ impl<T: JsonSchema> TestHelper<T> {
|
||||||
phantom: PhantomData,
|
phantom: PhantomData,
|
||||||
de_schema,
|
de_schema,
|
||||||
ser_schema,
|
ser_schema,
|
||||||
de_schema_compiled: OnceCell::new(),
|
de_schema_validator: OnceCell::new(),
|
||||||
ser_schema_compiled: OnceCell::new(),
|
ser_schema_validator: OnceCell::new(),
|
||||||
validator: |_| true,
|
validator: |_| true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -52,8 +52,8 @@ impl<T: JsonSchema> TestHelper<T> {
|
||||||
phantom: PhantomData,
|
phantom: PhantomData,
|
||||||
de_schema,
|
de_schema,
|
||||||
ser_schema,
|
ser_schema,
|
||||||
de_schema_compiled: OnceCell::new(),
|
de_schema_validator: OnceCell::new(),
|
||||||
ser_schema_compiled: OnceCell::new(),
|
ser_schema_validator: OnceCell::new(),
|
||||||
validator: |_| true,
|
validator: |_| true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -137,22 +137,22 @@ impl<T: JsonSchema> TestHelper<T> {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn de_schema_validate(&self, instance: &Value) -> bool {
|
fn de_schema_validate(&self, instance: &Value) -> bool {
|
||||||
self.de_schema_compiled
|
self.de_schema_validator
|
||||||
.get_or_init(|| compile_schema(&self.de_schema))
|
.get_or_init(|| build_validator(&self.de_schema))
|
||||||
.is_valid(instance)
|
.is_valid(instance)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn ser_schema_validate(&self, instance: &Value) -> bool {
|
fn ser_schema_validate(&self, instance: &Value) -> bool {
|
||||||
self.ser_schema_compiled
|
self.ser_schema_validator
|
||||||
.get_or_init(|| compile_schema(&self.ser_schema))
|
.get_or_init(|| build_validator(&self.ser_schema))
|
||||||
.is_valid(instance)
|
.is_valid(instance)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn compile_schema(schema: &Schema) -> CompiledSchema {
|
fn build_validator(schema: &Schema) -> Validator {
|
||||||
CompiledSchema::options()
|
jsonschema::options()
|
||||||
.should_validate_formats(true)
|
.should_validate_formats(true)
|
||||||
.compile(schema.as_value())
|
.build(schema.as_value())
|
||||||
.expect("valid schema")
|
.expect("valid schema")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue