zippers working in cljs
This commit is contained in:
parent
70523ac38f
commit
a4e1f1267b
3 changed files with 17 additions and 14 deletions
|
|
@ -7,7 +7,7 @@ lein cleantest
|
||||||
# Running ClojureScript tests
|
# Running ClojureScript tests
|
||||||
|
|
||||||
```
|
```
|
||||||
$ rm -rf out/
|
rm -rf out/
|
||||||
$ rlwrap java -cp `lein classpath` clojure.main repl.clj
|
rlwrap java -cp `lein classpath` clojure.main repl.clj
|
||||||
cljs.user=> (require 'com.rpl.specter.cljs-test-runner)
|
(require 'com.rpl.specter.cljs-test-runner)
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,11 @@
|
||||||
#+cljs (:require-macros
|
#+cljs (:require-macros
|
||||||
[com.rpl.specter.macros
|
[com.rpl.specter.macros
|
||||||
:refer [defpath]])
|
:refer [defpath]])
|
||||||
|
#+clj
|
||||||
(:use
|
(:use
|
||||||
#+clj [com.rpl.specter.macros :only [defpath]]
|
[com.rpl.specter.macros :only [defpath]])
|
||||||
[com.rpl specter])
|
(:require [com.rpl.specter :as s]
|
||||||
(:require [clojure [zip :as zip]]))
|
[clojure.zip :as zip]))
|
||||||
|
|
||||||
(defpath zipper [constructor]
|
(defpath zipper [constructor]
|
||||||
(select* [this structure next-fn]
|
(select* [this structure next-fn]
|
||||||
|
|
@ -18,13 +19,13 @@
|
||||||
(def SEQ-ZIP (zipper zip/seq-zip))
|
(def SEQ-ZIP (zipper zip/seq-zip))
|
||||||
(def XML-ZIP (zipper zip/xml-zip))
|
(def XML-ZIP (zipper zip/xml-zip))
|
||||||
|
|
||||||
(def NEXT (view zip/next))
|
(def NEXT (s/view zip/next))
|
||||||
(def RIGHT (view zip/right))
|
(def RIGHT (s/view zip/right))
|
||||||
(def RIGHTMOST (view zip/rightmost))
|
(def RIGHTMOST (s/view zip/rightmost))
|
||||||
(def LEFT (view zip/left))
|
(def LEFT (s/view zip/left))
|
||||||
(def DOWN (view zip/down))
|
(def DOWN (s/view zip/down))
|
||||||
(def LEFTMOST (view zip/leftmost))
|
(def LEFTMOST (s/view zip/leftmost))
|
||||||
(def UP (view zip/up))
|
(def UP (s/view zip/up))
|
||||||
|
|
||||||
(defn- inner-insert [structure next-fn inserter mover backer]
|
(defn- inner-insert [structure next-fn inserter mover backer]
|
||||||
(let [to-insert (next-fn [])
|
(let [to-insert (next-fn [])
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
(ns com.rpl.specter.cljs-test-runner
|
(ns com.rpl.specter.cljs-test-runner
|
||||||
(:require [cljs.test :as test :refer-macros [run-tests]]
|
(:require [cljs.test :as test :refer-macros [run-tests]]
|
||||||
[com.rpl.specter.core-test]))
|
[com.rpl.specter.core-test]
|
||||||
|
[com.rpl.specter.zipper-test]
|
||||||
|
))
|
||||||
|
|
||||||
(run-tests 'com.rpl.specter.core-test)
|
(run-tests 'com.rpl.specter.core-test)
|
||||||
(run-tests 'com.rpl.specter.zipper-test)
|
(run-tests 'com.rpl.specter.zipper-test)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue