spec-tools
snoop
spec-tools | snoop | |
---|---|---|
3 | 3 | |
591 | 77 | |
-0.2% | - | |
4.0 | 0.0 | |
17 days ago | 11 months ago | |
Clojure | Clojure | |
Eclipse Public License 2.0 | Eclipse Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
spec-tools
- Which type declaration library is the standard nowadays?
-
More concise spec definitions
I'd like to use a syntax like how ::input-correlations-concise is defined, but am having trouble debugging the spec-tools.data-spec error ("Unable to resolve spec: :app.specs/input-correlations-concise") after setting it up with these instructions. I also want to make sure I'm doing things the "right" way.
-
Python dataclass equivalent
I like spec-tools data specs. I never got into schema, although I was aware of it. spec came along and swept a substantial portion of the crowd (I think the interleaving of parsing and regex style operators is slick/useful). Malli looks excellent though, and I think it's worthy of learning. I have no opinion on spec2 as of yet.
snoop
-
fulcrologic/guardrails: spec as a loose type checker
and if you want something closer to the guardrails syntax there is: https://github.com/CrypticButter/snoop
-
Which type declaration library is the standard nowadays?
I've been using it together with https://github.com/CrypticButter/snoop it has been great and really hitting the sweet-spot of what you could expect from a type system.
-
Spec vs. Preconditions
You can take a look at malli instead of spec. Then take a look at the snoop library (https://github.com/CrypticButter/snoop) that provides some goodies on top of malli to easily define schema for function parameters and return types.
What are some alternatives?
truss - Assertions micro-library for Clojure/Script
martian - The HTTP abstraction library for Clojure/script, supporting OpenAPI, Swagger, Schema, re-frame and more
scope-capture - Project your Clojure(Script) REPL into the same context as your code when it ran
rcf - RCF – a REPL-first, async test macro for Clojure/Script
malli - High-performance data-driven data specification library for Clojure/Script.
ghostwheel - Hassle-free inline clojure.spec with semi-automatic generative testing and side effect detection
guardrails - Efficient, hassle-free function call validation with a concise inline syntax for clojure.spec and Malli
defn-spec - Add function args and return Spec checking via assertions
dataspectest - quick example of spec-tools dataspecs
grasp - Grep Clojure code using clojure.spec regexes
plumbing - Prismatic's Clojure(Script) utility belt