schema.validator
The core schema validation engine.
Functions
Jump to function (9) ›
schema.validator/map-entry-optional?
(map-entry-optional? entry)
Returns true when a [:map ...] entry is declared with
{:optional true}.
schema.validator/map-entry-options
(map-entry-options entry)
Options map for a [:map ...] entry [key opts? schema]. Returns an empty map when the entry has no options position.
schema.validator/map-entry-schema
(map-entry-schema entry)
Inner schema of a [:map ...] entry, skipping the options map when present.
schema.validator/resolve-or-default
(resolve-or-default head f default)
Like resolve-or-throw, but returns default when head is not registered instead of throwing. Used by coerce where unknown heads are intentionally passed through unchanged for downstream validation to flag.
schema.validator/resolve-or-throw
(resolve-or-throw label head f)
Resolves an unknown head by looking it up in the registry. When
head names a registered schema, invokes f with the registered
schema; otherwise throws an InvalidArgumentException mentioning
label (e.g. "unknown schema kind" or "no generator for schema kind").
Every head-dispatching caller uses this so the error shape is consistent across validator/explainer/coercer/generator.
schema.validator/schema-args
(schema-args schema)
Returns the positional arguments of schema (children past the head and optional options map).
schema.validator/schema-head
(schema-head schema)
Returns the head (kind keyword) of schema. Keyword schemas are their own head; vector schemas use their first element.
schema.validator/schema-options
(schema-options schema)
Returns the options map of schema or {} if none.
schema.validator/valid?
(valid? schema value)
Returns true if value conforms to schema, otherwise false.
Example:
(valid? :int 1) ; => true