pub struct PreparedValidator { /* private fields */ }Expand description
A schema compiled once for validating any number of documents.
Implementations§
Source§impl PreparedValidator
impl PreparedValidator
Sourcepub fn new(schema: &Schema) -> Result<Self, PrepareValidationError>
pub fn new(schema: &Schema) -> Result<Self, PrepareValidationError>
Compiles matchers and the immutable JSON Schema resource registry.
Callers should pass a Schema produced by the loader. Preparation is
not a substitute for the loader’s semantic checks when a schema has
been assembled manually from its public fields.
§Errors
Returns an error if a matcher or frontmatter JSON Schema cannot be compiled. A schema returned by the loader has already passed equivalent checks, but preparation retains a defensive failure path rather than assuming every caller obtained the value from that boundary.
Sourcepub fn validate(&self, document: &Document) -> Vec<Diagnostic>
pub fn validate(&self, document: &Document) -> Vec<Diagnostic>
Validates one parsed document without recompiling schema state.
Frontmatter validation is included, and fm. propositions in
constraints evaluate against the document’s frontmatter (§4.6).
Diagnostic order is deterministic for a given schema and document but follows the validation walk and is not a contract of this crate: a refactor may reorder it between releases. Callers that promise an output order must sort on diagnostic content, as the CLI does with a documented total key.