View Source API Reference jsv v0.3.0

Modules

JSV

This is the main API for the JSV library.

Represents a boolean schema. Boolean schemas accept or reject any data according to their boolean value.

A simple wrapper for errors returned from JSV.build/2.

Internal logic to build raw schemas into JSV.Root structs.

JSON encoder/decoder based on available implementation.

Error formatting loosely following the guidelines described at https://json-schema.org/blog/posts/fixing-json-schema-output

Behaviour for format validator implementations.

Default implementation of format validation.

Helpers around the different key formats used in the resolver, builder and validator states to index sub schemas, referenced schemas, anchor or meta schemas.

A "namespace" for a schema ID or reference. In the JSV library, a namespace for a schema represents the document the schema belongs to. When it is an URL, it is the scheme, host and path, ignoring the query string and the fragment.

Representation of a JSON Schema reference ($ref or $dynamicRef).

Resolves remote resources when building a JSON schema.

A JSV.Resolver implementation that only resolves known schemas shipped as part of the JSV library.

A JSV.Resolver implementation that will fetch the schemas from the web with the help of the :httpc module.

Represents a cache entry for a resolved resource.

Internal representation of a JSON schema built with JSV.build/2.

This module defines a struct where all the supported keywords of the JSON schema specification are defined as keys. Text editors that can predict the struct keys will make autocompletion available when writing schemas.

Build result for a raw map schema.

The data structure returned by JSV.validate/3 when validation fails.

This is the home of the recursive validation logic.

Representation of an error encountered during validation.

Validation context carried along by the JSV.Validator and given to all vocabulary implementations.

Behaviour for vocabulary implementation.

Implementation for the https://json-schema.org/draft/2020-12/vocab/applicator vocabulary.

Invactive implementation for the https://json-schema.org/draft/2020-12/vocab/content vocabulary. No validation is performed.

Implementation for the https://json-schema.org/draft/2020-12/vocab/core vocabulary.

Implementation for the https://json-schema.org/draft/2020-12/vocab/format-annotation and https://json-schema.org/draft/2020-12/vocab/format-assertion vocabularies.

Implementation for the https://json-schema.org/draft/2020-12/vocab/meta-data vocabulary.

Implementation for the https://json-schema.org/draft/2020-12/vocab/unevaluated vocabulary.

Implementation for the https://json-schema.org/draft/2020-12/vocab/validation vocabulary.

Implementation of the applicator vocabulary with draft 7 sepecifiticies.

Implementation of the content vocabulary with draft 7 sepecifiticies. No validation is performed.

Implementation of the core vocabulary with draft 7 sepecifiticies.

Implementation of the format vocabulary with draft 7 sepecifiticies.

Implementation of the meta-data vocabulary with draft 7 sepecifiticies.

Implementation of the validation vocabulary with draft 7 sepecifiticies.