1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use crate::{compilation::JSONSchema, error::ErrorIterator, paths::InstancePath};
use serde_json::Value;
use std::fmt;
pub(crate) trait Validate: Send + Sync + ToString {
fn validate<'a>(
&self,
schema: &'a JSONSchema,
instance: &'a Value,
instance_path: &InstancePath,
) -> ErrorIterator<'a>;
fn is_valid(&self, schema: &JSONSchema, instance: &Value) -> bool;
}
impl fmt::Debug for dyn Validate + Send + Sync {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.write_str(&self.to_string())
}
}