Private utilities used in schema implementation.
Private utilities used in schema implementation.
(assoc-when m & kvs)
Like assoc but only assocs when value is truthy. Copied from plumbing.core so that schema need not depend on plumbing.
Like assoc but only assocs when value is truthy. Copied from plumbing.core so that schema need not depend on plumbing.
(error x)
Distinguish a value (must be non-nil) as an error.
Distinguish a value (must be non-nil) as an error.
(fn-schema-bearer f)
What class can we associate the fn schema with? In Clojure use the class of the fn; in cljs just use the fn itself.
What class can we associate the fn schema with? In Clojure use the class of the fn; in cljs just use the fn itself.
(make-ValidationError schema value expectation-delay fail-explanation)
for cljs sake (easier than normalizing imports in macros.clj)
for cljs sake (easier than normalizing imports in macros.clj)
(memoize-id f)
Identity version of memoize, because many schemas are records, and records don't cache their hash codes (at least in Clojure 1.5.1). Not thread safe, and doesn't cache falsey values.
Identity version of memoize, because many schemas are records, and records don't cache their hash codes (at least in Clojure 1.5.1). Not thread safe, and doesn't cache falsey values.
(result-builder lift-to-error)
Build up a result by conjing values, producing an error if at least one sub-value returns an error.
Build up a result by conjing values, producing an error if at least one sub-value returns an error.
Turn on run-time function validation for functions compiled when s/compile-fn-validation was true -- has no effect for functions compiled when it is false.
Turn on run-time function validation for functions compiled when s/compile-fn-validation was true -- has no effect for functions compiled when it is false.
(value-name value)
Provide a descriptive short name for a value.
Provide a descriptive short name for a value.
(wrap-error-name name maybe-error)
If maybe-error is an error, wrap the inner value in a NamedError; otherwise, return as-is
If maybe-error is an error, wrap the inner value in a NamedError; otherwise, return as-is
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close