@@ -10543,6 +10543,14 @@ reduces them without incurring seq initialization"
1054310543 (implements? IMeta obj)
1054410544 (not (nil? (meta obj)))))
1054510545
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+
1054610554(defn- pr-writer-impl
1054710555 [obj writer opts]
1054810556 (cond
@@ -10580,12 +10588,9 @@ reduces them without incurring seq initialization"
1058010588 (.map
1058110589 (js-keys obj)
1058210590 (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))))
1058910594 pr-writer writer opts))
1059010595
1059110596 (array? obj)
@@ -10754,20 +10759,22 @@ reduces them without incurring seq initialization"
1075410759 (keyword nil (name named))))
1075510760
1075610761(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."
1075810763 [m]
1075910764 (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])))))
1077110778
1077210779(defn print-prefix-map [prefix m print-one writer opts]
1077310780 (pr-sequential-writer
@@ -10780,10 +10787,11 @@ reduces them without incurring seq initialization"
1078010787 opts (seq m)))
1078110788
1078210789(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 ))]
1078510793 (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)
1078710795 (print-prefix-map nil m print-one writer opts))))
1078810796
1078910797(extend-protocol IPrintWithWriter
0 commit comments