The cl-jschema Reference Manual

This is the cl-jschema Reference Manual, version 1.1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 15:21:41 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 cl-jschema

Common Lisp implementation of JSON Schema

Author

Mauro D’Agostino

License

MIT

Version

1.1.0

Dependencies
  • com.inuoe.jzon (system).
  • alexandria (system).
  • cl-ppcre (system).
  • puri (system).
Source

cl-jschema.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 cl-jschema/src

Source

cl-jschema.asd.

Parent Component

cl-jschema (system).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 cl-jschema/cl-jschema.asd

Source

cl-jschema.asd.

Parent Component

cl-jschema (system).

ASDF Systems

cl-jschema.


4.1.2 cl-jschema/src/package.lisp

Source

cl-jschema.asd.

Parent Component

src (module).

Packages

cl-jschema.


4.1.3 cl-jschema/src/utils.lisp

Source

cl-jschema.asd.

Parent Component

src (module).

Internals

4.1.4 cl-jschema/src/types.lisp

Source

cl-jschema.asd.

Parent Component

src (module).

Internals

4.1.5 cl-jschema/src/keywords.lisp

Source

cl-jschema.asd.

Parent Component

src (module).

Internals

4.1.6 cl-jschema/src/json-schema.lisp

Source

cl-jschema.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.7 cl-jschema/src/registry.lisp

Source

cl-jschema.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.8 cl-jschema/src/parse.lisp

Source

cl-jschema.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.9 cl-jschema/src/validate.lisp

Source

cl-jschema.asd.

Parent Component

src (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 cl-jschema

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Ordinary functions

Function: clear-registry ()

Clear the registry of parsed JSON Schemas.

Package

cl-jschema.

Source

registry.lisp.

Function: parse (input &key allow-comments allow-trailing-comma)

Return an instance of ’JSON-SCHEMA.

INPUT can be a value previously parsed by JZON or a value that’s parsable by JZON. The keyargs ALLOW-COMMENTS and ALLOW-TRAILING-COMMA are forwarded to ’JZON:PARSE.

Package

cl-jschema.

Source

parse.lisp.


6.1.2 Generic functions

Generic Function: get-schema (uri)

Return NIL or a ’JSON-SCHEMA object.

If URI contains a fragment, then it’s either:
1) A JSON Pointer to an inner schema.
2) A string which should map to an $anchor.

If a fragment is given and we don’t find an inner schema with the fragment, we return NIL.

Package

cl-jschema.

Source

registry.lisp.

Methods
Method: get-schema ((uri string))
Method: get-schema ((uri uri))
Generic Reader: invalid-json-errors (condition)
Generic Writer: (setf invalid-json-errors) (condition)
Package

cl-jschema.

Methods
Reader Method: invalid-json-errors ((condition invalid-json))
Writer Method: (setf invalid-json-errors) ((condition invalid-json))
Source

validate.lisp.

Target Slot

errors.

Generic Reader: invalid-json-value-error-message (condition)
Package

cl-jschema.

Methods
Reader Method: invalid-json-value-error-message ((condition invalid-json-value))
Source

validate.lisp.

Target Slot

error-message.

Generic Reader: invalid-json-value-json-pointer (condition)
Package

cl-jschema.

Methods
Reader Method: invalid-json-value-json-pointer ((condition invalid-json-value))
Source

validate.lisp.

Target Slot

json-pointer.

Generic Reader: invalid-schema-base-uri (condition)
Package

cl-jschema.

Methods
Reader Method: invalid-schema-base-uri ((condition invalid-schema))
Source

parse.lisp.

Target Slot

base-uri.

Generic Reader: invalid-schema-error-message (condition)
Package

cl-jschema.

Methods
Reader Method: invalid-schema-error-message ((condition invalid-schema))
Source

parse.lisp.

Target Slot

error-message.

Generic Reader: invalid-schema-json-pointer (condition)
Package

cl-jschema.

Methods
Reader Method: invalid-schema-json-pointer ((condition invalid-schema))
Source

parse.lisp.

Target Slot

json-pointer.

Generic Reader: unparsable-json-error (condition)
Package

cl-jschema.

Methods
Reader Method: unparsable-json-error ((condition unparsable-json))
Source

parse.lisp.

Target Slot

json-error.

Generic Function: validate (json-schema value &key ignore-unresolvable-refs)
Package

cl-jschema.

Methods
Method: validate ((json-schema json-schema) value &key ignore-unresolvable-refs)

Validate VALUE with JSON-SCHEMA.

Return T if valid or throw an ’INVALID-JSON condition if not.

If IGNORE-UNRESOLVABLE-REFS is NIL, then when we don’t find a JSON Schema with $ref, the value being validated will also be considered invalid. Set the keyarg to non-NIL to avoid these errors.

Source

validate.lisp.


6.1.3 Standalone methods

Method: initialize-instance :after ((array-schema json-array-schema) &key)
Source

json-schema.lisp.

Method: initialize-instance :after ((object-schema json-object-schema) &key)
Source

json-schema.lisp.

Method: print-object ((schema json-schema) stream)
Source

json-schema.lisp.

Method: print-object ((schema json-logical-schema) stream)
Source

json-schema.lisp.


6.1.4 Conditions

Condition: invalid-json
Package

cl-jschema.

Source

validate.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: errors
Initform

(quote nil)

Readers

invalid-json-errors.

Writers

(setf invalid-json-errors).

Condition: invalid-json-value
Package

cl-jschema.

Source

validate.lisp.

Direct superclasses

error.

Direct subclasses

unresolvable-ref.

Direct methods
Direct slots
Slot: error-message
Initargs

:error-message

Readers

invalid-json-value-error-message.

Writers

This slot is read-only.

Slot: json-pointer
Initargs

:json-pointer

Readers

invalid-json-value-json-pointer.

Writers

This slot is read-only.

Condition: invalid-schema
Package

cl-jschema.

Source

parse.lisp.

Direct superclasses

error.

Direct subclasses
Direct methods
Direct slots
Slot: error-message
Initargs

:error-message

Readers

invalid-schema-error-message.

Writers

This slot is read-only.

Slot: base-uri
Initargs

:base-uri

Readers

invalid-schema-base-uri.

Writers

This slot is read-only.

Slot: json-pointer
Initargs

:json-pointer

Readers

invalid-schema-json-pointer.

Writers

This slot is read-only.

Condition: not-implemented
Package

cl-jschema.

Source

parse.lisp.

Direct superclasses

invalid-schema.

Condition: unparsable-json
Package

cl-jschema.

Source

parse.lisp.

Direct superclasses

invalid-schema.

Direct methods

unparsable-json-error.

Direct slots
Slot: json-error
Initargs

:json-error

Readers

unparsable-json-error.

Writers

This slot is read-only.


6.1.5 Classes

Class: json-schema
Package

cl-jschema.

Source

json-schema.lisp.

Direct methods
Direct slots
Slot: base-uri

NIL or an instance of ’PURI:URI. Refers to the base
URI of the JSON Schema (see official JSON Schema documentation).

Initargs

:base-uri

Readers

base-uri.

Writers

This slot is read-only.

Slot: schema

The JSON Schema dialect (see official JSON Schema documentation).

Initform

cl-jschema::*$schema*

Initargs

:schema

Readers

schema.

Writers

This slot is read-only.

Slot: id

NIL or the value of ’$id’ for this JSON Schema

Initargs

:id

Readers

id.

Writers

This slot is read-only.

Slot: anchor

NIL or the value of ’$anchor’ for this JSON Schema

Initargs

:anchor

Readers

anchor.

Writers

This slot is read-only.

Slot: ref

NIL or the value of ’$ref’ for this JSON Schema

Initargs

:ref

Readers

ref.

Writers

This slot is read-only.

Slot: defs

NIL or a hash-table of keys to instances of ’JSON-SCHEMA.

Initargs

:defs

Readers

defs.

Writers

This slot is read-only.

Slot: schema-spec

The actual spec to validate values against. Can
be T, NIL or a ’JSON-SCHEMA-SPEC.

Initargs

:schema-spec

Readers

schema-spec.

Writers

This slot is read-only.

Slot: self-registry

A hash-table of JSON Pointers to ’JSON-SCHEMA
objects. This corresponds to a map of available JSON Schemas within the root JSON Schema.

Initargs

:self-registry

Readers

self-registry.

Writers

This slot is read-only.


6.2 Internals


6.2.1 Special variables

Special Variable: *$schema*

The default value for $schema (and currently the only one supported).

Package

cl-jschema.

Source

json-schema.lisp.

Special Variable: *annotation-keywords*

List of keywords that are considered just annotations, according to the JSON Schema documentation.

Package

cl-jschema.

Source

keywords.lisp.

Special Variable: *base-uri*
Package

cl-jschema.

Source

parse.lisp.

Special Variable: *conditional-keywords*
Package

cl-jschema.

Source

keywords.lisp.

Special Variable: *evaluated-properties-map*
Package

cl-jschema.

Source

validate.lisp.

Special Variable: *ignore-unresolvable-refs*
Package

cl-jschema.

Source

validate.lisp.

Special Variable: *inside-call-with-valid-json-p*

Helper variable for knowing if we’re inside a usage of WITH-VALID-JSON-P.

Package

cl-jschema.

Source

validate.lisp.

Special Variable: *json-pointer-escape-map*

Map of characters to their respective escaped versions according to the JSON Pointer RFC.

Package

cl-jschema.

Source

utils.lisp.

Special Variable: *keyword-specs*

Map of allowed keywords in the JSON Schema to their Lisp type.

Package

cl-jschema.

Source

keywords.lisp.

Special Variable: *logical-keywords*
Package

cl-jschema.

Source

keywords.lisp.

Special Variable: *registry*

Map of URI-reference strings to ’JSON-SCHEMA objects

Package

cl-jschema.

Source

registry.lisp.

Special Variable: *self-registry*
Package

cl-jschema.

Source

parse.lisp.

Special Variable: *tracked-json-pointer*
Package

cl-jschema.

Source

utils.lisp.

Special Variable: *type-error-format-strings*

Map of Lisp types to format strings, which should expect the keyword as a parameter. These are the validation error messages returned when validating a JSON Schema.

Package

cl-jschema.

Source

keywords.lisp.

Special Variable: *type-keywords*

The list of allowed JSON Schema keywords for defining a valid value.

Package

cl-jschema.

Source

keywords.lisp.

Special Variable: *type-specs*

Map of allowed "type" values to the Lisp type that the JSON being validated must satisfy and JSON Schema keywords which map to the type.

Package

cl-jschema.

Source

keywords.lisp.

Special Variable: *validation-error-messages*

A map of JSON Schema keywords (well, not all are real keywords, check the actual map) to format strings. These are the validation error messages returned when validating a value with a JSON Schema.

Package

cl-jschema.

Source

keywords.lisp.


6.2.2 Macros

Macro: with-tracked-json-pointer (key-or-index &body body)
Package

cl-jschema.

Source

utils.lisp.

Macro: with-tracked-property (json-object property &body body)

Track PROPERTY as having been evaluated for JSON-OBJECT. Also tracks if PROPERTY is somehow invalid.

Package

cl-jschema.

Source

validate.lisp.

Macro: with-valid-json-p (&body body)

Make BODY return T if no errors were triggered or return NIL if a condition of type ’INVALID-JSON-VALUE was triggered.

Any ’INVALID-JSON-VALUE thrown by BODY is not propagated upwards.

Package

cl-jschema.

Source

validate.lisp.


6.2.3 Ordinary functions

Function: %raise-invalid-schema (condition-type format-control format-arguments)
Package

cl-jschema.

Source

parse.lisp.

Function: add-to-type-properites (keyword value type-properties)
Package

cl-jschema.

Source

json-schema.lisp.

Function: anchor-like-p (value)

Anchors must start with a letter followed by any number of letters, digits, -, _, :, or .

Package

cl-jschema.

Source

types.lisp.

Function: array-of-hash-tables-p (array)
Package

cl-jschema.

Source

types.lisp.

Function: array-of-schema-likes-p (array)
Package

cl-jschema.

Source

types.lisp.

Function: array-of-strings-p (array)
Package

cl-jschema.

Source

types.lisp.

Function: array-of-type-p (array type)
Package

cl-jschema.

Source

types.lisp.

Function: call-with-tracked-json-pointer (key-or-index body-fn)
Package

cl-jschema.

Source

utils.lisp.

Function: call-with-tracked-property (json-object property body-fn)
Package

cl-jschema.

Source

validate.lisp.

Function: call-with-valid-json-p (body-fn)
Package

cl-jschema.

Source

validate.lisp.

Function: check-additional-properties (object-schema json-object)

Check if JSON-OBJECT fulfills the ’additionalProperties’ JSON Schema in OBJECT-SCHEMA.

Package

cl-jschema.

Source

validate.lisp.

Function: check-colliding-type-keywords (type-properties)

Check if any of the keywords in TYPE-PROPERTIES refer to different types of JSON values.

Package

cl-jschema.

Source

parse.lisp.

Function: check-condition-schemas (condition-schemas value)

Check if VALUE fulfills the conditional JSON Schemas, if there’s an ’if’ JSON Schema.

Package

cl-jschema.

Source

validate.lisp.

Function: check-contains (array-schema json-array)

Check if JSON-ARRAY fulfills the ’contains’ JSON Schema in ARRAY-SCHEMA.

The values of ’minContains’ and ’maxContains’ are also respected.

Package

cl-jschema.

Source

validate.lisp.

Function: check-items (array-schema json-array)

Check if JSON-ARRAY fulfills the ’items’ JSON Schema in ARRAY-SCHEMA.

If ’prefixItems’ was specified, then we only check items not covered by it.

Package

cl-jschema.

Source

validate.lisp.

Function: check-keyword-value-type (keyword value)

Check if VALUE fulfills KEYWORD’s Lisp type. Return T if so.

Package

cl-jschema.

Source

parse.lisp.

Function: check-logical-schemas (logical-schemas value)
Package

cl-jschema.

Source

validate.lisp.

Function: check-ref-to-ref (json-schema)

Check if JSON-SCHEMA refers to another JSON-SCHEMA using $ref.

This is explicitly disallowed, according to the official JSON Schema documentation.

Package

cl-jschema.

Source

parse.lisp.

Function: check-schema (json-schema value)

Check if VALUE fulfills the JSON Schema.

Package

cl-jschema.

Source

validate.lisp.

Function: check-schema-ref (json-schema value)

Check if VALUE fulfills the JSON Schema referenced by $ref, if any.

Package

cl-jschema.

Source

validate.lisp.

Function: check-schema-spec (schema-spec value)

Check if VALUE fulfills the actual JSON Schema spec.

Package

cl-jschema.

Source

validate.lisp.

Function: check-type-value (value)

Check if the value for ’type’ is allowed.

Package

cl-jschema.

Source

parse.lisp.

Function: check-unevaluated-properties (object-schema json-object)

Check if JSON-OBJECT fulfills the ’unevaluatedProperties’ JSON Schema in OBJECT-SCHEMA.

Package

cl-jschema.

Source

validate.lisp.

Function: copy-evaluated-properties-map ()
Package

cl-jschema.

Source

validate.lisp.

Function: copy-type-spec (instance)
Package

cl-jschema.

Source

keywords.lisp.

Function: hash-table-of-array-of-strings-p (hash-table)
Package

cl-jschema.

Source

types.lisp.

Function: hash-table-of-schema-likes-p (hash-table)
Package

cl-jschema.

Source

types.lisp.

Function: hash-table-of-type-p (hash-table type)

Return T if all of the values in HASH-TABLE are of type TYPE.

Package

cl-jschema.

Source

types.lisp.

Function: integer-like-p (value)
Package

cl-jschema.

Source

types.lisp.

Function: json-false-p (value)

Is VALUE a JSON false value as parsed by JZON.

Package

cl-jschema.

Source

utils.lisp.

Function: json-false-schema ()
Package

cl-jschema.

Source

json-schema.lisp.

Function: json-false-schema-p (json-schema)
Package

cl-jschema.

Source

types.lisp.

Function: json-null-p (value)

Is VALUE a JSON null value as parsed by JZON.

Package

cl-jschema.

Source

utils.lisp.

Function: json-true-p (value)

Is VALUE a JSON true value as parsed by JZON.

Package

cl-jschema.

Source

utils.lisp.

Function: json-true-schema ()
Package

cl-jschema.

Source

json-schema.lisp.

Function: json-true-schema-p (json-schema)
Package

cl-jschema.

Source

types.lisp.

Function: just-once (predicate &rest sequences)

Return T if PREDICATE is non-NIL only once in SEQUENCES.

Package

cl-jschema.

Source

utils.lisp.

Function: keyword-type (keyword)

Return the expected Lisp type for JSON Schema KEYWORD.

Package

cl-jschema.

Source

keywords.lisp.

Function: keyword-validation-format-string (keyword)

Return the format string for invalid values for the JSON Schema KEYWORD.

Package

cl-jschema.

Source

keywords.lisp.

Function: make-annotations (json-object)
Package

cl-jschema.

Source

parse.lisp.

Function: make-condition-schemas (json-object)
Package

cl-jschema.

Source

parse.lisp.

Function: make-const-schema (json-object)
Package

cl-jschema.

Source

parse.lisp.

Function: make-enum-schema (json-object)
Package

cl-jschema.

Source

parse.lisp.

Function: make-evaluated-properties-map ()
Package

cl-jschema.

Source

validate.lisp.

Function: make-json-schema (json)
Package

cl-jschema.

Source

parse.lisp.

Function: make-logical-schemas (json-object)
Package

cl-jschema.

Source

parse.lisp.

Function: make-metadata (json-object)
Package

cl-jschema.

Source

parse.lisp.

Function: make-schema-spec (json)
Package

cl-jschema.

Source

parse.lisp.

Function: make-type-schema (json-object)
Package

cl-jschema.

Source

parse.lisp.

Function: make-type-spec (name lisp-type keywords)
Package

cl-jschema.

Source

keywords.lisp.

Function: maparray (function array &key start)
Package

cl-jschema.

Source

utils.lisp.

Function: non-empty-array-p (array)
Package

cl-jschema.

Source

types.lisp.

Function: non-negative-number-p (value)
Package

cl-jschema.

Source

types.lisp.

Function: parse-array-of-json-schemas (json-array)
Package

cl-jschema.

Source

parse.lisp.

Function: parse-keyword-value (keyword value json-object)

Validate and parse KEYWORD’s VALUE based on it’s type.

If successful, also remove the KEYWORD from the JSON-OBJECT.

Package

cl-jschema.

Source

parse.lisp.

Function: parse-object-of-arrays (json-object)
Package

cl-jschema.

Source

parse.lisp.

Function: parse-object-of-json-schemas (json-object)
Package

cl-jschema.

Source

parse.lisp.

Function: parse-pattern-properties (json-object)

Parse ’patternProperties’. In this case, the keywords are regexs and the values of JSON Schemas.

Package

cl-jschema.

Source

parse.lisp.

Function: parse-regex (string)
Package

cl-jschema.

Source

parse.lisp.

Function: positive-number-p (value)
Package

cl-jschema.

Source

types.lisp.

Function: raise-invalid-json-value (keyword &optional value)

Raise an ’INVALID-JSON-VALUE condition.

Also create an restart named ’CONTINUE-VALIDATING.

Package

cl-jschema.

Source

validate.lisp.

Function: raise-invalid-schema (format-control &rest format-arguments)
Package

cl-jschema.

Source

parse.lisp.

Function: raise-not-implemented (format-control &rest format-arguments)
Package

cl-jschema.

Source

parse.lisp.

Function: raise-unparsable-json (json-error)
Package

cl-jschema.

Source

parse.lisp.

Function: raise-unresolvable-ref (ref)

Raise an ’UNRESOLVABLE-REF condition.

Also create an restart named ’CONTINUE-VALIDATING.

Package

cl-jschema.

Source

validate.lisp.

Function: register-schema (id json-schema)

Store JSON-SCHEMA in the registry with id ID.

Package

cl-jschema.

Source

registry.lisp.

Function: register-schema-resource (json-schema)

Register JSON-SCHEMA as a Schema Resource by resolving $id against the base URI.

Package

cl-jschema.

Source

parse.lisp.

Function: register-self (json-schema)

Register the current JSON Pointer in the self registry.

Additionally register $anchor or $defs.

Package

cl-jschema.

Source

parse.lisp.

Function: some-checking-all (predicate &rest sequences)

Return T if PREDICATE is non-NIL at least once in SEQUENCES, but without short circuiting.

Package

cl-jschema.

Source

utils.lisp.

Function: track-all-properties-as-valid (json-object)
Package

cl-jschema.

Source

validate.lisp.

Function: track-invalid-property (property json-object)
Package

cl-jschema.

Source

validate.lisp.

Function: track-valid-property (property json-object)
Package

cl-jschema.

Source

validate.lisp.

Function: tracked-evaluated-properties (json-object)
Package

cl-jschema.

Source

validate.lisp.

Function: tracked-invalid-properties (json-object)
Package

cl-jschema.

Source

validate.lisp.

Function: tracked-json-pointer ()
Package

cl-jschema.

Source

utils.lisp.

Function: tracked-properties (json-object)
Package

cl-jschema.

Source

validate.lisp.

Function: tracked-valid-properties (json-object)
Package

cl-jschema.

Source

validate.lisp.

Function: type-error-format-string (type)

Return the format string for invalid values for the Lisp TYPE.

Package

cl-jschema.

Source

keywords.lisp.

Function: type-for-keyword (keyword)

Return the Lisp type for JSON Schema KEYWORD.

Package

cl-jschema.

Source

keywords.lisp.

Function: type-spec (type)

Return the TYPE-SPEC for JSON Schema keyword TYPE.

Package

cl-jschema.

Source

keywords.lisp.

Reader: type-spec-keywords (instance)
Writer: (setf type-spec-keywords) (instance)
Package

cl-jschema.

Source

keywords.lisp.

Target Slot

keywords.

Reader: type-spec-lisp-type (instance)
Writer: (setf type-spec-lisp-type) (instance)
Package

cl-jschema.

Source

keywords.lisp.

Target Slot

lisp-type.

Reader: type-spec-name (instance)
Writer: (setf type-spec-name) (instance)
Package

cl-jschema.

Source

keywords.lisp.

Target Slot

name.

Function: type-spec-p (object)
Package

cl-jschema.

Source

keywords.lisp.

Function: unescape-json-pointer (json-pointer)

Return the unescaped JSON Pointer of JSON-POINTER.

Package

cl-jschema.

Source

utils.lisp.

Function: update-evaluated-properties-map-with-map (evaluated-properties-map json-object)
Package

cl-jschema.

Source

validate.lisp.

Function: uri-reference-p (value)
Package

cl-jschema.

Source

types.lisp.

Function: uri-reference-without-fragment-p (value)
Package

cl-jschema.

Source

types.lisp.


6.2.4 Generic functions

Generic Reader: additional-properties (object)
Package

cl-jschema.

Methods
Reader Method: additional-properties ((json-object-schema json-object-schema))

NIL or an instance of a ’JSON-SCHEMA.
Refers to the value of the JSON Schema keyword ’additionalProperties’, if any.

Source

json-schema.lisp.

Target Slot

additional-properties.

Generic Reader: anchor (object)
Package

cl-jschema.

Methods
Reader Method: anchor ((json-schema json-schema))

NIL or the value of ’$anchor’ for this JSON Schema

Source

json-schema.lisp.

Target Slot

anchor.

Generic Reader: annotations (object)
Package

cl-jschema.

Methods
Reader Method: annotations ((json-schema-spec json-schema-spec))

NIL or A hash-table of JSON Schema keywords
mapped to values as parsed by JZON. These keywords are described as merely for annotation in the JSON Schema documentation.

Source

json-schema.lisp.

Target Slot

annotations.

Generic Reader: base-uri (object)
Package

cl-jschema.

Methods
Reader Method: base-uri ((json-schema json-schema))

NIL or an instance of ’PURI:URI. Refers to the base
URI of the JSON Schema (see official JSON Schema documentation).

Source

json-schema.lisp.

Target Slot

base-uri.

Generic Function: check-logical-schema (logical-schema value)
Package

cl-jschema.

Methods
Method: check-logical-schema ((logical-schema json-logical-schema) value)

Check if VALUE fulfills LOGICAL-SCHEMA.

Source

validate.lisp.

Generic Function: check-type-property (keyword type value)
Package

cl-jschema.

Methods
Method: check-type-property ((keyword (eql :|uniqueitems|)) unique-items value)

Check VALUE by ’uniqueItems’, if UNIQUE-ITEMS is ’true’

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|maxitems|)) max-items value)

Check VALUE by ’maxItems’ for MAX-ITEMS.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|minitems|)) min-items value)

Check VALUE by ’minItems’ for MIN-ITEMS.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|prefixitems|)) prefix-items value)

Check VALUE by ’prefixItems’ for JSON Schemas in PREFIX-ITEMS.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|maxproperties|)) max-properties value)

Check VALUE by ’maxProperties’ for MAX-PROPERTIES.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|minproperties|)) min-properties value)

Check VALUE by ’minProperties’ for MIN-PROPERTIES.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|dependentschemas|)) dependent-schemas value)

Check VALUE by ’dependentSchemas’ for JSON Schemas in DEPENDENT-SCHEMAS.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|dependentrequired|)) dependent-required value)

Check VALUE by ’dependentRequired’ for DEPENDENT-REQUIRED.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|required|)) required value)

Check VALUE by ’required’ for keys in REQUIRED.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|patternproperties|)) pattern-properties value)

Check VALUE by ’patternProperties’ for regexs and JSON Schemas in PATTERN-PROPERTIES.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|propertynames|)) property-names value)

Check VALUE by ’propertyNames’ for JSON Schemas in PROPERTY-NAMES.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|properties|)) properties value)

Check VALUE by ’properties’ for JSON Schemas in PROPERTIES.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|exclusivemaximum|)) exclusive-maximum value)

Check VALUE by ’exclusiveMaximum’ by EXCLUSIVE-MAXIMUM.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|maximum|)) maximum value)

Check VALUE by ’maximum’ by MAXIMUM.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|exclusiveminimum|)) exclusive-minimum value)

Check VALUE by ’exclusiveMinimum’ by EXCLUSIVE-MINIMUM.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|minimum|)) minimum value)

Check VALUE by ’minimum’ by MINIMUM.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|multipleof|)) multiple-of value)

Check VALUE by ’multipleOf’ for MULTIPLE-OF.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|contentencoding|)) content-encoding value)

[NOT IMPLEMENTED] Check VALUE by ’contentEncoding’ for CONTENT-ENCODING.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|contentmediatype|)) content-media-type value)

[NOT IMPLEMENTED] Check VALUE by ’contentMediaType’ for CONTENT-MEDIA-TYPE.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|format|)) format value)

[NOT IMPLEMENTED] Check VALUE by ’format’ for FORMAT.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|pattern|)) pattern value)

Check VALUE by ’pattern’ for PATTERN.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|maxlength|)) max-length value)

Check VALUE by ’maxLength’ for MAX-LENGTH.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|minlength|)) min-length value)

Check VALUE by ’minLength’ for MIN-LENGTH.

Source

validate.lisp.

Method: check-type-property ((keyword (eql :|type|)) type value)

Check VALUE by ’type’ for TYPE.

Source

validate.lisp.

Generic Function: check-type-schema (const-schema value)
Package

cl-jschema.

Methods
Method: check-type-schema :after ((array-schema json-array-schema) value)

Check if VALUE fulfills the additional array-type only validations.

Source

validate.lisp.

Method: check-type-schema :after ((object-schema json-object-schema) value)

Check if VALUE fulfills the additional object-type only validations.

Source

validate.lisp.

Method: check-type-schema ((type-schema json-type-schema) value)

Check if VALUE fulfills TYPE-SCHEMA by validating VALUE against all of the TYPE-SCHEMA properties.

Source

validate.lisp.

Method: check-type-schema ((enum-schema enum-schema) value)

Check if VALUE is any item in ENUM-SCHEMA.

Source

validate.lisp.

Method: check-type-schema ((const-schema const-schema) value)

Check if VALUE is the item from CONST-SCHEMA.

Source

validate.lisp.

Generic Reader: condition-schemas (object)
Package

cl-jschema.

Methods
Reader Method: condition-schemas ((json-schema-spec json-schema-spec))

NIL or a hash-table of JSON Schema keywords
mapped to instances of ’JSON-SCHEMA. For ’If-Then-Else’ validation.

Source

json-schema.lisp.

Target Slot

condition-schemas.

Generic Reader: const (object)
Package

cl-jschema.

Methods
Reader Method: const ((const-schema const-schema))

The only valid JSON value.

Source

json-schema.lisp.

Target Slot

const.

Generic Reader: contains (object)
Package

cl-jschema.

Methods
Reader Method: contains ((json-array-schema json-array-schema))

NIL or an instance of a ’JSON-SCHEMA. Refers to the
value of the JSON Schema keyword ’contains’, if specified.

Source

json-schema.lisp.

Target Slot

contains.

Generic Reader: defs (object)
Package

cl-jschema.

Methods
Reader Method: defs ((json-schema json-schema))

NIL or a hash-table of keys to instances of ’JSON-SCHEMA.

Source

json-schema.lisp.

Target Slot

defs.

Generic Function: get-inner-schema (schema json-pointer)
Package

cl-jschema.

Methods
Method: get-inner-schema ((schema json-schema) json-pointer)
Source

json-schema.lisp.

Generic Function: get-schema-from-ref (schema)
Package

cl-jschema.

Methods
Method: get-schema-from-ref ((schema json-schema))

Return a ’JSON-SCHEMA by resolving $ref from JSON-SCHEMA. Can return NIL.

Source

json-schema.lisp.

Generic Function: get-type-property (type-schema keyword)
Package

cl-jschema.

Methods
Method: get-type-property ((type-schema json-type-schema) keyword)
Source

json-schema.lisp.

Generic Reader: id (object)
Package

cl-jschema.

Methods
Reader Method: id ((json-schema json-schema))

NIL or the value of ’$id’ for this JSON Schema

Source

json-schema.lisp.

Target Slot

id.

Generic Reader: items (object)
Package

cl-jschema.

Methods
Reader Method: items ((json-array-schema json-array-schema))

An instance of a ’JSON-SCHEMA. Refers to the value of the JSON Schema keyword ’items’.

Source

json-schema.lisp.

Target Slot

items.

Reader Method: items ((enum-schema enum-schema))

The list of valid JSON values.

Source

json-schema.lisp.

Target Slot

items.

Generic Function: json-equal (json1 json2)
Package

cl-jschema.

Methods
Method: json-equal ((json1 array) (json2 array))
Source

utils.lisp.

Method: json-equal ((json1 hash-table) (json2 hash-table))
Source

utils.lisp.

Method: json-equal ((json1 number) (json2 number))
Source

utils.lisp.

Method: json-equal (json1 json2)
Source

utils.lisp.

Generic Reader: key (object)
Package

cl-jschema.

Methods
Reader Method: key ((json-schema-type-property json-schema-type-property))

The original keyword from the JSON Schema.

Source

json-schema.lisp.

Target Slot

key.

Generic Reader: logical-schemas (object)
Package

cl-jschema.

Methods
Reader Method: logical-schemas ((json-schema-spec json-schema-spec))

A list of instances of ’JSON-LOGICAL-SCHEMA.
For validating logical operators.

Source

json-schema.lisp.

Target Slot

logical-schemas.

Generic Reader: max-contains (object)
Package

cl-jschema.

Methods
Reader Method: max-contains ((json-array-schema json-array-schema))

NIL or an integer. Refers to the value of the
JSON Schema keyword ’maxContains’, if specified.

Source

json-schema.lisp.

Target Slot

max-contains.

Generic Reader: metadata (object)
Package

cl-jschema.

Methods
Reader Method: metadata ((json-schema-spec json-schema-spec))

NIL or a hash-table of keys to values as parsed by
JZON. Here goes anything that’s not part of the JSON Schema spec.

Source

json-schema.lisp.

Target Slot

metadata.

Generic Reader: min-contains (object)
Package

cl-jschema.

Methods
Reader Method: min-contains ((json-array-schema json-array-schema))

NIL or an integer. Refers to the value of the
JSON Schema keyword ’minContains’, if specified.

Source

json-schema.lisp.

Target Slot

min-contains.

Generic Reader: operator (object)
Package

cl-jschema.

Methods
Reader Method: operator ((json-logical-schema json-logical-schema))

The original keyword from the JSON Schema.

Source

json-schema.lisp.

Target Slot

operator.

Generic Reader: ref (object)
Package

cl-jschema.

Methods
Reader Method: ref ((json-schema json-schema))

NIL or the value of ’$ref’ for this JSON Schema

Source

json-schema.lisp.

Target Slot

ref.

Generic Reader: regex (object)
Package

cl-jschema.

Methods
Reader Method: regex ((regex-box regex-box))

A CL-PPCRE scanner.

Source

json-schema.lisp.

Target Slot

regex.

Generic Reader: regex-string (object)
Package

cl-jschema.

Methods
Reader Method: regex-string ((regex-box regex-box))

The original regex from the JSON Schema.

Source

json-schema.lisp.

Target Slot

regex-string.

Generic Function: sanitize-schema-object (type-schema input-spec)
Package

cl-jschema.

Methods
Method: sanitize-schema-object ((type-schema json-type-schema) input-spec)

Remove keywords from the type-properties and store them in the object’s slots, based on the INPUT-SPEC.

Source

json-schema.lisp.

Generic Reader: schema (object)
Package

cl-jschema.

Methods
Reader Method: schema ((json-schema json-schema))

The JSON Schema dialect (see official JSON Schema documentation).

Source

json-schema.lisp.

Target Slot

schema.

Generic Reader: schema-spec (object)
Package

cl-jschema.

Methods
Reader Method: schema-spec ((json-schema json-schema))

The actual spec to validate values against. Can
be T, NIL or a ’JSON-SCHEMA-SPEC.

Source

json-schema.lisp.

Target Slot

schema-spec.

Generic Reader: schemas (object)
Package

cl-jschema.

Methods
Reader Method: schemas ((json-logical-schema json-logical-schema))

A list of instances of ’JSON-SCHEMA.

Source

json-schema.lisp.

Target Slot

schemas.

Generic Reader: self-registry (object)
Package

cl-jschema.

Methods
Reader Method: self-registry ((json-schema json-schema))

A hash-table of JSON Pointers to ’JSON-SCHEMA
objects. This corresponds to a map of available JSON Schemas within the root JSON Schema.

Source

json-schema.lisp.

Target Slot

self-registry.

Generic Function: track-invalid-json-error (self error)
Package

cl-jschema.

Methods
Method: track-invalid-json-error ((self invalid-json) error)
Source

validate.lisp.

Generic Reader: type-properties (object)
Package

cl-jschema.

Methods
Reader Method: type-properties ((json-type-schema json-type-schema))

A hash-table mapping JSON Schema keywords
(converted to CL keywords) to instances of ’JSON-SCHEMA-TYPE-PROPERTY.

Source

json-schema.lisp.

Target Slot

type-properties.

Generic Reader: type-schema (object)
Package

cl-jschema.

Methods
Reader Method: type-schema ((json-schema-spec json-schema-spec))

NIL or an instance of type ’JSON-TYPE-SCHEMA,
’ENUM-SCHEMA or ’CONST-SCHEMA. For validating incoming values.

Source

json-schema.lisp.

Target Slot

type-schema.

Generic Reader: unevaluated-properties (object)
Package

cl-jschema.

Methods
Reader Method: unevaluated-properties ((json-object-schema json-object-schema))

NIL or an instance of a ’JSON-SCHEMA.
Refers to the value of the JSON Schema keyword ’unevaluatedProperties’, if any.

Source

json-schema.lisp.

Target Slot

unevaluated-properties.

Generic Reader: value (object)
Package

cl-jschema.

Methods
Reader Method: value ((json-schema-type-property json-schema-type-property))

The parsed JSON value from the JSON Schema.

Source

json-schema.lisp.

Target Slot

value.


6.2.5 Conditions

Condition: unresolvable-ref
Package

cl-jschema.

Source

validate.lisp.

Direct superclasses

invalid-json-value.


6.2.6 Structures

Structure: type-spec
Package

cl-jschema.

Source

keywords.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: name
Readers

type-spec-name.

Writers

(setf type-spec-name).

Slot: lisp-type
Readers

type-spec-lisp-type.

Writers

(setf type-spec-lisp-type).

Slot: keywords
Readers

type-spec-keywords.

Writers

(setf type-spec-keywords).


6.2.7 Classes

Class: const-schema

A class to represent a const JSON Schema.

Package

cl-jschema.

Source

json-schema.lisp.

Direct methods
Direct slots
Slot: const

The only valid JSON value.

Initargs

:const

Readers

const.

Writers

This slot is read-only.

Class: enum-schema

A class to represent an enum JSON Schema.

Package

cl-jschema.

Source

json-schema.lisp.

Direct methods
Direct slots
Slot: items

The list of valid JSON values.

Initargs

:items

Readers

items.

Writers

This slot is read-only.

Class: json-array-schema

A class to represent a JSON Schema for validating a JSON array.

Package

cl-jschema.

Source

json-schema.lisp.

Direct superclasses

json-type-schema.

Direct methods
Direct slots
Slot: items

An instance of a ’JSON-SCHEMA. Refers to the value of the JSON Schema keyword ’items’.

Initform

(cl-jschema::json-true-schema)

Readers

items.

Writers

This slot is read-only.

Slot: contains

NIL or an instance of a ’JSON-SCHEMA. Refers to the
value of the JSON Schema keyword ’contains’, if specified.

Readers

contains.

Writers

This slot is read-only.

Slot: min-contains

NIL or an integer. Refers to the value of the
JSON Schema keyword ’minContains’, if specified.

Readers

min-contains.

Writers

This slot is read-only.

Slot: max-contains

NIL or an integer. Refers to the value of the
JSON Schema keyword ’maxContains’, if specified.

Readers

max-contains.

Writers

This slot is read-only.

Class: json-basic-type-schema

A class to represent a JSON Schema for validating ’basic’ values (i.e. not JSON objects nor arrays).

Package

cl-jschema.

Source

json-schema.lisp.

Direct superclasses

json-type-schema.

Class: json-logical-schema

A class to represent a combination of JSON Schemas with a logical operator.

Package

cl-jschema.

Source

json-schema.lisp.

Direct methods
Direct slots
Slot: operator

The original keyword from the JSON Schema.

Initargs

:operator

Readers

operator.

Writers

This slot is read-only.

Slot: schemas

A list of instances of ’JSON-SCHEMA.

Initargs

:schemas

Readers

schemas.

Writers

This slot is read-only.

Class: json-object-schema

A class to represent a JSON Schema for validating a JSON object.

Package

cl-jschema.

Source

json-schema.lisp.

Direct superclasses

json-type-schema.

Direct methods
Direct slots
Slot: additional-properties

NIL or an instance of a ’JSON-SCHEMA.
Refers to the value of the JSON Schema keyword ’additionalProperties’, if any.

Readers

additional-properties.

Writers

This slot is read-only.

Slot: unevaluated-properties

NIL or an instance of a ’JSON-SCHEMA.
Refers to the value of the JSON Schema keyword ’unevaluatedProperties’, if any.

Readers

unevaluated-properties.

Writers

This slot is read-only.

Class: json-schema-spec
Package

cl-jschema.

Source

json-schema.lisp.

Direct methods
Direct slots
Slot: annotations

NIL or A hash-table of JSON Schema keywords
mapped to values as parsed by JZON. These keywords are described as merely for annotation in the JSON Schema documentation.

Initargs

:annotations

Readers

annotations.

Writers

This slot is read-only.

Slot: condition-schemas

NIL or a hash-table of JSON Schema keywords
mapped to instances of ’JSON-SCHEMA. For ’If-Then-Else’ validation.

Initargs

:condition-schemas

Readers

condition-schemas.

Writers

This slot is read-only.

Slot: logical-schemas

A list of instances of ’JSON-LOGICAL-SCHEMA.
For validating logical operators.

Initargs

:logical-schemas

Readers

logical-schemas.

Writers

This slot is read-only.

Slot: type-schema

NIL or an instance of type ’JSON-TYPE-SCHEMA,
’ENUM-SCHEMA or ’CONST-SCHEMA. For validating incoming values.

Initargs

:type-schema

Readers

type-schema.

Writers

This slot is read-only.

Slot: metadata

NIL or a hash-table of keys to values as parsed by
JZON. Here goes anything that’s not part of the JSON Schema spec.

Initargs

:metadata

Readers

metadata.

Writers

This slot is read-only.

Class: json-schema-type-property

A class to represent a property of a JSON Schema.

Package

cl-jschema.

Source

json-schema.lisp.

Direct methods
Direct slots
Slot: key

The original keyword from the JSON Schema.

Initargs

:key

Readers

key.

Writers

This slot is read-only.

Slot: value

The parsed JSON value from the JSON Schema.

Initargs

:value

Readers

value.

Writers

This slot is read-only.

Class: json-type-schema

A class to represent the core of a JSON Schema for validating a value.

Package

cl-jschema.

Source

json-schema.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: type-properties

A hash-table mapping JSON Schema keywords
(converted to CL keywords) to instances of ’JSON-SCHEMA-TYPE-PROPERTY.

Initargs

:type-properties

Readers

type-properties.

Writers

This slot is read-only.

Class: regex-box

A class to encapsulate a regex with it’s scanner.

Package

cl-jschema.

Source

json-schema.lisp.

Direct methods
Direct slots
Slot: regex-string

The original regex from the JSON Schema.

Initargs

:regex-string

Readers

regex-string.

Writers

This slot is read-only.

Slot: regex

A CL-PPCRE scanner.

Initargs

:regex

Readers

regex.

Writers

This slot is read-only.


6.2.8 Types

Type: anchor-like ()
Package

cl-jschema.

Source

types.lisp.

Type: array-of-hash-tables ()
Package

cl-jschema.

Source

types.lisp.

Type: array-of-strings ()
Package

cl-jschema.

Source

types.lisp.

Type: hash-table-of-array-of-strings ()
Package

cl-jschema.

Source

types.lisp.

Type: hash-table-of-schema-likes ()
Package

cl-jschema.

Source

types.lisp.

Type: integer-like ()
Package

cl-jschema.

Source

types.lisp.

Type: json-boolean ()
Package

cl-jschema.

Source

types.lisp.

Type: json-false ()
Package

cl-jschema.

Source

types.lisp.

Type: json-false-schema ()
Package

cl-jschema.

Source

types.lisp.

Type: json-null ()
Package

cl-jschema.

Source

types.lisp.

Type: json-true ()
Package

cl-jschema.

Source

types.lisp.

Type: json-true-schema ()
Package

cl-jschema.

Source

types.lisp.

Type: non-empty-array ()
Package

cl-jschema.

Source

types.lisp.

Type: non-empty-array-of-schema-likes ()
Package

cl-jschema.

Source

types.lisp.

Type: non-negative-number ()
Package

cl-jschema.

Source

types.lisp.

Type: positive-number ()
Package

cl-jschema.

Source

types.lisp.

Type: regex ()
Package

cl-jschema.

Source

types.lisp.

Type: schema-like ()
Package

cl-jschema.

Source

types.lisp.

Type: string-or-array-of-strings ()
Package

cl-jschema.

Source

types.lisp.

Type: uri-reference ()
Package

cl-jschema.

Source

types.lisp.

Type: uri-reference-without-fragment ()
Package

cl-jschema.

Source

types.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   B   C   D   F   G   H   I   J   K   L   M   N   O   P   R   S   T   U   V   W  
Index Entry  Section

%
%raise-invalid-schema: Private ordinary functions

(
(setf invalid-json-errors): Public generic functions
(setf invalid-json-errors): Public generic functions
(setf type-spec-keywords): Private ordinary functions
(setf type-spec-lisp-type): Private ordinary functions
(setf type-spec-name): Private ordinary functions

A
add-to-type-properites: Private ordinary functions
additional-properties: Private generic functions
additional-properties: Private generic functions
anchor: Private generic functions
anchor: Private generic functions
anchor-like-p: Private ordinary functions
annotations: Private generic functions
annotations: Private generic functions
array-of-hash-tables-p: Private ordinary functions
array-of-schema-likes-p: Private ordinary functions
array-of-strings-p: Private ordinary functions
array-of-type-p: Private ordinary functions

B
base-uri: Private generic functions
base-uri: Private generic functions

C
call-with-tracked-json-pointer: Private ordinary functions
call-with-tracked-property: Private ordinary functions
call-with-valid-json-p: Private ordinary functions
check-additional-properties: Private ordinary functions
check-colliding-type-keywords: Private ordinary functions
check-condition-schemas: Private ordinary functions
check-contains: Private ordinary functions
check-items: Private ordinary functions
check-keyword-value-type: Private ordinary functions
check-logical-schema: Private generic functions
check-logical-schema: Private generic functions
check-logical-schemas: Private ordinary functions
check-ref-to-ref: Private ordinary functions
check-schema: Private ordinary functions
check-schema-ref: Private ordinary functions
check-schema-spec: Private ordinary functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-property: Private generic functions
check-type-schema: Private generic functions
check-type-schema: Private generic functions
check-type-schema: Private generic functions
check-type-schema: Private generic functions
check-type-schema: Private generic functions
check-type-schema: Private generic functions
check-type-value: Private ordinary functions
check-unevaluated-properties: Private ordinary functions
clear-registry: Public ordinary functions
condition-schemas: Private generic functions
condition-schemas: Private generic functions
const: Private generic functions
const: Private generic functions
contains: Private generic functions
contains: Private generic functions
copy-evaluated-properties-map: Private ordinary functions
copy-type-spec: Private ordinary functions

D
defs: Private generic functions
defs: Private generic functions

F
Function, %raise-invalid-schema: Private ordinary functions
Function, (setf type-spec-keywords): Private ordinary functions
Function, (setf type-spec-lisp-type): Private ordinary functions
Function, (setf type-spec-name): Private ordinary functions
Function, add-to-type-properites: Private ordinary functions
Function, anchor-like-p: Private ordinary functions
Function, array-of-hash-tables-p: Private ordinary functions
Function, array-of-schema-likes-p: Private ordinary functions
Function, array-of-strings-p: Private ordinary functions
Function, array-of-type-p: Private ordinary functions
Function, call-with-tracked-json-pointer: Private ordinary functions
Function, call-with-tracked-property: Private ordinary functions
Function, call-with-valid-json-p: Private ordinary functions
Function, check-additional-properties: Private ordinary functions
Function, check-colliding-type-keywords: Private ordinary functions
Function, check-condition-schemas: Private ordinary functions
Function, check-contains: Private ordinary functions
Function, check-items: Private ordinary functions
Function, check-keyword-value-type: Private ordinary functions
Function, check-logical-schemas: Private ordinary functions
Function, check-ref-to-ref: Private ordinary functions
Function, check-schema: Private ordinary functions
Function, check-schema-ref: Private ordinary functions
Function, check-schema-spec: Private ordinary functions
Function, check-type-value: Private ordinary functions
Function, check-unevaluated-properties: Private ordinary functions
Function, clear-registry: Public ordinary functions
Function, copy-evaluated-properties-map: Private ordinary functions
Function, copy-type-spec: Private ordinary functions
Function, hash-table-of-array-of-strings-p: Private ordinary functions
Function, hash-table-of-schema-likes-p: Private ordinary functions
Function, hash-table-of-type-p: Private ordinary functions
Function, integer-like-p: Private ordinary functions
Function, json-false-p: Private ordinary functions
Function, json-false-schema: Private ordinary functions
Function, json-false-schema-p: Private ordinary functions
Function, json-null-p: Private ordinary functions
Function, json-true-p: Private ordinary functions
Function, json-true-schema: Private ordinary functions
Function, json-true-schema-p: Private ordinary functions
Function, just-once: Private ordinary functions
Function, keyword-type: Private ordinary functions
Function, keyword-validation-format-string: Private ordinary functions
Function, make-annotations: Private ordinary functions
Function, make-condition-schemas: Private ordinary functions
Function, make-const-schema: Private ordinary functions
Function, make-enum-schema: Private ordinary functions
Function, make-evaluated-properties-map: Private ordinary functions
Function, make-json-schema: Private ordinary functions
Function, make-logical-schemas: Private ordinary functions
Function, make-metadata: Private ordinary functions
Function, make-schema-spec: Private ordinary functions
Function, make-type-schema: Private ordinary functions
Function, make-type-spec: Private ordinary functions
Function, maparray: Private ordinary functions
Function, non-empty-array-p: Private ordinary functions
Function, non-negative-number-p: Private ordinary functions
Function, parse: Public ordinary functions
Function, parse-array-of-json-schemas: Private ordinary functions
Function, parse-keyword-value: Private ordinary functions
Function, parse-object-of-arrays: Private ordinary functions
Function, parse-object-of-json-schemas: Private ordinary functions
Function, parse-pattern-properties: Private ordinary functions
Function, parse-regex: Private ordinary functions
Function, positive-number-p: Private ordinary functions
Function, raise-invalid-json-value: Private ordinary functions
Function, raise-invalid-schema: Private ordinary functions
Function, raise-not-implemented: Private ordinary functions
Function, raise-unparsable-json: Private ordinary functions
Function, raise-unresolvable-ref: Private ordinary functions
Function, register-schema: Private ordinary functions
Function, register-schema-resource: Private ordinary functions
Function, register-self: Private ordinary functions
Function, some-checking-all: Private ordinary functions
Function, track-all-properties-as-valid: Private ordinary functions
Function, track-invalid-property: Private ordinary functions
Function, track-valid-property: Private ordinary functions
Function, tracked-evaluated-properties: Private ordinary functions
Function, tracked-invalid-properties: Private ordinary functions
Function, tracked-json-pointer: Private ordinary functions
Function, tracked-properties: Private ordinary functions
Function, tracked-valid-properties: Private ordinary functions
Function, type-error-format-string: Private ordinary functions
Function, type-for-keyword: Private ordinary functions
Function, type-spec: Private ordinary functions
Function, type-spec-keywords: Private ordinary functions
Function, type-spec-lisp-type: Private ordinary functions
Function, type-spec-name: Private ordinary functions
Function, type-spec-p: Private ordinary functions
Function, unescape-json-pointer: Private ordinary functions
Function, update-evaluated-properties-map-with-map: Private ordinary functions
Function, uri-reference-p: Private ordinary functions
Function, uri-reference-without-fragment-p: Private ordinary functions

G
Generic Function, (setf invalid-json-errors): Public generic functions
Generic Function, additional-properties: Private generic functions
Generic Function, anchor: Private generic functions
Generic Function, annotations: Private generic functions
Generic Function, base-uri: Private generic functions
Generic Function, check-logical-schema: Private generic functions
Generic Function, check-type-property: Private generic functions
Generic Function, check-type-schema: Private generic functions
Generic Function, condition-schemas: Private generic functions
Generic Function, const: Private generic functions
Generic Function, contains: Private generic functions
Generic Function, defs: Private generic functions
Generic Function, get-inner-schema: Private generic functions
Generic Function, get-schema: Public generic functions
Generic Function, get-schema-from-ref: Private generic functions
Generic Function, get-type-property: Private generic functions
Generic Function, id: Private generic functions
Generic Function, invalid-json-errors: Public generic functions
Generic Function, invalid-json-value-error-message: Public generic functions
Generic Function, invalid-json-value-json-pointer: Public generic functions
Generic Function, invalid-schema-base-uri: Public generic functions
Generic Function, invalid-schema-error-message: Public generic functions
Generic Function, invalid-schema-json-pointer: Public generic functions
Generic Function, items: Private generic functions
Generic Function, json-equal: Private generic functions
Generic Function, key: Private generic functions
Generic Function, logical-schemas: Private generic functions
Generic Function, max-contains: Private generic functions
Generic Function, metadata: Private generic functions
Generic Function, min-contains: Private generic functions
Generic Function, operator: Private generic functions
Generic Function, ref: Private generic functions
Generic Function, regex: Private generic functions
Generic Function, regex-string: Private generic functions
Generic Function, sanitize-schema-object: Private generic functions
Generic Function, schema: Private generic functions
Generic Function, schema-spec: Private generic functions
Generic Function, schemas: Private generic functions
Generic Function, self-registry: Private generic functions
Generic Function, track-invalid-json-error: Private generic functions
Generic Function, type-properties: Private generic functions
Generic Function, type-schema: Private generic functions
Generic Function, unevaluated-properties: Private generic functions
Generic Function, unparsable-json-error: Public generic functions
Generic Function, validate: Public generic functions
Generic Function, value: Private generic functions
get-inner-schema: Private generic functions
get-inner-schema: Private generic functions
get-schema: Public generic functions
get-schema: Public generic functions
get-schema: Public generic functions
get-schema-from-ref: Private generic functions
get-schema-from-ref: Private generic functions
get-type-property: Private generic functions
get-type-property: Private generic functions

H
hash-table-of-array-of-strings-p: Private ordinary functions
hash-table-of-schema-likes-p: Private ordinary functions
hash-table-of-type-p: Private ordinary functions

I
id: Private generic functions
id: Private generic functions
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
integer-like-p: Private ordinary functions
invalid-json-errors: Public generic functions
invalid-json-errors: Public generic functions
invalid-json-value-error-message: Public generic functions
invalid-json-value-error-message: Public generic functions
invalid-json-value-json-pointer: Public generic functions
invalid-json-value-json-pointer: Public generic functions
invalid-schema-base-uri: Public generic functions
invalid-schema-base-uri: Public generic functions
invalid-schema-error-message: Public generic functions
invalid-schema-error-message: Public generic functions
invalid-schema-json-pointer: Public generic functions
invalid-schema-json-pointer: Public generic functions
items: Private generic functions
items: Private generic functions
items: Private generic functions

J
json-equal: Private generic functions
json-equal: Private generic functions
json-equal: Private generic functions
json-equal: Private generic functions
json-equal: Private generic functions
json-false-p: Private ordinary functions
json-false-schema: Private ordinary functions
json-false-schema-p: Private ordinary functions
json-null-p: Private ordinary functions
json-true-p: Private ordinary functions
json-true-schema: Private ordinary functions
json-true-schema-p: Private ordinary functions
just-once: Private ordinary functions

K
key: Private generic functions
key: Private generic functions
keyword-type: Private ordinary functions
keyword-validation-format-string: Private ordinary functions

L
logical-schemas: Private generic functions
logical-schemas: Private generic functions

M
Macro, with-tracked-json-pointer: Private macros
Macro, with-tracked-property: Private macros
Macro, with-valid-json-p: Private macros
make-annotations: Private ordinary functions
make-condition-schemas: Private ordinary functions
make-const-schema: Private ordinary functions
make-enum-schema: Private ordinary functions
make-evaluated-properties-map: Private ordinary functions
make-json-schema: Private ordinary functions
make-logical-schemas: Private ordinary functions
make-metadata: Private ordinary functions
make-schema-spec: Private ordinary functions
make-type-schema: Private ordinary functions
make-type-spec: Private ordinary functions
maparray: Private ordinary functions
max-contains: Private generic functions
max-contains: Private generic functions
metadata: Private generic functions
metadata: Private generic functions
Method, (setf invalid-json-errors): Public generic functions
Method, additional-properties: Private generic functions
Method, anchor: Private generic functions
Method, annotations: Private generic functions
Method, base-uri: Private generic functions
Method, check-logical-schema: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-property: Private generic functions
Method, check-type-schema: Private generic functions
Method, check-type-schema: Private generic functions
Method, check-type-schema: Private generic functions
Method, check-type-schema: Private generic functions
Method, check-type-schema: Private generic functions
Method, condition-schemas: Private generic functions
Method, const: Private generic functions
Method, contains: Private generic functions
Method, defs: Private generic functions
Method, get-inner-schema: Private generic functions
Method, get-schema: Public generic functions
Method, get-schema: Public generic functions
Method, get-schema-from-ref: Private generic functions
Method, get-type-property: Private generic functions
Method, id: Private generic functions
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, invalid-json-errors: Public generic functions
Method, invalid-json-value-error-message: Public generic functions
Method, invalid-json-value-json-pointer: Public generic functions
Method, invalid-schema-base-uri: Public generic functions
Method, invalid-schema-error-message: Public generic functions
Method, invalid-schema-json-pointer: Public generic functions
Method, items: Private generic functions
Method, items: Private generic functions
Method, json-equal: Private generic functions
Method, json-equal: Private generic functions
Method, json-equal: Private generic functions
Method, json-equal: Private generic functions
Method, key: Private generic functions
Method, logical-schemas: Private generic functions
Method, max-contains: Private generic functions
Method, metadata: Private generic functions
Method, min-contains: Private generic functions
Method, operator: Private generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, ref: Private generic functions
Method, regex: Private generic functions
Method, regex-string: Private generic functions
Method, sanitize-schema-object: Private generic functions
Method, schema: Private generic functions
Method, schema-spec: Private generic functions
Method, schemas: Private generic functions
Method, self-registry: Private generic functions
Method, track-invalid-json-error: Private generic functions
Method, type-properties: Private generic functions
Method, type-schema: Private generic functions
Method, unevaluated-properties: Private generic functions
Method, unparsable-json-error: Public generic functions
Method, validate: Public generic functions
Method, value: Private generic functions
min-contains: Private generic functions
min-contains: Private generic functions

N
non-empty-array-p: Private ordinary functions
non-negative-number-p: Private ordinary functions

O
operator: Private generic functions
operator: Private generic functions

P
parse: Public ordinary functions
parse-array-of-json-schemas: Private ordinary functions
parse-keyword-value: Private ordinary functions
parse-object-of-arrays: Private ordinary functions
parse-object-of-json-schemas: Private ordinary functions
parse-pattern-properties: Private ordinary functions
parse-regex: Private ordinary functions
positive-number-p: Private ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods

R
raise-invalid-json-value: Private ordinary functions
raise-invalid-schema: Private ordinary functions
raise-not-implemented: Private ordinary functions
raise-unparsable-json: Private ordinary functions
raise-unresolvable-ref: Private ordinary functions
ref: Private generic functions
ref: Private generic functions
regex: Private generic functions
regex: Private generic functions
regex-string: Private generic functions
regex-string: Private generic functions
register-schema: Private ordinary functions
register-schema-resource: Private ordinary functions
register-self: Private ordinary functions

S
sanitize-schema-object: Private generic functions
sanitize-schema-object: Private generic functions
schema: Private generic functions
schema: Private generic functions
schema-spec: Private generic functions
schema-spec: Private generic functions
schemas: Private generic functions
schemas: Private generic functions
self-registry: Private generic functions
self-registry: Private generic functions
some-checking-all: Private ordinary functions

T
track-all-properties-as-valid: Private ordinary functions
track-invalid-json-error: Private generic functions
track-invalid-json-error: Private generic functions
track-invalid-property: Private ordinary functions
track-valid-property: Private ordinary functions
tracked-evaluated-properties: Private ordinary functions
tracked-invalid-properties: Private ordinary functions
tracked-json-pointer: Private ordinary functions
tracked-properties: Private ordinary functions
tracked-valid-properties: Private ordinary functions
type-error-format-string: Private ordinary functions
type-for-keyword: Private ordinary functions
type-properties: Private generic functions
type-properties: Private generic functions
type-schema: Private generic functions
type-schema: Private generic functions
type-spec: Private ordinary functions
type-spec-keywords: Private ordinary functions
type-spec-lisp-type: Private ordinary functions
type-spec-name: Private ordinary functions
type-spec-p: Private ordinary functions

U
unescape-json-pointer: Private ordinary functions
unevaluated-properties: Private generic functions
unevaluated-properties: Private generic functions
unparsable-json-error: Public generic functions
unparsable-json-error: Public generic functions
update-evaluated-properties-map-with-map: Private ordinary functions
uri-reference-p: Private ordinary functions
uri-reference-without-fragment-p: Private ordinary functions

V
validate: Public generic functions
validate: Public generic functions
value: Private generic functions
value: Private generic functions

W
with-tracked-json-pointer: Private macros
with-tracked-property: Private macros
with-valid-json-p: Private macros


A.3 Variables

Jump to:   *  
A   B   C   D   E   I   J   K   L   M   N   O   R   S   T   U   V  
Index Entry  Section

*
*$schema*: Private special variables
*annotation-keywords*: Private special variables
*base-uri*: Private special variables
*conditional-keywords*: Private special variables
*evaluated-properties-map*: Private special variables
*ignore-unresolvable-refs*: Private special variables
*inside-call-with-valid-json-p*: Private special variables
*json-pointer-escape-map*: Private special variables
*keyword-specs*: Private special variables
*logical-keywords*: Private special variables
*registry*: Private special variables
*self-registry*: Private special variables
*tracked-json-pointer*: Private special variables
*type-error-format-strings*: Private special variables
*type-keywords*: Private special variables
*type-specs*: Private special variables
*validation-error-messages*: Private special variables

A
additional-properties: Private classes
anchor: Public classes
annotations: Private classes

B
base-uri: Public conditions
base-uri: Public classes

C
condition-schemas: Private classes
const: Private classes
contains: Private classes

D
defs: Public classes

E
error-message: Public conditions
error-message: Public conditions
errors: Public conditions

I
id: Public classes
items: Private classes
items: Private classes

J
json-error: Public conditions
json-pointer: Public conditions
json-pointer: Public conditions

K
key: Private classes
keywords: Private structures

L
lisp-type: Private structures
logical-schemas: Private classes

M
max-contains: Private classes
metadata: Private classes
min-contains: Private classes

N
name: Private structures

O
operator: Private classes

R
ref: Public classes
regex: Private classes
regex-string: Private classes

S
schema: Public classes
schema-spec: Public classes
schemas: Private classes
self-registry: Public classes
Slot, additional-properties: Private classes
Slot, anchor: Public classes
Slot, annotations: Private classes
Slot, base-uri: Public conditions
Slot, base-uri: Public classes
Slot, condition-schemas: Private classes
Slot, const: Private classes
Slot, contains: Private classes
Slot, defs: Public classes
Slot, error-message: Public conditions
Slot, error-message: Public conditions
Slot, errors: Public conditions
Slot, id: Public classes
Slot, items: Private classes
Slot, items: Private classes
Slot, json-error: Public conditions
Slot, json-pointer: Public conditions
Slot, json-pointer: Public conditions
Slot, key: Private classes
Slot, keywords: Private structures
Slot, lisp-type: Private structures
Slot, logical-schemas: Private classes
Slot, max-contains: Private classes
Slot, metadata: Private classes
Slot, min-contains: Private classes
Slot, name: Private structures
Slot, operator: Private classes
Slot, ref: Public classes
Slot, regex: Private classes
Slot, regex-string: Private classes
Slot, schema: Public classes
Slot, schema-spec: Public classes
Slot, schemas: Private classes
Slot, self-registry: Public classes
Slot, type-properties: Private classes
Slot, type-schema: Private classes
Slot, unevaluated-properties: Private classes
Slot, value: Private classes
Special Variable, *$schema*: Private special variables
Special Variable, *annotation-keywords*: Private special variables
Special Variable, *base-uri*: Private special variables
Special Variable, *conditional-keywords*: Private special variables
Special Variable, *evaluated-properties-map*: Private special variables
Special Variable, *ignore-unresolvable-refs*: Private special variables
Special Variable, *inside-call-with-valid-json-p*: Private special variables
Special Variable, *json-pointer-escape-map*: Private special variables
Special Variable, *keyword-specs*: Private special variables
Special Variable, *logical-keywords*: Private special variables
Special Variable, *registry*: Private special variables
Special Variable, *self-registry*: Private special variables
Special Variable, *tracked-json-pointer*: Private special variables
Special Variable, *type-error-format-strings*: Private special variables
Special Variable, *type-keywords*: Private special variables
Special Variable, *type-specs*: Private special variables
Special Variable, *validation-error-messages*: Private special variables

T
type-properties: Private classes
type-schema: Private classes

U
unevaluated-properties: Private classes

V
value: Private classes


A.4 Data types

Jump to:   A   C   E   F   H   I   J   K   M   N   P   R   S   T   U   V  
Index Entry  Section

A
anchor-like: Private types
array-of-hash-tables: Private types
array-of-strings: Private types

C
cl-jschema: The cl-jschema system
cl-jschema: The cl-jschema package
cl-jschema.asd: The cl-jschema/cl-jschema․asd file
Class, const-schema: Private classes
Class, enum-schema: Private classes
Class, json-array-schema: Private classes
Class, json-basic-type-schema: Private classes
Class, json-logical-schema: Private classes
Class, json-object-schema: Private classes
Class, json-schema: Public classes
Class, json-schema-spec: Private classes
Class, json-schema-type-property: Private classes
Class, json-type-schema: Private classes
Class, regex-box: Private classes
Condition, invalid-json: Public conditions
Condition, invalid-json-value: Public conditions
Condition, invalid-schema: Public conditions
Condition, not-implemented: Public conditions
Condition, unparsable-json: Public conditions
Condition, unresolvable-ref: Private conditions
const-schema: Private classes

E
enum-schema: Private classes

F
File, cl-jschema.asd: The cl-jschema/cl-jschema․asd file
File, json-schema.lisp: The cl-jschema/src/json-schema․lisp file
File, keywords.lisp: The cl-jschema/src/keywords․lisp file
File, package.lisp: The cl-jschema/src/package․lisp file
File, parse.lisp: The cl-jschema/src/parse․lisp file
File, registry.lisp: The cl-jschema/src/registry․lisp file
File, types.lisp: The cl-jschema/src/types․lisp file
File, utils.lisp: The cl-jschema/src/utils․lisp file
File, validate.lisp: The cl-jschema/src/validate․lisp file

H
hash-table-of-array-of-strings: Private types
hash-table-of-schema-likes: Private types

I
integer-like: Private types
invalid-json: Public conditions
invalid-json-value: Public conditions
invalid-schema: Public conditions

J
json-array-schema: Private classes
json-basic-type-schema: Private classes
json-boolean: Private types
json-false: Private types
json-false-schema: Private types
json-logical-schema: Private classes
json-null: Private types
json-object-schema: Private classes
json-schema: Public classes
json-schema-spec: Private classes
json-schema-type-property: Private classes
json-schema.lisp: The cl-jschema/src/json-schema․lisp file
json-true: Private types
json-true-schema: Private types
json-type-schema: Private classes

K
keywords.lisp: The cl-jschema/src/keywords․lisp file

M
Module, src: The cl-jschema/src module

N
non-empty-array: Private types
non-empty-array-of-schema-likes: Private types
non-negative-number: Private types
not-implemented: Public conditions

P
Package, cl-jschema: The cl-jschema package
package.lisp: The cl-jschema/src/package․lisp file
parse.lisp: The cl-jschema/src/parse․lisp file
positive-number: Private types

R
regex: Private types
regex-box: Private classes
registry.lisp: The cl-jschema/src/registry․lisp file

S
schema-like: Private types
src: The cl-jschema/src module
string-or-array-of-strings: Private types
Structure, type-spec: Private structures
System, cl-jschema: The cl-jschema system

T
Type, anchor-like: Private types
Type, array-of-hash-tables: Private types
Type, array-of-strings: Private types
Type, hash-table-of-array-of-strings: Private types
Type, hash-table-of-schema-likes: Private types
Type, integer-like: Private types
Type, json-boolean: Private types
Type, json-false: Private types
Type, json-false-schema: Private types
Type, json-null: Private types
Type, json-true: Private types
Type, json-true-schema: Private types
Type, non-empty-array: Private types
Type, non-empty-array-of-schema-likes: Private types
Type, non-negative-number: Private types
Type, positive-number: Private types
Type, regex: Private types
Type, schema-like: Private types
Type, string-or-array-of-strings: Private types
Type, uri-reference: Private types
Type, uri-reference-without-fragment: Private types
type-spec: Private structures
types.lisp: The cl-jschema/src/types․lisp file

U
unparsable-json: Public conditions
unresolvable-ref: Private conditions
uri-reference: Private types
uri-reference-without-fragment: Private types
utils.lisp: The cl-jschema/src/utils․lisp file

V
validate.lisp: The cl-jschema/src/validate․lisp file