one more
This commit is contained in:
parent
dc8741e8a8
commit
0b53b58662
2 changed files with 10 additions and 3 deletions
2
sci
2
sci
|
|
@ -1 +1 @@
|
||||||
Subproject commit 870ff5cbdb75b13891b049fe961133b7c34e48fd
|
Subproject commit 7452e4d328d1be6c4d639ed34999ca714be1ba3c
|
||||||
|
|
@ -367,6 +367,10 @@
|
||||||
(let [k (if (symbol? k) (ns-qualify k) k)]
|
(let [k (if (symbol? k) (ns-qualify k) k)]
|
||||||
`(clojure.spec.alpha/def-impl '~k '~(res spec-form) ~spec-form)))
|
`(clojure.spec.alpha/def-impl '~k '~(res spec-form) ~spec-form)))
|
||||||
|
|
||||||
|
(defmacro internal-def
|
||||||
|
[k spec-form]
|
||||||
|
`(def-impl '~k '~(res spec-form) ~spec-form))
|
||||||
|
|
||||||
(defn registry
|
(defn registry
|
||||||
"returns the registry map, prefer 'get-spec' to lookup a spec by name"
|
"returns the registry map, prefer 'get-spec' to lookup a spec by name"
|
||||||
[]
|
[]
|
||||||
|
|
@ -940,7 +944,10 @@
|
||||||
(specize* [s _] s)
|
(specize* [s _] s)
|
||||||
|
|
||||||
Spec
|
Spec
|
||||||
(conform* [_ x] (let [ret (pred x)]
|
(conform* [_ x] (let [;; _ (prn :pred pred :descr (describe pred) :x x)
|
||||||
|
ret (pred x)
|
||||||
|
;; _ (prn :ret ret)
|
||||||
|
]
|
||||||
(if cpred?
|
(if cpred?
|
||||||
ret
|
ret
|
||||||
(if ret x :clojure.spec.alpha/invalid))))
|
(if ret x :clojure.spec.alpha/invalid))))
|
||||||
|
|
@ -1806,7 +1813,7 @@
|
||||||
(describe* [_] `(clojure.spec.alpha/fspec :args ~aform :ret ~rform :fn ~fform)))))
|
(describe* [_] `(clojure.spec.alpha/fspec :args ~aform :ret ~rform :fn ~fform)))))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; non-primitives ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; non-primitives ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
(babashka.impl.clojure.spec.alpha/def
|
(internal-def
|
||||||
:clojure.spec.alpha/kvs->map
|
:clojure.spec.alpha/kvs->map
|
||||||
(conformer #(zipmap (map :clojure.spec.alpha/k %) (map :clojure.spec.alpha/v %)) #(map (fn [[k v]] {:clojure.spec.alpha/k k :clojure.spec.alpha/v v}) %)))
|
(conformer #(zipmap (map :clojure.spec.alpha/k %) (map :clojure.spec.alpha/v %)) #(map (fn [[k v]] {:clojure.spec.alpha/k k :clojure.spec.alpha/v v}) %)))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue