mirror of
https://github.com/taoensso/telemere.git
synced 2025-12-16 17:41:12 +00:00
[nop] Use pr-edn* for Signal strings
This commit is contained in:
parent
254cd6471b
commit
e8f02ac13e
2 changed files with 19 additions and 23 deletions
|
|
@ -253,28 +253,19 @@
|
|||
sample, kind id level, ctx parent root, data kvs msg_,
|
||||
error run-form run-val end-inst run-nsecs]
|
||||
|
||||
Object (toString [sig] (str "taoensso.telemere.Signal" (into {} sig))))
|
||||
Object (toString [sig] (str "taoensso.telemere.Signal" (enc/pr-edn* (into {} sig)))))
|
||||
|
||||
;; NB intentionally verbose constructors for readability, to support extra keys
|
||||
(do (enc/def-print-impl [sig Signal] (str "#taoensso.telemere.Signal" (pr-str (into {} sig)))))
|
||||
#?(:clj (enc/def-print-dup [sig Signal] (str "#taoensso.telemere.impl.Signal" (pr-str (into {} sig)))))
|
||||
;; Verbose constructors for readability + to support extra keys
|
||||
(do (enc/def-print-impl [sig Signal] (str "#taoensso.telemere.Signal" (enc/pr-edn* (into {} sig)))))
|
||||
#?(:clj (enc/def-print-dup [sig Signal] (str "#taoensso.telemere.impl.Signal" (enc/pr-edn* (into {} sig)))))
|
||||
|
||||
(defn signal? #?(:cljs {:tag 'boolean}) [x] (instance? Signal x))
|
||||
|
||||
(def impl-signal-keys #{:_otel-context})
|
||||
(def standard-signal-keys
|
||||
(set/difference (set (keys (map->Signal {:schema 0})))
|
||||
impl-signal-keys))
|
||||
|
||||
(comment
|
||||
(def s1 (with-signal (signal! {:level :info, :my-k1 :my-v1})))
|
||||
(read-string (str (assoc s1 :my-k2 :my-v2)))
|
||||
(read-string (pr-str (assoc s1 :my-k2 :my-v2)))
|
||||
(read-string (binding [*print-dup* true] (pr-str (assoc s1 :my-k2 :my-v2))))
|
||||
|
||||
(defrecord MyRec [x])
|
||||
(read-string ; Non-verbose will fail on any extra keys
|
||||
(binding [*print-dup* true, *verbose-defrecords* false]
|
||||
(pr-str (assoc (MyRec. :x) :y :y)))))
|
||||
|
||||
(deftype #_defrecord WrappedSignal
|
||||
[kind ns id level signal-value_]
|
||||
sigs/ISignalHandling
|
||||
|
|
|
|||
|
|
@ -281,15 +281,20 @@
|
|||
(with-sig (sig! {:level :info, :xfn+ #(assoc % :bar true)})))]
|
||||
(is (sm? sv {:foo true, :bar true})))])])
|
||||
|
||||
#?(:clj
|
||||
(testing "Printing"
|
||||
(let [sv1 (dissoc (with-sig (sig! {:level :info, :run (+ 1 2), :my-k1 :my-v1})) :_otel-context)
|
||||
sv1 ; Ensure instants are printable
|
||||
(-> sv1
|
||||
(update-in [:inst] enc/inst->udt)
|
||||
(update-in [:end-inst] enc/inst->udt))]
|
||||
(testing "Printing"
|
||||
[#?(:clj (is (impl/signal? (read-string (binding [*print-dup* true] (pr-str (impl/map->Signal {})))))))
|
||||
#?(:clj (is (impl/signal? (read-string (binding [*print-dup* true] (pr-str (assoc (impl/map->Signal {}) :k :v)))))))
|
||||
(is (enc/str-starts-with? (binding [*print-dup* true] (str (assoc (impl/map->Signal {}) :k :v))) "taoensso.telemere.Signal{"))
|
||||
(is (enc/str-starts-with? (pr-str (assoc (impl/map->Signal {}) :k :v)) "#taoensso.telemere.Signal{"))
|
||||
(is (enc/str-starts-with? (str (assoc (impl/map->Signal {}) :k :v)) "taoensso.telemere.Signal{"))
|
||||
|
||||
[(is (= sv1 (read-string (pr-str sv1))))])))])
|
||||
#?(:clj
|
||||
(let [sv1 (dissoc (with-sig (sig! {:level :info, :run (+ 1 2), :my-k1 :my-v1})) :_otel-context)
|
||||
sv1 ; Ensure instants are printable
|
||||
(-> sv1
|
||||
(update-in [:inst] enc/inst->udt)
|
||||
(update-in [:end-inst] enc/inst->udt))]
|
||||
(is (= sv1 (read-string (pr-str sv1))) "Equality holds")))])])
|
||||
|
||||
(deftest _handlers
|
||||
;; Basic handler tests are in Encore
|
||||
|
|
|
|||
Loading…
Reference in a new issue