balance sheet fast

This commit is contained in:
2024-10-22 23:06:39 -07:00
parent 12baf70d5c
commit 8ab9267e45
2 changed files with 22 additions and 19 deletions

View File

@@ -319,7 +319,7 @@
(when (:coerce? (m/properties schema))
(fn [data]
(cond
(vector? data)
(vector? data)
data
(sequential? data)
data
@@ -363,20 +363,22 @@
(mt2/transformer
{:decoders {:map {:compile (fn [x g]
(fn [value]
(let [specified-keys (set (keys value))]
(reduce
(fn [value [k params]]
(cond (and (:unspecified/fn params)
(not (get specified-keys k)))
(assoc value k ((:unspecified/fn params)))
(and (:unspecified/value params)
(not (get specified-keys k)))
(assoc value k (:unspecified/value params))
:else
value
))
value
(m/children x)))))}}}))
(if (map? value)
(let [ specified-keys (set (keys value))]
(reduce
(fn [value [k params]]
(cond (and (:unspecified/fn params)
(not (get specified-keys k)))
(assoc value k ((:unspecified/fn params)))
(and (:unspecified/value params)
(not (get specified-keys k)))
(assoc value k (:unspecified/value params))
:else
value
))
value
(m/children x)))
value)))}}}))
(def main-transformer
(mt2/transformer