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-impl (copy-var s/every-impl 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)
|
||||
'spec (copy-var s/spec sns)
|
||||
'spec-impl (copy-var s/spec-impl sns)
|
||||
|
|
@ -68,7 +70,16 @@
|
|||
'double-in (copy-var s/double-in sns)
|
||||
'inst-in (copy-var s/inst-in 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
|
||||
(def test-namespace
|
||||
|
|
@ -80,7 +91,8 @@
|
|||
{'fmap (copy-var gen/fmap gns)
|
||||
'generate (copy-var gen/generate 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
|
||||
;; -> spec? ;; OK
|
||||
|
|
|
|||
|
|
@ -471,7 +471,7 @@
|
|||
pred-exprs (mapv (fn [e] `(fn* [~gx] ~e)) 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 '~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
|
||||
:opt-keys '~opt-keys :opt-specs '~opt-specs
|
||||
:pred-forms '~pred-forms
|
||||
|
|
@ -1815,7 +1815,7 @@
|
|||
[& kspecs]
|
||||
`(let [mspec# (keys ~@kspecs)]
|
||||
(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
|
||||
"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"
|
||||
[pred]
|
||||
(let [pf (res pred)]
|
||||
`(nilable-impl '~pf ~pred nil)))
|
||||
`(clojure.spec.alpha/nilable-impl '~pf ~pred nil)))
|
||||
|
||||
(defn exercise
|
||||
"generates a number (default 10) of values compatible with spec and maps conform over them,
|
||||
|
|
|
|||
Loading…
Reference in a new issue