|
13 | 13 | [cljs.spec.impl.gen :as gen] |
14 | 14 | [clojure.string :as str])) |
15 | 15 |
|
16 | | -(alias 'c 'clojure.core) |
17 | | - |
18 | 16 | (defn- ->sym |
19 | 17 | "Returns a symbol from a symbol or var" |
20 | 18 | [x] |
|
23 | 21 | x)) |
24 | 22 |
|
25 | 23 | (defn- unfn [expr] |
26 | | - (if (c/and (seq? expr) |
| 24 | + (if (clojure.core/and (seq? expr) |
27 | 25 | (symbol? (first expr)) |
28 | 26 | (= "fn*" (name (first expr)))) |
29 | 27 | (let [[[s] & form] (rest expr)] |
|
33 | 31 | (defn- res [env form] |
34 | 32 | (cond |
35 | 33 | (keyword? form) form |
36 | | - (symbol? form) (c/or (->> form (resolve env) ->sym) form) |
| 34 | + (symbol? form) (clojure.core/or (->> form (resolve env) ->sym) form) |
37 | 35 | (sequential? form) (walk/postwalk #(if (symbol? %) (res env %) %) (unfn form)) |
38 | 36 | :else form)) |
39 | 37 |
|
|
122 | 120 | (let [unk #(-> % name keyword) |
123 | 121 | req-keys (filterv keyword? (flatten req)) |
124 | 122 | req-un-specs (filterv keyword? (flatten req-un)) |
125 | | - _ (assert (every? #(c/and (keyword? %) (namespace %)) (concat req-keys req-un-specs opt opt-un)) |
| 123 | + _ (assert (every? #(clojure.core/and (keyword? %) (namespace %)) (concat req-keys req-un-specs opt opt-un)) |
126 | 124 | "all keys must be namespace-qualified keywords") |
127 | 125 | req-specs (into req-keys req-un-specs) |
128 | 126 | req-keys (into req-keys (map unk req-un-specs)) |
|
163 | 161 | keys (mapv first pairs) |
164 | 162 | pred-forms (mapv second pairs) |
165 | 163 | pf (mapv #(res &env %) pred-forms)] |
166 | | - (assert (c/and (even? (count key-pred-forms)) (every? keyword? keys)) "spec/or expects k1 p1 k2 p2..., where ks are keywords") |
| 164 | + (assert (clojure.core/and (even? (count key-pred-forms)) (every? keyword? keys)) "spec/or expects k1 p1 k2 p2..., where ks are keywords") |
167 | 165 | `(cljs.spec/or-spec-impl ~keys '~pf ~pred-forms nil))) |
168 | 166 |
|
169 | 167 | (defmacro and |
|
206 | 204 | keys (mapv first pairs) |
207 | 205 | pred-forms (mapv second pairs) |
208 | 206 | pf (mapv #(res &env %) pred-forms)] |
209 | | - (assert (c/and (even? (count key-pred-forms)) (every? keyword? keys)) "alt expects k1 p1 k2 p2..., where ks are keywords") |
| 207 | + (assert (clojure.core/and (even? (count key-pred-forms)) (every? keyword? keys)) "alt expects k1 p1 k2 p2..., where ks are keywords") |
210 | 208 | `(cljs.spec/alt-impl ~keys ~pred-forms '~pf))) |
211 | 209 |
|
212 | 210 | (defmacro cat |
|
222 | 220 | pred-forms (mapv second pairs) |
223 | 221 | pf (mapv #(res &env %) pred-forms)] |
224 | 222 | ;;(prn key-pred-forms) |
225 | | - (assert (c/and (even? (count key-pred-forms)) (every? keyword? keys)) "cat expects k1 p1 k2 p2..., where ks are keywords") |
| 223 | + (assert (clojure.core/and (even? (count key-pred-forms)) (every? keyword? keys)) "cat expects k1 p1 k2 p2..., where ks are keywords") |
226 | 224 | `(cljs.spec/cat-impl ~keys ~pred-forms '~pf))) |
227 | 225 |
|
228 | 226 | (defmacro & |
@@ -332,7 +330,7 @@ specified, return speced vars from all namespaces." |
332 | 330 | (let [env &env |
333 | 331 | qn (ns-qualify env fn-sym)] |
334 | 332 | `(do ~@(reduce |
335 | | - (c/fn [defns role] |
| 333 | + (clojure.core/fn [defns role] |
336 | 334 | (if (contains? m role) |
337 | 335 | (let [s (fn-spec-sym env qn (name role))] |
338 | 336 | (conj defns `(cljs.spec/def '~s ~(get m role)))) |
|
0 commit comments