wip
This commit is contained in:
parent
ced77f4ae5
commit
9e520f3a9c
2 changed files with 17 additions and 5 deletions
|
|
@ -56,6 +56,8 @@
|
||||||
'every (copy-var s/every sns)
|
'every (copy-var s/every sns)
|
||||||
'every-impl (copy-var s/every-impl sns)
|
'every-impl (copy-var s/every-impl sns)
|
||||||
'every-kv (copy-var s/every-kv sns)
|
'every-kv (copy-var s/every-kv sns)
|
||||||
|
'keys (copy-var s/keys sns)
|
||||||
|
'map-spec-impl (copy-var s/map-spec-impl sns)
|
||||||
'map-of (copy-var s/map-of sns)
|
'map-of (copy-var s/map-of sns)
|
||||||
'spec (copy-var s/spec sns)
|
'spec (copy-var s/spec sns)
|
||||||
'spec-impl (copy-var s/spec-impl sns)
|
'spec-impl (copy-var s/spec-impl sns)
|
||||||
|
|
@ -68,7 +70,16 @@
|
||||||
'double-in (copy-var s/double-in sns)
|
'double-in (copy-var s/double-in sns)
|
||||||
'inst-in (copy-var s/inst-in sns)
|
'inst-in (copy-var s/inst-in sns)
|
||||||
'inst-in-range? (copy-var s/inst-in-range? sns)
|
'inst-in-range? (copy-var s/inst-in-range? sns)
|
||||||
#_#_'explain-data (copy-var s/explain-data sns)})
|
'conform (copy-var s/conform sns)
|
||||||
|
'explain-data (copy-var s/explain-data sns)
|
||||||
|
'describe (copy-var s/describe sns)
|
||||||
|
'form (copy-var s/form sns)
|
||||||
|
'unform (copy-var s/unform sns)
|
||||||
|
'nilable (copy-var s/nilable sns)
|
||||||
|
'nilable-impl (copy-var s/nilable-impl sns)
|
||||||
|
'nonconforming (copy-var s/nonconforming sns)
|
||||||
|
'get-spec (copy-var s/get-spec sns)
|
||||||
|
'exercise (copy-var s/exercise sns)})
|
||||||
|
|
||||||
#_:clj-kondo/ignore
|
#_:clj-kondo/ignore
|
||||||
(def test-namespace
|
(def test-namespace
|
||||||
|
|
@ -80,7 +91,8 @@
|
||||||
{'fmap (copy-var gen/fmap gns)
|
{'fmap (copy-var gen/fmap gns)
|
||||||
'generate (copy-var gen/generate gns)
|
'generate (copy-var gen/generate gns)
|
||||||
'large-integer* (copy-var gen/large-integer* gns)
|
'large-integer* (copy-var gen/large-integer* gns)
|
||||||
'double* (copy-var gen/double* gns)})
|
'double* (copy-var gen/double* gns)
|
||||||
|
'return (copy-var gen/return gns)})
|
||||||
|
|
||||||
;; def-impl
|
;; def-impl
|
||||||
;; -> spec? ;; OK
|
;; -> spec? ;; OK
|
||||||
|
|
|
||||||
|
|
@ -471,7 +471,7 @@
|
||||||
pred-exprs (mapv (fn [e] `(fn* [~gx] ~e)) pred-exprs)
|
pred-exprs (mapv (fn [e] `(fn* [~gx] ~e)) pred-exprs)
|
||||||
pred-forms (walk/postwalk res pred-exprs)]
|
pred-forms (walk/postwalk res pred-exprs)]
|
||||||
;; `(map-spec-impl ~req-keys '~req ~opt '~pred-forms ~pred-exprs ~gen)
|
;; `(map-spec-impl ~req-keys '~req ~opt '~pred-forms ~pred-exprs ~gen)
|
||||||
`(map-spec-impl {:req '~req :opt '~opt :req-un '~req-un :opt-un '~opt-un
|
`(clojure.spec.alpha/map-spec-impl {:req '~req :opt '~opt :req-un '~req-un :opt-un '~opt-un
|
||||||
:req-keys '~req-keys :req-specs '~req-specs
|
:req-keys '~req-keys :req-specs '~req-specs
|
||||||
:opt-keys '~opt-keys :opt-specs '~opt-specs
|
:opt-keys '~opt-keys :opt-specs '~opt-specs
|
||||||
:pred-forms '~pred-forms
|
:pred-forms '~pred-forms
|
||||||
|
|
@ -1815,7 +1815,7 @@
|
||||||
[& kspecs]
|
[& kspecs]
|
||||||
`(let [mspec# (keys ~@kspecs)]
|
`(let [mspec# (keys ~@kspecs)]
|
||||||
(with-gen (clojure.spec.alpha/& (* (cat ::k keyword? ::v any?)) ::kvs->map mspec#)
|
(with-gen (clojure.spec.alpha/& (* (cat ::k keyword? ::v any?)) ::kvs->map mspec#)
|
||||||
(fn [] (gen/fmap (fn [m#] (apply concat m#)) (gen mspec#))))))
|
(fn [] (clojure.spec.gen.alpha/fmap (fn [m#] (apply concat m#)) (gen mspec#))))))
|
||||||
|
|
||||||
(defn ^:skip-wiki nonconforming
|
(defn ^:skip-wiki nonconforming
|
||||||
"takes a spec and returns a spec that has the same properties except
|
"takes a spec and returns a spec that has the same properties except
|
||||||
|
|
@ -1868,7 +1868,7 @@
|
||||||
"returns a spec that accepts nil and values satisfying pred"
|
"returns a spec that accepts nil and values satisfying pred"
|
||||||
[pred]
|
[pred]
|
||||||
(let [pf (res pred)]
|
(let [pf (res pred)]
|
||||||
`(nilable-impl '~pf ~pred nil)))
|
`(clojure.spec.alpha/nilable-impl '~pf ~pred nil)))
|
||||||
|
|
||||||
(defn exercise
|
(defn exercise
|
||||||
"generates a number (default 10) of values compatible with spec and maps conform over them,
|
"generates a number (default 10) of values compatible with spec and maps conform over them,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue