|
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