update docs and changelog
This commit is contained in:
parent
9a36f9ff00
commit
b7191b11c2
3 changed files with 6 additions and 2 deletions
|
|
@ -4,6 +4,8 @@
|
||||||
* Added `select-any` operation which selects a single element navigated to by the path. Which element returned is undefined. If no elements are navigated to, returns `com.rpl.specter/NONE`. This is the fastest selection operation.
|
* Added `select-any` operation which selects a single element navigated to by the path. Which element returned is undefined. If no elements are navigated to, returns `com.rpl.specter/NONE`. This is the fastest selection operation.
|
||||||
* Added `selected-any?` operation that returns true if any element is navigated to.
|
* Added `selected-any?` operation that returns true if any element is navigated to.
|
||||||
* Added `traverse` operation which returns a reducible object of all the elements navigated to by the path. Very efficient.
|
* Added `traverse` operation which returns a reducible object of all the elements navigated to by the path. Very efficient.
|
||||||
|
* Added `multi-transform` operation which can be used to perform multiple transformations in a single traversal. Much more efficient than doing the
|
||||||
|
transformations with `transform` one after another when the transformations share a lot of navigation. `multi-transform` is used in conjunction with `terminal` and `terminal-val` – see the docstring for details.
|
||||||
* Huge performance improvements to `select`, `select-one`, `select-first`, and `select-one!`
|
* Huge performance improvements to `select`, `select-one`, `select-first`, and `select-one!`
|
||||||
* Huge performance improvement to `multi-path`
|
* Huge performance improvement to `multi-path`
|
||||||
* Added META navigator (thanks @aengelberg)
|
* Added META navigator (thanks @aengelberg)
|
||||||
|
|
|
||||||
|
|
@ -137,7 +137,8 @@
|
||||||
(defn multi-transform*
|
(defn multi-transform*
|
||||||
"Just like `transform` but expects transform functions to be specified
|
"Just like `transform` but expects transform functions to be specified
|
||||||
inline in the path using `terminal`. Error is thrown if navigation finishes
|
inline in the path using `terminal`. Error is thrown if navigation finishes
|
||||||
at a non-`terminal` navigator."
|
at a non-`terminal` navigator. `terminal-val` is a wrapper around `terminal` and is
|
||||||
|
the `multi-transform` equivalent of `setval`."
|
||||||
[path structure]
|
[path structure]
|
||||||
(compiled-multi-transform (i/comp-paths* path) structure))
|
(compiled-multi-transform (i/comp-paths* path) structure))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -646,7 +646,8 @@
|
||||||
(defmacro multi-transform
|
(defmacro multi-transform
|
||||||
"Just like `transform` but expects transform functions to be specified
|
"Just like `transform` but expects transform functions to be specified
|
||||||
inline in the path using `terminal`. Error is thrown if navigation finishes
|
inline in the path using `terminal`. Error is thrown if navigation finishes
|
||||||
at a non-`terminal` navigator.
|
at a non-`terminal` navigator. `terminal-val` is a wrapper around `terminal` and is
|
||||||
|
the `multi-transform` equivalent of `setval`.
|
||||||
This macro will attempt to do inline factoring and caching of the path, falling
|
This macro will attempt to do inline factoring and caching of the path, falling
|
||||||
back to compiling the path on every invocation if it's not possible to
|
back to compiling the path on every invocation if it's not possible to
|
||||||
factor/cache the path."
|
factor/cache the path."
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue