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