Skip to content

Commit ddedc7a

Browse files
mfikesswannodette
authored andcommitted
CLJS-2282: Some valid keywords are strings in JS object literals
1 parent 33cefec commit ddedc7a

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

src/main/cljs/cljs/core.cljs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9636,7 +9636,7 @@ reduces them without incurring seq initialization"
96369636
(-write writer "#js ")
96379637
(print-map
96389638
(map (fn [k]
9639-
[(cond-> k (some? (re-matches #"[A-Za-z][\w\*\+\?!\-']*" k)) keyword) (unchecked-get obj k)])
9639+
[(cond-> k (some? (re-matches #"[A-Za-z_\*\+\?!\-'][\w\*\+\?!\-']*" k)) keyword) (unchecked-get obj k)])
96409640
(js-keys obj))
96419641
pr-writer writer opts))
96429642

src/test/cljs/cljs/core_test.cljs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1444,6 +1444,10 @@
14441444
(is (= "#js {:abc-def 1}" (pr-str #js {"abc-def" 1})))
14451445
(is (= "#js {:x*+?!-' 1}" (pr-str #js {"x*+?!-'" 1}))))
14461446

1447+
(deftest test-cljs-2282
1448+
(is (= "#js {:_abc 1}" (pr-str #js {"_abc" 1})))
1449+
(is (= "#js {:*compiler* 1}" (pr-str #js {"*compiler*" 1}))))
1450+
14471451
(comment
14481452
;; ObjMap
14491453
;; (let [ks (map (partial str "foo") (range 500))

0 commit comments

Comments
 (0)