Skip to content

Commit 5aa12a3

Browse files
mfikesswannodette
authored andcommitted
CLJS-2340: Have js-keys delegate directly to good.object/getKeys
1 parent 4607aff commit 5aa12a3

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

benchmark/cljs/benchmark_runner.cljs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@
3131
(println ";; amap")
3232
(simple-benchmark [arr (to-array (range 1000000))] (amap arr i ret (* 10 (aget arr i))) 1)
3333

34+
(println ";; js-keys")
35+
(simple-benchmark [obj (js-obj "a" 1 "b" 2) f js-keys] (f obj) 400000)
36+
(simple-benchmark [obj (js-obj "a" 1 "b" 2 "c" 3 "d" 4 "e" 5 "f" 6) f js-keys] (f obj) 400000)
37+
3438
(println ";;; instance?")
3539
;; WARNING: will get compiled away under advanced
3640
(simple-benchmark [coll []] (instance? PersistentVector coll) 1000000)

src/main/cljs/cljs/core.cljs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2150,9 +2150,7 @@ reduces them without incurring seq initialization"
21502150
(defn js-keys
21512151
"Return the JavaScript keys for an object."
21522152
[obj]
2153-
(let [keys (array)]
2154-
(gobject/forEach obj (fn [val key obj] (.push keys key)))
2155-
keys))
2153+
(gobject/getKeys obj))
21562154

21572155
(defn js-delete
21582156
"Delete a property from a JavaScript object."

0 commit comments

Comments
 (0)