@@ -10543,6 +10543,14 @@ reduces them without incurring seq initialization"
10543
10543
(implements? IMeta obj)
10544
10544
(not (nil? (meta obj)))))
10545
10545
10546
+ (defn- pr-map-entry [k v]
10547
+ (reify
10548
+ IMapEntry
10549
+ (-key [_] k)
10550
+ (-val [_] v)
10551
+ ISeqable
10552
+ (-seq [_] (IndexedSeq. #js [k v] 0 nil ))))
10553
+
10546
10554
(defn- pr-writer-impl
10547
10555
[obj writer opts]
10548
10556
(cond
@@ -10580,12 +10588,9 @@ reduces them without incurring seq initialization"
10580
10588
(.map
10581
10589
(js-keys obj)
10582
10590
(fn [k]
10583
- (reify
10584
- IMapEntry
10585
- (-key [_]
10586
- (cond-> k (some? (.match k #"^[A-Za-z_\*\+\? !\- '][\w\*\+\? !\- ']*$" )) keyword))
10587
- (-val [_]
10588
- (unchecked-get obj k)))))
10591
+ (pr-map-entry
10592
+ (cond-> k (some? (.match k #"^[A-Za-z_\*\+\? !\- '][\w\*\+\? !\- ']*$" )) keyword)
10593
+ (unchecked-get obj k))))
10589
10594
pr-writer writer opts))
10590
10595
10591
10596
(array? obj)
@@ -10754,20 +10759,22 @@ reduces them without incurring seq initialization"
10754
10759
(keyword nil (name named))))
10755
10760
10756
10761
(defn- lift-ns
10757
- " Returns [lifted-ns lifted-map] or nil if m can't be lifted."
10762
+ " Returns #js [lifted-ns lifted-map] or nil if m can't be lifted."
10758
10763
[m]
10759
10764
(when *print-namespace-maps*
10760
- (loop [ns nil
10761
- [[k v :as entry] & entries] (seq m)
10762
- lm (empty m)]
10763
- (if entry
10764
- (when (or (keyword? k) (symbol? k))
10765
- (if ns
10766
- (when (= ns (namespace k))
10767
- (recur ns entries (assoc lm (strip-ns k) v)))
10768
- (when-let [new-ns (namespace k)]
10769
- (recur new-ns entries (assoc lm (strip-ns k) v)))))
10770
- [ns lm]))))
10765
+ (let [lm #js []]
10766
+ (loop [ns nil
10767
+ [[k v :as entry] & entries] (seq m)]
10768
+ (if entry
10769
+ (when (or (keyword? k) (symbol? k))
10770
+ (if ns
10771
+ (when (= ns (namespace k))
10772
+ (.push lm (pr-map-entry (strip-ns k) v))
10773
+ (recur ns entries))
10774
+ (when-let [new-ns (namespace k)]
10775
+ (.push lm (pr-map-entry (strip-ns k) v))
10776
+ (recur new-ns entries))))
10777
+ #js [ns lm])))))
10771
10778
10772
10779
(defn print-prefix-map [prefix m print-one writer opts]
10773
10780
(pr-sequential-writer
@@ -10780,10 +10787,11 @@ reduces them without incurring seq initialization"
10780
10787
opts (seq m)))
10781
10788
10782
10789
(defn print-map [m print-one writer opts]
10783
- (let [[ns lift-map] (when (map? m)
10784
- (lift-ns m))]
10790
+ (let [ns&lift-map (when (map? m)
10791
+ (lift-ns m))
10792
+ ns (some-> ns&lift-map (aget 0 ))]
10785
10793
(if ns
10786
- (print-prefix-map (str_ " #:" ns ) lift-map print-one writer opts)
10794
+ (print-prefix-map (str_ " #:" ns ) ( aget ns& lift-map 1 ) print-one writer opts)
10787
10795
(print-prefix-map nil m print-one writer opts))))
10788
10796
10789
10797
(extend-protocol IPrintWithWriter
0 commit comments