Facilities for data transformation and validation in real-world Clojure applications.
Add this to you project.clj
or build.boot
:
[io.thdr/pipeline "0.1.0"]
- A
pipeline->
(>>=->
) andpipeline->>
(>>=->>
) macros which work like Clojure's threading macros but thread an expression through a chain of monadic binds (>>=
). thdr.pipeline.validations
namespace for working with data validation. Build on top ofValidation
applicative functor which works likeEither
monad, but can aggregate validation errors. Includes helpers for composing validations, validating associative data structures and transforming validations toEither
monads.thdr.pipeline.schema
namespace for working with Schema checks and coercions within monadic context.- Various helpers to handle exceptions, eithers etc.
I'm going to write some guides as soon as possible. For now check:
- Source code: I documented almost every function.
- Tests
- Examples
Built on top of cats library which brings Category Theory concepts to Clojure.
Feel free to open an issue or PR :3
Copyright © 2016 Theodore Konukhov me@thdr.io
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.