Skip to content

Commit 1c98020

Browse files
anmonteirodnolen
authored andcommitted
CLJS-1980: port CLJ-2100 (s/nilable form should retain original spec form)
1 parent 3449c53 commit 1c98020

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

src/main/cljs/cljs/spec.cljc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,11 @@
4040
(sequential? form) (walk/postwalk #(if (symbol? %) (res env %) %) (unfn form))
4141
:else form))
4242

43+
(defmacro ^:private mres
44+
"a compile time res, for use in cljs/spec.cljs"
45+
[form]
46+
(res &env form))
47+
4348
(defn- ns-qualify
4449
"Qualify symbol s by resolving it or using the current *ns*."
4550
[env s]

src/main/cljs/cljs/spec.cljs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1369,7 +1369,7 @@
13691369
[[1 (gen/delay (gen/return nil))]
13701370
[9 (gen/delay (gensub pred overrides (conj path ::pred) rmap form))]])))
13711371
(with-gen* [_ gfn] (nilable-impl form pred gfn))
1372-
(describe* [_] `(nilable ~(describe* spec))))))
1372+
(describe* [_] `(nilable ~(s/mres form))))))
13731373

13741374
(defn exercise
13751375
"generates a number (default 10) of values compatible with spec and maps conform over them,

0 commit comments

Comments
 (0)