@@ -10520,6 +10520,12 @@ reduces them without incurring seq initialization"
10520
10520
(implements? IMeta obj)
10521
10521
(not (nil? (meta obj)))))
10522
10522
10523
+ (defn- pr-map-entry [k v]
10524
+ (reify
10525
+ IMapEntry
10526
+ (-key [_] k)
10527
+ (-val [_] v)))
10528
+
10523
10529
(defn- pr-writer-impl
10524
10530
[obj writer opts]
10525
10531
(cond
@@ -10557,12 +10563,9 @@ reduces them without incurring seq initialization"
10557
10563
(.map
10558
10564
(js-keys obj)
10559
10565
(fn [k]
10560
- (reify
10561
- IMapEntry
10562
- (-key [_]
10563
- (cond-> k (some? (.match k #"^[A-Za-z_\*\+\? !\- '][\w\*\+\? !\- ']*$" )) keyword))
10564
- (-val [_]
10565
- (unchecked-get obj k)))))
10566
+ (pr-map-entry
10567
+ (cond-> k (some? (.match k #"^[A-Za-z_\*\+\? !\- '][\w\*\+\? !\- ']*$" )) keyword)
10568
+ (unchecked-get obj k))))
10566
10569
pr-writer writer opts))
10567
10570
10568
10571
(array? obj)
@@ -10731,20 +10734,22 @@ reduces them without incurring seq initialization"
10731
10734
(keyword nil (name named))))
10732
10735
10733
10736
(defn- lift-ns
10734
- " Returns [lifted-ns lifted-map] or nil if m can't be lifted."
10737
+ " Returns #js [lifted-ns lifted-map] or nil if m can't be lifted."
10735
10738
[m]
10736
10739
(when *print-namespace-maps*
10737
- (loop [ns nil
10738
- [[k v :as entry] & entries] (seq m)
10739
- lm (empty m)]
10740
- (if entry
10741
- (when (or (keyword? k) (symbol? k))
10742
- (if ns
10743
- (when (= ns (namespace k))
10744
- (recur ns entries (assoc lm (strip-ns k) v)))
10745
- (when-let [new-ns (namespace k)]
10746
- (recur new-ns entries (assoc lm (strip-ns k) v)))))
10747
- [ns lm]))))
10740
+ (let [lm #js []]
10741
+ (loop [ns nil
10742
+ [[k v :as entry] & entries] (seq m)]
10743
+ (if entry
10744
+ (when (or (keyword? k) (symbol? k))
10745
+ (if ns
10746
+ (when (= ns (namespace k))
10747
+ (.push lm (pr-map-entry (strip-ns k) v))
10748
+ (recur ns entries))
10749
+ (when-let [new-ns (namespace k)]
10750
+ (.push lm (pr-map-entry (strip-ns k) v))
10751
+ (recur new-ns entries))))
10752
+ #js [ns lm])))))
10748
10753
10749
10754
(defn print-prefix-map [prefix m print-one writer opts]
10750
10755
(pr-sequential-writer
@@ -10757,10 +10762,11 @@ reduces them without incurring seq initialization"
10757
10762
opts (seq m)))
10758
10763
10759
10764
(defn print-map [m print-one writer opts]
10760
- (let [[ns lift-map] (when (map? m)
10761
- (lift-ns m))]
10765
+ (let [ns&lift-map (when (map? m)
10766
+ (lift-ns m))
10767
+ ns (some-> ns&lift-map (aget 0 ))]
10762
10768
(if ns
10763
- (print-prefix-map (str " #:" ns ) lift-map print-one writer opts)
10769
+ (print-prefix-map (str " #:" ns ) ( aget ns& lift-map 1 ) print-one writer opts)
10764
10770
(print-prefix-map nil m print-one writer opts))))
10765
10771
10766
10772
(extend-protocol IPrintWithWriter
0 commit comments