From f26aa001ebc8ae2bd8d4dcf03635931c6fb2a516 Mon Sep 17 00:00:00 2001 From: Nathan Marz Date: Sat, 11 Jun 2016 09:51:28 -0400 Subject: [PATCH] make MAP-VALS work on nil --- src/clj/com/rpl/specter/impl.cljx | 5 +++++ test/com/rpl/specter/core_test.cljx | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/clj/com/rpl/specter/impl.cljx b/src/clj/com/rpl/specter/impl.cljx index 2bce1a1..f440efa 100644 --- a/src/clj/com/rpl/specter/impl.cljx +++ b/src/clj/com/rpl/specter/impl.cljx @@ -907,6 +907,11 @@ structure)) (extend-protocol MapValsTransformProtocol + nil + (map-vals-transform [structure next-fn] + nil + ) + #+clj clojure.lang.PersistentArrayMap #+cljs cljs.core/PersistentArrayMap (map-vals-transform [structure next-fn] (map-vals-non-transient-transform structure {} next-fn) diff --git a/test/com/rpl/specter/core_test.cljx b/test/com/rpl/specter/core_test.cljx index 2e7511c..b4cb852 100644 --- a/test/com/rpl/specter/core_test.cljx +++ b/test/com/rpl/specter/core_test.cljx @@ -1202,6 +1202,11 @@ (is (empty? (select s/ALL nil))) ) +(deftest map-vals-nil + (is (= nil (transform s/MAP-VALS inc nil))) + (is (empty? (select s/MAP-VALS nil))) + ) + (defspec dispense-test (for-all+ [k1 gen/int