Fork me on GitHub

Re spec, should Clojure ensure that keys referenced in s/keys are registered? I just noticed an unregistered key in one of mine as was surprised I hadn't been made aware by the compiler


it allows that so that you can define key sets before the key specs themselves, most of the stuff in spec in wrapped in delays


I could be wrong, but this sounds like the "issue"


I understand, kinda makes sense.


Thanks @madstap this is useful


is there a good example of a generator, which generates map (record) where values of 2 fields are dependent? multispec solves opposite problem: conform/validate records with 2+ dependent fields, can it be leveraged for generating generator?


the nuance in a data model I have, is that :type key on record determines not presence/absence of an attribute, but shape of a particular attribute:

{:type :string :val "foo"}
{:type :media :val {:url "" :content-type"image/jpg"}}
so I am already jumping some hoops to create multispec for this (extra level of spec indirection between data shape and attribute name)


would like to avoid having custom monster generator, if possible at all