Skip to content

Commit b9989d5

Browse files
author
dnolen
committed
depend on 0.0-3178, export everything into mori ns, cleanup
1 parent cc402a3 commit b9989d5

File tree

3 files changed

+17
-13
lines changed

3 files changed

+17
-13
lines changed

project.clj

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
:description "Persistent Data Structures for JavaScript"
33

44
:dependencies [[org.clojure/clojure "1.6.0"]
5-
[org.clojure/clojurescript "0.0-3169"]]
5+
[org.clojure/clojurescript "0.0-3178"]]
66

77
:plugins [[lein-cljsbuild "1.0.5"]]
88

src/mori/extra.cljs

+5-5
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262

6363
(defn ^:export flatten [x]
6464
(cljs.core/filter #(not (sequential-or-array? %))
65-
(cljs.core/rest (tree-seq sequential-or-array? seq x))))
65+
(cljs.core/rest (tree-seq sequential-or-array? cljs.core/seq x))))
6666

6767
; The real lazy-seq is a macro, but it just expands its body into a function
6868
(defn ^:export lazySeq [f]
@@ -153,19 +153,19 @@
153153
(mori-export comp cljs.core/comp)
154154

155155
(defn ^:export pipeline [& args]
156-
(reduce #(%2 %1) args))
156+
(cljs.core/reduce #(%2 %1) args))
157157

158158
(defn ^:export curry [fun & args]
159159
(fn [arg]
160-
(cljs.core/apply fun (cons arg args))))
160+
(cljs.core/apply fun (cljs.core/cons arg args))))
161161

162162
(defn ^:export juxt [& fns]
163163
(fn [& args]
164-
(into-array (map #(cljs.core/apply % args) fns))))
164+
(cljs.core/into-array (cljs.core/map #(cljs.core/apply % args) fns))))
165165

166166
(defn ^:export knit [& fns]
167167
(fn [args]
168-
(into-array (map #(% %2) fns args))))
168+
(cljs.core/into-array (cljs.core/map #(% %2) fns args))))
169169

170170
;; Useful fns
171171

src/mori/macros.clj

+11-7
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,21 @@
1818
(defmacro mori-export [exportf coref]
1919
(let [{:keys [ns name methods]} (ana-api/resolve &env coref)]
2020
`(do
21-
(def ~(vary-meta exportf assoc :export true) ~coref)
21+
(js/goog.exportSymbol ~(str "mori." (core/name exportf)) ~coref) ~(list 'js* ";")
2222
~@(when-not (= 1 (count methods))
2323
(map
2424
(fn [{:keys [variadic max-fixed-arity]}]
2525
(if variadic
26-
`(js/goog.exportSymbol
27-
~(str ana/*cljs-ns* "." (core/name exportf) ".fn")
28-
~(symbol (str ns) (str (core/name name) ".cljs$core$IFn$_invoke$variadic")))
29-
`(js/goog.exportSymbol
30-
~(str ana/*cljs-ns* "." (core/name exportf) ".f" max-fixed-arity)
31-
~(symbol (str ns) (str (core/name name) ".cljs$core$IFn$_invoke$arity$" max-fixed-arity)))))
26+
`(do
27+
(js/goog.exportSymbol
28+
~(str "mori." (core/name exportf) ".fn")
29+
~(symbol (str ns) (str (core/name name) ".cljs$core$IFn$_invoke$variadic")))
30+
~(list 'js* ";"))
31+
`(do
32+
(js/goog.exportSymbol
33+
~(str "mori." (core/name exportf) ".f" max-fixed-arity)
34+
~(symbol (str ns) (str (core/name name) ".cljs$core$IFn$_invoke$arity$" max-fixed-arity)))
35+
~(list 'js* ";"))))
3236
methods)))))
3337

3438
(comment

0 commit comments

Comments
 (0)