From e057ee8d22041ea777f9ee09b79b2423eb67ef1d Mon Sep 17 00:00:00 2001 From: Nathan Marz Date: Thu, 1 Sep 2016 17:04:58 -0400 Subject: [PATCH] add note about original-obj --- src/clj/com/rpl/specter/impl.cljc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/clj/com/rpl/specter/impl.cljc b/src/clj/com/rpl/specter/impl.cljc index 61e5b69..42d3bc4 100644 --- a/src/clj/com/rpl/specter/impl.cljc +++ b/src/clj/com/rpl/specter/impl.cljc @@ -603,6 +603,9 @@ (defn dynamic-var? [v] (-> v meta :dynamic)) +;; original-obj stuff is done to avoid using functions with metadata on them +;; clojure's implementation of function metadata causes the function to do an +;; apply for every invocation (defn direct-nav-obj [o] (vary-meta o merge {:direct-nav true :original-obj o}))