Classification of a JSON value as seen by the validator.
Adapter for the library's own JsonNode (used internally for meta-schema validation of generated schemas, and available to callers).
A JSON number in its exact source representation. Integral values keep full 64-bit fidelity; asDouble is the (possibly lossy) numeric view.
Adapter for std.json.JSONValue.
True when A satisfies the adapter interface documented at module level.
The JSON-type adapter trait.
Instance validation is templated over a small adapter so any JSON document type can be validated without conversion. An adapter is a struct with the following compile-time interface (all functions static):
Two adapters ship with the library: StdJsonAdapter here (std.json, dependency-free) and VibeJsonAdapter in the jsonschema:vibe subpackage (vibe.data.json). JsonNodeAdapter adapts the library's own internal representation, which is how generated schemas are meta-validated. To adapt another JSON library (asdf, mir-ion, …), implement the interface above and pass the adapter to Validator.validateWith!MyAdapter(value).