From 39e8c758fce3fc06574ba19b251ac88b3adf1ae3 Mon Sep 17 00:00:00 2001 From: nathanmarz Date: Tue, 10 Jan 2017 09:30:34 -0500 Subject: [PATCH] fix missing wrap-dynamic-nav in cljs --- src/clj/com/rpl/specter.cljc | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/clj/com/rpl/specter.cljc b/src/clj/com/rpl/specter.cljc index b486f08..d2e86ca 100644 --- a/src/clj/com/rpl/specter.cljc +++ b/src/clj/com/rpl/specter.cljc @@ -23,6 +23,19 @@ #?(:clj [com.rpl.specter.macros :as macros]) [clojure.set :as set])) +(defn- static-path? [path] + (if (sequential? path) + (every? static-path? path) + (-> path i/dynamic-param? not) + )) + +(defn wrap-dynamic-nav [f] + (fn [& args] + (let [ret (apply f args)] + (if (and (sequential? ret) (static-path? ret)) + (i/comp-paths* ret) + ret + )))) #?(:clj (do @@ -114,20 +127,6 @@ attr)] [(with-meta name attr) macro-args])) - (defn- static-path? [path] - (if (sequential? path) - (every? static-path? path) - (-> path i/dynamic-param? not) - )) - - (defn wrap-dynamic-nav [f] - (fn [& args] - (let [ret (apply f args)] - (if (and (sequential? ret) (static-path? ret)) - (i/comp-paths* ret) - ret - )))) - (defmacro dynamicnav [& args] `(vary-meta (wrap-dynamic-nav (fn ~@args)) assoc :dynamicnav true))