Schema 1.4.1
Released under the Eclipse Public License
Clojure(Script) library for declarative data description and validation.
Installation
To install, add the following dependency to your project or build file:
[prismatic/schema "1.4.1"]
Namespaces
schema.coerce
Extension of schema for input coercion (coercing an input to match a schema)
schema.core
A library for data shape definition and validation. A Schema is just Clojure data, which can be used to document and validate Clojure functions and data.
Public variables and functions:
- *elide-defprotocol-instrumentation*
- =>
- =>*
- Any
- as-queue
- atom
- Bool
- both
- check
- checker
- cond-pre
- conditional
- constrained
- def
- defmethod
- defn
- defprotocol
- defrecord
- defrecord+
- defschema
- either
- enum
- eq
- explain-input-schema
- explicit-schema-key
- extend-primitive
- find-extra-keys-schema
- fn
- fn-schema
- fn-validation?
- fn-validator
- HasPrecondition
- if
- Inst
- instance-precondition
- instrument-defprotocol?
- Int
- isa
- Keyword
- letfn
- make-fn-schema
- map-entry
- map-entry-ctor
- maybe
- named
- Num
- one
- optional
- optional-key
- optional-key?
- pair
- parse-sequence-schema
- pred
- protocol
- protocol-name
- queue
- queue?
- record
- record*
- recursive
- Regex
- register-schema-print-as-explain
- required-key
- required-key?
- Schema
- schema-name
- schema-ns
- schema-with-name
- schematize-fn
- set-compile-fn-validation!
- set-fn-validation!
- set-max-value-length!
- specific-key?
- Str
- Symbol
- Uuid
- validate
- validator
- var-name
- with-fn-validation
- without-fn-validation
schema.experimental.abstract-map
Schemas representing abstract classes and subclasses
Public variables and functions:
schema.experimental.complete
(Extremely) experimental support for 'completing' partial datums to match a schema. To use it, you must provide your own test.check dependency.
schema.experimental.generators
(Very) experimental support for compiling schemas to test.check generators. To use it, you must provide your own test.check dependency.
Public variables and functions:
schema.macros
Macros and macro helpers used in schema.core.
Public variables and functions:
- *compile-fn-validation*
- -instrument-protocol-method
- apply-prepost-conditions
- assert!
- bb?
- cljs-env?
- compile-fn-validation?
- defrecord-schema
- emit-defrecord
- error!
- extract-arrow-schematized-element
- extract-schema-form
- if-bb
- if-cljs
- input-schema-form
- maybe-split-first
- normalized-defn-args
- normalized-metadata
- parse-arity-spec
- parse-defprotocol-sig
- primitive-sym?
- process-arrow-schematized-args
- process-defprotocol
- process-fn-
- process-fn-arity
- resolve-tag
- rest-arg-schema-form
- safe-get
- set-compile-fn-validation!
- simple-arglist-schema-form
- single-arg-schema-form
- split-rest-arg
- try-catchall
- validation-error
schema.potemkin
Features that require an explicit potemkin dependency to be provided by the consumer.
Public variables and functions:
schema.spec.collection
A collection spec represents a collection of elements, each of which is itself schematized.
Public variables and functions:
schema.spec.core
Protocol and preliminaries for Schema 'specs', which are a common language for schemas to use to express their structure.
Public variables and functions:
schema.utils
Private utilities used in schema implementation.