improve performance of non-compiled code path by 3x, remove ability for a vector to be considered a structurepath

This commit is contained in:
Nathan Marz 2015-05-10 19:56:30 -04:00
parent 4e268629c3
commit c47650993d
2 changed files with 6 additions and 6 deletions

View file

@ -153,7 +153,7 @@
e.g. (selected? :vals ALL even?) keeps the current element only if an
even number exists for the :vals key"
[& selectors]
(let [s (comp-paths selectors)]
(let [s (comp-paths* selectors)]
(fn [structure]
(->> structure
(select s)

View file

@ -97,17 +97,17 @@
updater (.updater sp)]
(->StructureValsPathFunctions
(fn [vals structure next-fn]
(selector vals structure
(curr-selector vals structure
(fn [vals-next structure-next]
(curr-selector vals-next structure-next next-fn)
(selector vals-next structure-next next-fn)
)))
(fn [vals structure next-fn]
(updater vals structure
(curr-updater vals structure
(fn [vals-next structure-next]
(curr-updater vals-next structure-next next-fn)
(updater vals-next structure-next next-fn)
)))
)))
(->> structure-paths flatten (map coerce-path) reverse))
(map coerce-path structure-paths))
))
;; cell implementation idea taken from prismatic schema library