Tools for working with extended JSON schemas
schematools is compatible with Node 20 and higher.
Install the latest version from npmjs.com:
npm install schematools
If you need to use the latest version from GitHub instead, install it this way:
npm install docorm@git+ssh://github.com/bbi-lab/schematools
Schemas adhere to JSON Schema, with some limitations and some extensions.
Data model schemas adhere to a custom dialect of JSON Schema. This custom dialect is not yet formally defined, but we will describe its limitations and extensions with respect to a standard dialect.
with respect to the the core/validation dialect of JSON Schema 2020-12. We will also describe its extensions to the standard, which are custom keywords.
The following subsections describe keyword support relative to the core/validation dialect of JSON Schema 2020-12.
Supported:
- Simple types and their properties
- Objects and arrays
allOf
andoneOf
Unsupported:
anyOf
not
if
,then
, andelse
properties
,patternProperties
, andadditionalProperties
dependentSchemas
propertyNames
prefixItems
contains
JSONPath, JSON pointers, and simple (dot-separated or array) paths
Use of JSONPath-Plus
- More ORM-like interface for interacting with relationships between documents
- Ability to map JSON properties to relational database columns