From 19d10ed789bda4eb5757ac10cbfc319173555b4e Mon Sep 17 00:00:00 2001 From: Peter Taoussanis Date: Thu, 22 Aug 2024 09:02:21 +0200 Subject: [PATCH] [doc] [#17] Add example of using middleware to remove unwanted signal keys --- .../signal-docstrings/signal-content.txt | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/resources/signal-docstrings/signal-content.txt b/resources/signal-docstrings/signal-content.txt index 3237085..7f9e926 100644 --- a/resources/signal-docstrings/signal-content.txt +++ b/resources/signal-docstrings/signal-content.txt @@ -1,5 +1,5 @@ -Signals are maps with {:keys [inst id ns level data msg_ ...]}, -though they can be modified by signal and/or handler middleware. +Signals are maps with {:keys [inst id ns level data msg_ ...]}, though they +can be modified by signal and/or handler middleware (see end for examples). Default signal keys: @@ -38,6 +38,21 @@ Default signal keys: in handler output, so a great way to provide custom data/opts for use (only) by custom middleware/handlers. +-- + +Middleware examples: + + Remove key/s from all signals: + + (t/set-middleware! (fn [signal] (dissoc signal :unwanted-key1 ...))) + + Remove key/s from signals to specific handler: + + (t/add-handler! ::my-handler my-handler + {:middleware (fn [signal] (dissoc signal :unwanted-key1 ...))}) + +-- + If anything is unclear, please ping me (@ptaoussanis) so that I can improve these docs! [1] `java.time.Instant` or `js/Date`