Skip to content

Commit

Permalink
[fix] pr-signal pr-fn support broken
Browse files Browse the repository at this point in the history
Thanks to @denismc for the report!
  • Loading branch information
ptaoussanis committed May 8, 2024
1 parent 8afb25d commit e7cce0c
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 26 deletions.
8 changes: 4 additions & 4 deletions src/taoensso/telemere/utils.cljc
Original file line number Diff line number Diff line change
Expand Up @@ -620,9 +620,7 @@
:param 'pr-fn
:expected
#?(:clj '#{:edn unary-fn}
:cljs '#{:edn :json unary-fn})}))

(have fn? pr-fn)))]
:cljs '#{:edn :json unary-fn})}))))]

(fn pr-signal [signal]
(let [not-map? (not (map? signal))
Expand All @@ -635,7 +633,9 @@
(str output nl)
(do output)))))))

(comment ((pr-signal-fn :edn) (tel/with-signal (tel/event! ::ev-id {:kvs {:k1 "v1"}}))))
(comment
((pr-signal-fn :edn) (tel/with-signal (tel/event! ::ev-id {:kvs {:k1 "v1"}})))
((pr-signal-fn (fn [_] "str")) (tel/with-signal (tel/event! ::ev-id {:kvs {:k1 "v1"}}))))

(defn format-signal-fn
"Experimental, subject to change.
Expand Down
49 changes: 27 additions & 22 deletions test/taoensso/telemere_tests.cljc
Original file line number Diff line number Diff line change
Expand Up @@ -686,28 +686,33 @@
(is (enc/str-ends-with? preamble "::ev-id"))
(is (string? (re-find #"taoensso.telemere-tests\(\d+,\d+\)" preamble)))]))

(testing "pr-signal-fn/edn"
(let [sig (update (with-sig (tel/event! ::ev-id {:inst t0})) :inst enc/inst->udt)
sig* (enc/read-edn ((tel/pr-signal-fn :edn) sig))]
(is
(enc/submap? sig*
{:schema 1, :kind :event, :id ::ev-id, :level :info,
:ns "taoensso.telemere-tests"
:inst udt0
:line pnat-int?
:column pnat-int?}))))

#?(:cljs
(testing "pr-signal-fn/json"
(let [sig (with-sig (tel/event! ::ev-id {:inst t0}))
sig* (enc/read-json ((tel/pr-signal-fn :json) sig))]
(is
(enc/submap? sig*
{"schema" 1, "kind" "event", "id" "taoensso.telemere-tests/ev-id",
"level" "info", "ns" "taoensso.telemere-tests",
"inst" t0s
"line" pnat-int?
"column" pnat-int?})))))
(testing "pr-signal-fn"
(let [sig (with-sig (tel/event! ::ev-id {:inst t0}))]

[(testing ":edn"
(let [sig (update sig :inst enc/inst->udt)
sig* (enc/read-edn ((tel/pr-signal-fn :edn) sig))]
(is
(enc/submap? sig*
{:schema 1, :kind :event, :id ::ev-id, :level :info,
:ns "taoensso.telemere-tests"
:inst udt0
:line pnat-int?
:column pnat-int?}))))

#?(:cljs
(testing ":json"
(let [sig* (enc/read-json ((tel/pr-signal-fn :json) sig))]
(is
(enc/submap? sig*
{"schema" 1, "kind" "event", "id" "taoensso.telemere-tests/ev-id",
"level" "info", "ns" "taoensso.telemere-tests",
"inst" t0s
"line" pnat-int?
"column" pnat-int?})))))

(testing "user fn"
(is (= ((tel/pr-signal-fn (fn [_] "str")) sig) (str "str" utils/newline))))]))

(testing "format-signal-fn"
(let [sig (with-sig (tel/event! ::ev-id {:inst t0}))]
Expand Down

0 comments on commit e7cce0c

Please sign in to comment.