Skip to content

Commit d4a3824

Browse files
author
dnolen
committed
splitting into modules wip
1 parent 540d7c5 commit d4a3824

File tree

7 files changed

+76
-112
lines changed

7 files changed

+76
-112
lines changed

project.clj

+24-30
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,40 @@
1-
(defproject mori "0.3.2"
1+
(defproject mori "0.5.0-SNAPSHOT"
22
:description "Persistent Data Structures for JavaScript"
33

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

7-
:plugins [[lein-cljsbuild "1.0.4"]
8-
[cider/cider-nrepl "0.8.1"]]
7+
:plugins [[lein-cljsbuild "1.0.5"]]
98

10-
:clean-targets ["out-mori-dev/"
11-
"out-mori-adv/"
12-
"out-bonsai-adv/"
13-
"mori.js" "mori.bare.js"
14-
"bonsai.js" "bonsai.bare.js"]
9+
:clean-targets ["dev" "release" "target"]
1510

1611
:cljsbuild
1712
{:builds
1813
[;; mori
19-
{:source-paths ["src/mori"],
14+
{:source-paths ["src"],
2015
:id "dev",
2116
:compiler
22-
{:output-to "mori.dev.js",
23-
:output-dir "out-mori-dev"
24-
:optimizations :simple
17+
{:output-to "dev/mori.dev.js",
18+
:output-dir "dev/"
19+
:optimizations :simple
2520
:cache-analysis true
2621
:output-wrapper false
27-
:pretty-print true}}
22+
:pretty-print true}}
2823

29-
{:source-paths ["src/mori"],
30-
:id "release",
24+
{:source-paths ["src"],
25+
:id "release"
3126
:compiler
32-
{:output-to "mori.bare.js",
33-
:output-dir "out-mori-adv"
34-
:optimizations :advanced
27+
{:optimizations :advanced
28+
:output-dir "release"
3529
:output-wrapper false
36-
:pretty-print false}}
37-
38-
;; bonsai
39-
{:source-paths ["src/bonsai"],
40-
:id "bonsai-release",
41-
:compiler
42-
{:output-to "bonsai.bare.js",
43-
:output-dir "out-bonsai-adv"
44-
:optimizations :advanced
45-
:output-wrapper false
46-
:pretty-print false}}]})
30+
:pretty-print false
31+
:modules
32+
{:cljs-base {:output-to "release/build/mori.base.js"}
33+
:mori {:entries #{mori}
34+
:output-to "release/build/mori.core.js"}
35+
:mutable {:entries #{mori.mutable}
36+
:depends-on #{:mori}
37+
:output-to "release/build/mori.mutable.js"}
38+
:extra {:entries #{mori.extra}
39+
:depends-on #{:mori}
40+
:output-to "release/build/mori.extra.js"}}}}]})
File renamed without changes.

src/bonsai/core.cljs

-38
This file was deleted.

src/mori.cljs

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
(ns mori
2+
(:require-macros
3+
[mori.macros :refer [mori-export]])
4+
(:refer-clojure :exclude
5+
[count empty conj find nth assoc dissoc disj pop peek hash get
6+
empty? reverse into merge subvec keys select-keys vals
7+
equiv range sort sort-by into-array
8+
list vector array-map hash-map set compare]))
9+
10+
(mori-export count cljs.core/count)
11+
(mori-export empty cljs.core/empty)
12+
(mori-export conj cljs.core/conj)
13+
(mori-export find cljs.core/find)
14+
(mori-export nth cljs.core/nth)
15+
(mori-export assoc cljs.core/assoc)
16+
(mori-export dissoc cljs.core/dissoc)
17+
(mori-export disj cljs.core/disj)
18+
(mori-export pop cljs.core/pop)
19+
(mori-export peek cljs.core/peek)
20+
(mori-export hash cljs.core/hash)
21+
(mori-export get cljs.core/get)
22+
(mori-export isEmpty cljs.core/empty?)
23+
(mori-export reverse cljs.core/reverse)
24+
(mori-export into cljs.core/into)
25+
(mori-export merge cljs.core/merge)
26+
(mori-export subvec cljs.core/subvec)
27+
(mori-export keys cljs.core/keys)
28+
(mori-export selectKeys cljs.core/select-keys)
29+
(mori-export vals cljs.core/vals)
30+
(mori-export equiv cljs.core/==)
31+
(mori-export range cljs.core/range)
32+
(mori-export sort cljs.core/sort)
33+
(mori-export sortBy cljs.core/sort-by)
34+
(mori-export intoArray cljs.core/into-array)
35+
(mori-export list cljs.core/list)
36+
(mori-export vector cljs.core/vector)
37+
(mori-export hashMap cljs.core/array-map)
38+
(mori-export set cljs.core/set)
39+
(mori-export compare cljs.core/compare)
40+

src/mori/mori.cljs renamed to src/mori/extra.cljs

+12-44
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,48 @@
1-
(ns mori
1+
(ns mori.extra
22
(:refer-clojure :exclude
3-
[count distinct empty first second next rest seq conj cons find nth last assoc dissoc
4-
get-in update-in assoc-in fnil disj pop peek hash get empty? reverse
3+
[distinct first second next rest seq cons last
4+
get-in update-in assoc-in fnil
55
take drop take-nth partition partition-all partition-by iterate
6-
into merge merge-with subvec
6+
merge-with
77
take-while drop-while group-by
88
interpose interleave concat flatten
9-
keys select-keys vals
109
prim-seq lazy-seq keep keep-indexed
11-
map mapcat map-indexed reduce reduce-kv filter remove some every? equiv
10+
map mapcat map-indexed reduce reduce-kv filter remove some every?
1211
transduce eduction sequence dedupe completing
13-
range repeat repeatedly sort sort-by
14-
into-array
12+
repeat repeatedly
1513
partial comp juxt
1614
identity constantly
17-
list vector vec array-map hash-map zipmap set sorted-set keyword symbol
15+
zipmap sorted-set keyword symbol
1816
sorted-set-by sorted-map sorted-map-by
19-
sum inc dec even? odd? subseq compare
17+
sum inc dec even? odd? subseq
2018
meta with-meta vary-meta
2119
apply])
22-
(:use-macros [mori.macros :only [make-inspectable mori-export]])
20+
(:require-macros
21+
[mori.macros :refer [mori-export make-inspectable]])
2322
(:require [clojure.set :as set]))
2423

2524
(mori-export apply cljs.core/apply)
26-
(mori-export count cljs.core/count)
2725
(mori-export distinct cljs.core/distinct)
28-
(mori-export empty cljs.core/empty)
2926
(mori-export first cljs.core/first)
3027
(mori-export second cljs.core/second)
3128
(mori-export next cljs.core/next)
3229
(mori-export rest cljs.core/rest)
3330
(mori-export seq cljs.core/seq)
34-
(mori-export conj cljs.core/conj)
3531
(mori-export cons cljs.core/cons)
36-
(mori-export find cljs.core/find)
37-
(mori-export nth cljs.core/nth)
3832
(mori-export last cljs.core/last)
39-
(mori-export assoc cljs.core/assoc)
40-
(mori-export dissoc cljs.core/dissoc)
4133
(mori-export getIn cljs.core/get-in)
4234
(mori-export updateIn cljs.core/update-in)
4335
(mori-export assocIn cljs.core/assoc-in)
4436
(mori-export fnil cljs.core/fnil)
45-
(mori-export disj cljs.core/disj)
46-
(mori-export pop cljs.core/pop)
47-
(mori-export peek cljs.core/peek)
48-
(mori-export hash cljs.core/hash)
49-
(mori-export get cljs.core/get)
5037
(mori-export hasKey cljs.core/contains?)
51-
(mori-export isEmpty cljs.core/empty?)
52-
(mori-export reverse cljs.core/reverse)
5338
(mori-export take cljs.core/take)
5439
(mori-export drop cljs.core/drop)
5540
(mori-export takeNth cljs.core/take-nth)
5641
(mori-export partition cljs.core/partition)
5742
(mori-export partitionAll cljs.core/partition-all)
5843
(mori-export partitionBy cljs.core/partition-by)
5944
(mori-export iterate cljs.core/iterate)
60-
(mori-export into cljs.core/into)
61-
(mori-export merge cljs.core/merge)
6245
(mori-export mergeWith cljs.core/merge-with)
63-
(mori-export subvec cljs.core/subvec)
6446
(mori-export takeWhile cljs.core/take-while)
6547
(mori-export dropWhile cljs.core/drop-while)
6648
(mori-export groupBy cljs.core/group-by)
@@ -80,9 +62,6 @@
8062
(defn ^:export lazySeq [f]
8163
(new cljs.core/LazySeq nil f nil nil))
8264

83-
(mori-export keys cljs.core/keys)
84-
(mori-export selectKeys cljs.core/select-keys)
85-
(mori-export vals cljs.core/vals)
8665
(mori-export primSeq cljs.core/prim-seq)
8766
(mori-export map cljs.core/map)
8867
(mori-export mapIndexed cljs.core/map-indexed)
@@ -96,12 +75,8 @@
9675
(mori-export some cljs.core/some)
9776
(mori-export every cljs.core/every?)
9877
(mori-export equals cljs.core/=)
99-
(mori-export range cljs.core/range)
10078
(mori-export repeat cljs.core/repeat)
10179
(mori-export repeatedly cljs.core/repeatedly)
102-
(mori-export sort cljs.core/sort)
103-
(mori-export sortBy cljs.core/sort-by)
104-
(mori-export intoArray cljs.core/into-array)
10580
(mori-export subseq cljs.core/subseq)
10681
(mori-export dedupe cljs.core/dedupe)
10782

@@ -114,12 +89,6 @@
11489

11590
;; constructors
11691

117-
(mori-export list cljs.core/list)
118-
(mori-export vector cljs.core/vector)
119-
(mori-export vec cljs.core/vec)
120-
(mori-export hashMap cljs.core/array-map)
121-
122-
(mori-export set cljs.core/set)
12392
(mori-export sortedSet cljs.core/sorted-set)
12493
(mori-export sortedSetBy cljs.core/sorted-set-by)
12594
(mori-export sortedMap cljs.core/sorted-map)
@@ -171,7 +140,6 @@
171140
(mori-export gte cljs.core/>=)
172141
(mori-export lt cljs.core/<)
173142
(mori-export lte cljs.core/<=)
174-
(mori-export compare cljs.core/compare)
175143

176144
;; HOFs
177145

@@ -187,11 +155,11 @@
187155

188156
(defn ^:export juxt [& fns]
189157
(fn [& args]
190-
(intoArray (map #(cljs.core/apply % args) fns))))
158+
(into-array (map #(cljs.core/apply % args) fns))))
191159

192160
(defn ^:export knit [& fns]
193161
(fn [args]
194-
(intoArray (map #(% %2) fns args))))
162+
(into-array (map #(% %2) fns args))))
195163

196164
;; Useful fns
197165

File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)