zippers working in cljs

This commit is contained in:
Nathan Marz 2016-04-24 11:10:55 -04:00
parent 70523ac38f
commit a4e1f1267b
3 changed files with 17 additions and 14 deletions

View file

@ -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)
``` ```

View file

@ -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 [])

View file

@ -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)