Spec-tools is a small Clojure(Script) utility library on top of 
clojure.spec, with the following features:

* spec records
* dynamic runtime validation & transformation
* tools for spec transformations including to JSON Schema
* (simple data-specs)

the lib: https://github.com/metosin/spec-tools
blogged: 
http://www.metosin.fi/blog/clojure-spec-as-a-runtime-transformation-engine/

Spec-tools takes ideas from the awesome Plumatic Schema[1], including the 
separation of specs & coercion/conforming and type-based conforming 
(string-conforming & json-conforming). Big thanks to Jason Wolfe & co for 
the Schema! Also, parts of Schema-tools[2] have been ported, including the 
map-conforming operations.

Like clojure.spec, the lib is still in alpha, subject to change. As 
`alpha-16` hasn't been ported to cljs, spec-tools uses `alpha-15`.

Next step is to support also swagger/openapi, after which clojure.spec 
should be on par with Schema for building remote apis.

on behalf of the contributors,

Tommi

[1] https://github.com/plumatic/schema
[2] https://github.com/metosin/schema-tools

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to