From 399e5661f115c49154efde8edaae0ff386720468 Mon Sep 17 00:00:00 2001 From: Alex Engelberg Date: Sun, 5 Jun 2016 22:11:34 -0700 Subject: [PATCH] The (identical?) trick doesn't work in cljs, but select-keys does --- src/clj/com/rpl/specter/transient.cljx | 7 +++++++ test/com/rpl/specter/core_test.cljx | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/clj/com/rpl/specter/transient.cljx b/src/clj/com/rpl/specter/transient.cljx index 304db07..ef15d54 100644 --- a/src/clj/com/rpl/specter/transient.cljx +++ b/src/clj/com/rpl/specter/transient.cljx @@ -50,6 +50,7 @@ "Navigates to the last element of a transient vector." (i/->PosNavigator t-get-last t-update-last)) +#+clj (defn- select-keys-from-transient-map "Selects keys from transient map, because built-in select-keys uses `find` which is unsupported." @@ -66,6 +67,12 @@ result) (rest m-keys)))))) +#+cljs +(defn- select-keys-from-transient-map + "Uses select-keys on a transient map." + [m m-keys] + (select-keys m m-keys)) + (defnav ^{:doc "Navigates to the specified persistent submap of a transient map."} submap! diff --git a/test/com/rpl/specter/core_test.cljx b/test/com/rpl/specter/core_test.cljx index 5e2d72b..225fd79 100644 --- a/test/com/rpl/specter/core_test.cljx +++ b/test/com/rpl/specter/core_test.cljx @@ -1054,7 +1054,7 @@ (defspec transient-map-test (for-all+ - [m (gen/not-empty (gen/map gen/keyword gen/int)) + [m (limit-size 5 (gen/not-empty (gen/map gen/keyword gen/int))) new-key gen/keyword] (let [existing-key (first (keys m))] (every? identity