(every-kv kpred vpred & opts)
like 'every' but takes separate key and val preds and works on associative collections.
Same options as 'every', :into defaults to {}
See also - map-of
Source
(defmacro every-kv
"like 'every' but takes separate key and val preds and works on associative collections.
Same options as 'every', :into defaults to {}
See also - map-of"
[kpred vpred & opts]
(let [desc `(every-kv ~(res kpred) ~(res vpred) ~@(res-kind opts))]
`(every (tuple ~kpred ~vpred) ::kfn (fn [i# v#] (nth v# 0)) :into {} ::describe '~desc ~@opts)))