Users caught by this change should receive a clear compile-time error.
Apologies for the nuissance!! This change is part of a final review
of names before the release of v1 final.
Users caught by this change should receive a clear compile-time error.
Apologies for the nuissance!! This change is part of a final review
of names before the release of v1 final.
Motivations:
- "xfn" is a lot shorter than "middleware", making it more
convenient to use at signal calls, compare:
(log! {:middleware my-fn} "msg")
(log! {:xfn my-fn} "msg"}
- "middleware" was originally chosen to match Timbre's terminology,
but actually carries some misleading connotations that in hindsight
are probably better avoided while we still have the chance to change
this.
This is the input-side change related to [1], and only
affects folks who've been providing custom callsite info to
Telemere signals (usually in the context of wrapper macros).
To provide custom callsite info BEFORE this commit:
(tel/signal! {:location {:ns "my-ns", :line 10, :column 20}})
To provide custom callsite info AFTER this commit:
(tel/signal! {:ns "my-ns", :coords [10 20]})
Motivation for the new override API:
- It's shorter and cleaner.
- It's less likely to cause confusion since it avoids the
redundant signal keys (signals previously contained callsite
info in 2 duplicate places).
- The underlying implementation is simpler.
- The util for manually getting coords is easier to use and doesn't
require macro-time environment info, making it easier for folks
to write wrapper macros that include line + column info.
- When embedded, the new callsite info is shorter and easier for
Cljs advanced compilation to de-duplicate (so helps reduce .js
build size).
[1] Commit 1f99f7186b