@@ -10520,6 +10520,12 @@ reduces them without incurring seq initialization"
1052010520 (implements? IMeta obj)
1052110521 (not (nil? (meta obj)))))
1052210522
10523+ (defn- pr-map-entry [k v]
10524+ (reify
10525+ IMapEntry
10526+ (-key [_] k)
10527+ (-val [_] v)))
10528+
1052310529(defn- pr-writer-impl
1052410530 [obj writer opts]
1052510531 (cond
@@ -10557,12 +10563,9 @@ reduces them without incurring seq initialization"
1055710563 (.map
1055810564 (js-keys obj)
1055910565 (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))))
1056610569 pr-writer writer opts))
1056710570
1056810571 (array? obj)
@@ -10731,20 +10734,22 @@ reduces them without incurring seq initialization"
1073110734 (keyword nil (name named))))
1073210735
1073310736(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."
1073510738 [m]
1073610739 (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])))))
1074810753
1074910754(defn print-prefix-map [prefix m print-one writer opts]
1075010755 (pr-sequential-writer
@@ -10757,10 +10762,11 @@ reduces them without incurring seq initialization"
1075710762 opts (seq m)))
1075810763
1075910764(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 ))]
1076210768 (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)
1076410770 (print-prefix-map nil m print-one writer opts))))
1076510771
1076610772(extend-protocol IPrintWithWriter
0 commit comments