expound
expound copied to clipboard
Human-optimized error messages for clojure.spec
When i'm reading expound formatted spec errors it's usually very clear what the issue is, it's not immediately clear where the error is. This information: the filename, and possible the...
See [ADR](https://github.com/bhb/expound/blob/master/doc/arch/adr-003.md)
Hi! First to give a bit of context, I find myself writing something like the following in every other project: https://github.com/reducecombine/playground/blob/954104e2c673b8e9952c12c4d707dc946570a68c/src/playground/spec_utils.clj#L6-L12 i.e throw an expounded-powered runtime exception if `spec/valid?` fails....
Repro: ```clojure (require '[expound.alpha :as expound]) (require '[clojure.spec.alpha :as s]) (set! s/*explain-out* expound/printer) (defn hello "hello world") ``` Actual: ``` -- Syntax error ------------------- (hello "hello world") should have additional...
For one of my api endpoints I have a quite long response which is compressed of several so-called `steps`. Each step is an object on its own. The problem arises...
When a keys spec fails, there is no need to print out the values, and doing so means that a huge map will be printed.
I use expound in [edna](https://github.com/oakes/edna) and I noticed that errors in 0.7.1 were harder to read than in 0.7.0 when they occur inside a large outer data structure. In 0.7.0,...