minor fixes

This commit is contained in:
nathanmarz 2017-09-11 16:06:24 -04:00
parent 80c96df24d
commit 1b43dad924

View file

@ -165,7 +165,7 @@ Drops all collected values for subsequent navigation.
## END ## END
`END` navigates to the empty subsequence after the end of a collection. Useful with `setval` to add values onto the end of a sequence. `END` navigates to the empty subsequence after the end of a collection. Useful with `setval` to add values onto the end of a sequence.
```clojure ```clojure
=> (setval END '(5 6) (range 5)) => (setval END '(5 6) (range 5))
@ -270,7 +270,7 @@ As of Specter 1.0.0, `LAST` can now work with strings. It navigates to or transf
## MAP-KEYS ## MAP-KEYS
`MAP-KEYS` navigates to every key in a map. `MAP-VALS` is more efficient than `[ALL FIRST]`. `MAP-KEYS` navigates to every key in a map. `MAP-KEYS` is more efficient than `[ALL FIRST]`.
```clojure ```clojure
=> (select [MAP-KEYS] {:a 3 :b 4}) => (select [MAP-KEYS] {:a 3 :b 4})
@ -305,7 +305,7 @@ the structure has no metadata or may not contain metadata.
```clojure ```clojure
=> (select-one META (with-meta {:a 0} {:meta :data})) => (select-one META (with-meta {:a 0} {:meta :data}))
{:meta :data} {:meta :data}
=> (meta (transform META #(assoc % :meta :datum) => (meta (transform META #(assoc % :meta :datum)
(with-meta {:a 0} {:meta :data}))) (with-meta {:a 0} {:meta :data})))
{:meta :datum} {:meta :datum}
``` ```
@ -450,7 +450,7 @@ data structure. `codewalker` preserves the metadata of any forms traversed.
See also [walker](#walker). See also [walker](#walker).
```clojure ```clojure
=> (select (codewalker #(and (map? %) (even? (:a %)))) => (select (codewalker #(and (map? %) (even? (:a %))))
(list (with-meta {:a 2} {:foo :bar}) (with-meta {:a 1} {:foo :baz}))) (list (with-meta {:a 2} {:foo :bar}) (with-meta {:a 1} {:foo :baz})))
({:a 2}) ({:a 2})
=> (map meta *1) => (map meta *1)
@ -473,7 +473,7 @@ See also [VAL](#val), [collect-one](#collect-one), and [putval](#putval)
=> (select [(collect ALL) (collect ALL) ALL] (range 3)) => (select [(collect ALL) (collect ALL) ALL] (range 3))
[[[0 1 2] [0 1 2] 0] [[0 1 2] [0 1 2] 1] [[0 1 2] [0 1 2] 2]] [[[0 1 2] [0 1 2] 0] [[0 1 2] [0 1 2] 1] [[0 1 2] [0 1 2] 2]]
;; Add the sum of the evens to the first element of the seq ;; Add the sum of the evens to the first element of the seq
=> (transform [(collect ALL even?) FIRST] => (transform [(collect ALL even?) FIRST]
(fn [evens first] (reduce + first evens)) (fn [evens first] (reduce + first evens))
(range 5)) (range 5))
(6 1 2 3 4) (6 1 2 3 4)
@ -755,14 +755,14 @@ Navigate to the specified indices (one after another). Transform to NONE to remo
`(parser parse-fn unparse-fn)` `(parser parse-fn unparse-fn)`
Navigate to the result of running `parse-fn` on the value. For Navigate to the result of running `parse-fn` on the value. For
transforms, the transformed value then has `unparse-fn` run on transforms, the transformed value then has `unparse-fn` run on
it to get the final value at this point. it to get the final value at this point.
```clojure ```clojure
=> (defn parse [address] (string/split address #"@")) => (defn parse [address] (string/split address #"@"))
=> (defn unparse [address] (string/join "@" address)) => (defn unparse [address] (string/join "@" address))
=> (select [ALL (parser parse unparse) #(= "gmail.com" (second %))] => (select [ALL (parser parse unparse) #(= "gmail.com" (second %))]
["test@example.com" "test@gmail.com"]) ["test@example.com" "test@gmail.com"])
[["test" "gmail.com"]] [["test" "gmail.com"]]
=> (transform [ALL (parser parse unparse) #(= "gmail.com" (second %))] => (transform [ALL (parser parse unparse) #(= "gmail.com" (second %))]
@ -828,7 +828,7 @@ See also [pred](#pred).
`(pred<= value)` `(pred<= value)`
Keeps elements only if they are less than the provided value. Keeps elements only if they are less than or equal to the provided value.
```clojure ```clojure
=> (select [ALL (pred<= 3)] [1 2 2 3 4 0]) => (select [ALL (pred<= 3)] [1 2 2 3 4 0])
@ -841,7 +841,7 @@ See also [pred](#pred).
`(pred>= value)` `(pred>= value)`
Keeps elements only if they are greater than the provided value. Keeps elements only if they are greater than or equal to the provided value.
```clojure ```clojure
=> (select [ALL (pred>= 3)] [1 2 2 3 4 0]) => (select [ALL (pred>= 3)] [1 2 2 3 4 0])
@ -876,7 +876,7 @@ The input path may be parameterized, in which case the result of selected?
will be parameterized in the order of which the parameterized navigators will be parameterized in the order of which the parameterized navigators
were declared. were declared.
See also [selected?](#selected?). See also [selected?](#selected?).
```clojure ```clojure
=> (select [ALL (not-selected? even?)] (range 10)) => (select [ALL (not-selected? even?)] (range 10))
@ -898,7 +898,7 @@ The input path may be parameterized, in which case the result of selected?
will be parameterized in the order of which the parameterized navigators will be parameterized in the order of which the parameterized navigators
were declared. were declared.
See also [not-selected?](#not-selected?). See also [not-selected?](#not-selected?).
```clojure ```clojure
=> (select [ALL (selected? even?)] (range 10)) => (select [ALL (selected? even?)] (range 10))
@ -1065,7 +1065,7 @@ See also [terminal-val](#terminal-val) and [multi-transform](List-of-Macros#mult
```clojure ```clojure
=> (multi-transform [(putval 3) (terminal +)] 1) => (multi-transform [(putval 3) (terminal +)] 1)
4 4
=> (multi-transform [:a :b (multi-path [:c (terminal inc)] => (multi-transform [:a :b (multi-path [:c (terminal inc)]
[:d (putval 3) (terminal +)])] [:d (putval 3) (terminal +)])]
{:a {:b {:c 42 :d 1}}}) {:a {:b {:c 42 :d 1}}})
{:a {:b {:c 43, :d 4}}} {:a {:b {:c 43, :d 4}}}
@ -1148,10 +1148,10 @@ See also [codewalker](#codewalker)
(4 2 6) (4 2 6)
;; Note that (3 4) and (6 7) are not returned because the search halted at ;; Note that (3 4) and (6 7) are not returned because the search halted at
;; (2 (3 4) (5 (6 7))). ;; (2 (3 4) (5 (6 7))).
=> (select (walker #(and (counted? %) (even? (count %)))) => (select (walker #(and (counted? %) (even? (count %))))
'(1 (2 (3 4) 5 (6 7)) (8 9))) '(1 (2 (3 4) 5 (6 7)) (8 9)))
((2 (3 4) 5 (6 7)) (8 9)) ((2 (3 4) 5 (6 7)) (8 9))
=> (setval (walker #(and (counted? %) (even? (count %)))) => (setval (walker #(and (counted? %) (even? (count %))))
:double :double
'(1 (2 (3 4) 5 (6 7)) (8 9))) '(1 (2 (3 4) 5 (6 7)) (8 9)))
(1 :double :double) (1 :double :double)