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.validationsnamespace for working with data validation. Build on top ofValidationapplicative functor which works likeEithermonad, but can aggregate validation errors. Includes helpers for composing validations, validating associative data structures and transforming validations toEithermonads.thdr.pipeline.schemanamespace 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 [email protected]
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.