@digital-alchemy/core 26.1.9 → 26.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/CLAUDE.md +302 -0
  2. package/README.md +19 -3
  3. package/dist/helpers/async.d.mts +37 -0
  4. package/dist/helpers/async.mjs +50 -15
  5. package/dist/helpers/async.mjs.map +1 -1
  6. package/dist/helpers/config-environment-loader.d.mts +39 -0
  7. package/dist/helpers/config-environment-loader.mjs +51 -11
  8. package/dist/helpers/config-environment-loader.mjs.map +1 -1
  9. package/dist/helpers/config-file-loader.d.mts +66 -1
  10. package/dist/helpers/config-file-loader.mjs +82 -6
  11. package/dist/helpers/config-file-loader.mjs.map +1 -1
  12. package/dist/helpers/config.d.mts +202 -5
  13. package/dist/helpers/config.mjs +60 -0
  14. package/dist/helpers/config.mjs.map +1 -1
  15. package/dist/helpers/context.d.mts +12 -1
  16. package/dist/helpers/cron.d.mts +154 -7
  17. package/dist/helpers/cron.mjs +47 -4
  18. package/dist/helpers/cron.mjs.map +1 -1
  19. package/dist/helpers/errors.d.mts +45 -0
  20. package/dist/helpers/errors.mjs +45 -0
  21. package/dist/helpers/errors.mjs.map +1 -1
  22. package/dist/helpers/events.d.mts +23 -0
  23. package/dist/helpers/events.mjs +23 -0
  24. package/dist/helpers/events.mjs.map +1 -1
  25. package/dist/helpers/extend.d.mts +50 -0
  26. package/dist/helpers/extend.mjs +63 -0
  27. package/dist/helpers/extend.mjs.map +1 -1
  28. package/dist/helpers/index.d.mts +9 -0
  29. package/dist/helpers/index.mjs +9 -0
  30. package/dist/helpers/index.mjs.map +1 -1
  31. package/dist/helpers/lifecycle.d.mts +102 -16
  32. package/dist/helpers/lifecycle.mjs +19 -1
  33. package/dist/helpers/lifecycle.mjs.map +1 -1
  34. package/dist/helpers/logger.d.mts +178 -17
  35. package/dist/helpers/logger.mjs +41 -1
  36. package/dist/helpers/logger.mjs.map +1 -1
  37. package/dist/helpers/module.d.mts +110 -0
  38. package/dist/helpers/module.mjs +55 -6
  39. package/dist/helpers/module.mjs.map +1 -1
  40. package/dist/helpers/service-runner.d.mts +27 -1
  41. package/dist/helpers/service-runner.mjs +27 -1
  42. package/dist/helpers/service-runner.mjs.map +1 -1
  43. package/dist/helpers/utilities.d.mts +123 -3
  44. package/dist/helpers/utilities.mjs +110 -3
  45. package/dist/helpers/utilities.mjs.map +1 -1
  46. package/dist/helpers/wiring.d.mts +385 -0
  47. package/dist/helpers/wiring.mjs +120 -0
  48. package/dist/helpers/wiring.mjs.map +1 -1
  49. package/dist/services/als.service.d.mts +10 -0
  50. package/dist/services/als.service.mjs +49 -0
  51. package/dist/services/als.service.mjs.map +1 -1
  52. package/dist/services/configuration.service.d.mts +22 -0
  53. package/dist/services/configuration.service.mjs +140 -12
  54. package/dist/services/configuration.service.mjs.map +1 -1
  55. package/dist/services/index.d.mts +8 -0
  56. package/dist/services/index.mjs +8 -0
  57. package/dist/services/index.mjs.map +1 -1
  58. package/dist/services/internal.service.d.mts +98 -19
  59. package/dist/services/internal.service.mjs +91 -9
  60. package/dist/services/internal.service.mjs.map +1 -1
  61. package/dist/services/is.service.d.mts +64 -4
  62. package/dist/services/is.service.mjs +67 -4
  63. package/dist/services/is.service.mjs.map +1 -1
  64. package/dist/services/lifecycle.service.d.mts +26 -0
  65. package/dist/services/lifecycle.service.mjs +67 -9
  66. package/dist/services/lifecycle.service.mjs.map +1 -1
  67. package/dist/services/logger.service.d.mts +27 -0
  68. package/dist/services/logger.service.mjs +133 -9
  69. package/dist/services/logger.service.mjs.map +1 -1
  70. package/dist/services/scheduler.service.d.mts +19 -0
  71. package/dist/services/scheduler.service.mjs +87 -4
  72. package/dist/services/scheduler.service.mjs.map +1 -1
  73. package/dist/services/wiring.service.d.mts +29 -1
  74. package/dist/services/wiring.service.mjs +153 -20
  75. package/dist/services/wiring.service.mjs.map +1 -1
  76. package/dist/testing/index.d.mts +4 -0
  77. package/dist/testing/index.mjs +4 -0
  78. package/dist/testing/index.mjs.map +1 -1
  79. package/dist/testing/mock-logger.d.mts +8 -0
  80. package/dist/testing/mock-logger.mjs +9 -0
  81. package/dist/testing/mock-logger.mjs.map +1 -1
  82. package/dist/testing/test-module.d.mts +107 -27
  83. package/dist/testing/test-module.mjs +58 -1
  84. package/dist/testing/test-module.mjs.map +1 -1
  85. package/package.json +33 -31
@@ -1 +1 @@
1
- {"version":3,"file":"is.service.mjs","sourceRoot":"","sources":["../../src/services/is.service.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"is.service.mjs","sourceRoot":"","sources":["../../src/services/is.service.mts"],"names":[],"mappings":"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"}
@@ -1,5 +1,31 @@
1
1
  import type { LifecycleStages, TLifecycleBase } from "../index.mts";
2
+ /**
3
+ * Lifecycle event registry for per-bootstrap stage callbacks.
4
+ *
5
+ * @remarks
6
+ * Creates and owns a Map of lifecycle stage names to callback lists. Exposes
7
+ * seven hook attachment methods (`onPreInit`, `onPostConfig`, etc.) that queue
8
+ * callbacks for later execution. The returned `exec()` method is called by the
9
+ * wiring engine at each stage to fire callbacks in strict order: positive
10
+ * priorities (high to low), unprioritized (any order), negative priorities
11
+ * (high to low). Each stage is fired only once; subsequent attaches on a stage
12
+ * that has already executed fire the callback immediately.
13
+ */
2
14
  export declare function CreateLifecycle(): {
15
+ /**
16
+ * Event hook registry for all seven lifecycle stages.
17
+ */
3
18
  events: TLifecycleBase;
19
+ /**
20
+ * Execute all callbacks for a named lifecycle stage in strict order.
21
+ *
22
+ * @remarks
23
+ * Splits callbacks by priority: positive (high to low), unprioritized (any
24
+ * order), negative (high to low). Runs positive and negative series in order,
25
+ * unprioritized in parallel. Removes the stage from the map after execution
26
+ * so that late-attaching callbacks to an executed stage fire immediately.
27
+ *
28
+ * @returns Execution duration in milliseconds.
29
+ */
4
30
  exec(stage: LifecycleStages): Promise<string>;
5
31
  };
@@ -2,28 +2,91 @@ import { DOWN, each, eachSeries, LIFECYCLE_STAGES, UP } from "../index.mjs";
2
2
  import { is } from "./is.service.mjs";
3
3
  const PRE_CALLBACKS_START = 0;
4
4
  const DECIMALS = 2;
5
+ /**
6
+ * Lifecycle event registry for per-bootstrap stage callbacks.
7
+ *
8
+ * @remarks
9
+ * Creates and owns a Map of lifecycle stage names to callback lists. Exposes
10
+ * seven hook attachment methods (`onPreInit`, `onPostConfig`, etc.) that queue
11
+ * callbacks for later execution. The returned `exec()` method is called by the
12
+ * wiring engine at each stage to fire callbacks in strict order: positive
13
+ * priorities (high to low), unprioritized (any order), negative priorities
14
+ * (high to low). Each stage is fired only once; subsequent attaches on a stage
15
+ * that has already executed fire the callback immediately.
16
+ */
5
17
  export function CreateLifecycle() {
6
18
  const events = new Map(LIFECYCLE_STAGES.map((event) => [event, []]));
19
+ /**
20
+ * Attach a callback to a named lifecycle stage with optional priority.
21
+ *
22
+ * @remarks
23
+ * If the stage has not yet been stored in the map (already executed), the
24
+ * callback fires immediately unless it is a Shutdown stage (which are never
25
+ * re-fired after they have been executed).
26
+ */
7
27
  function attachEvent(callback, name, priority) {
8
28
  const stageList = events.get(name);
29
+ // stage already executed (not in the map) — fire immediately unless Shutdown
9
30
  if (!is.array(stageList)) {
10
31
  if (!name.includes("Shutdown")) {
11
32
  callback();
12
33
  }
13
34
  return;
14
35
  }
36
+ // stage is still pending; queue the callback with its priority
15
37
  stageList.push({ callback, priority });
16
38
  }
17
39
  return {
40
+ /**
41
+ * Event hook registry for all seven lifecycle stages.
42
+ */
18
43
  events: {
44
+ /**
45
+ * Pre-initialization hook; safe for initial state setup.
46
+ *
47
+ * @remarks
48
+ * Config is not yet loaded; do not read `config.*` at this stage.
49
+ */
19
50
  onBootstrap: (callback, priority) => attachEvent(callback, "Bootstrap", priority),
51
+ /**
52
+ * Post-config hook; all configuration is now available.
53
+ */
20
54
  onPostConfig: (callback, priority) => attachEvent(callback, "PostConfig", priority),
55
+ /**
56
+ * Pre-initialization hook; config and modules are loaded.
57
+ */
21
58
  onPreInit: (callback, priority) => attachEvent(callback, "PreInit", priority),
59
+ /**
60
+ * Pre-shutdown hook; graceful shutdown is beginning.
61
+ */
22
62
  onPreShutdown: (callback, priority) => attachEvent(callback, "PreShutdown", priority),
63
+ /**
64
+ * Ready hook; all services are wired and the app is fully running.
65
+ *
66
+ * @remarks
67
+ * This is the stage where schedulers, servers, and long-running tasks begin.
68
+ */
23
69
  onReady: (callback, priority) => attachEvent(callback, "Ready", priority),
70
+ /**
71
+ * Shutdown-complete hook; cleanup is done.
72
+ */
24
73
  onShutdownComplete: (callback, priority) => attachEvent(callback, "ShutdownComplete", priority),
74
+ /**
75
+ * Shutdown-start hook; active connections are closing.
76
+ */
25
77
  onShutdownStart: (callback, priority) => attachEvent(callback, "ShutdownStart", priority),
26
78
  },
79
+ /**
80
+ * Execute all callbacks for a named lifecycle stage in strict order.
81
+ *
82
+ * @remarks
83
+ * Splits callbacks by priority: positive (high to low), unprioritized (any
84
+ * order), negative (high to low). Runs positive and negative series in order,
85
+ * unprioritized in parallel. Removes the stage from the map after execution
86
+ * so that late-attaching callbacks to an executed stage fire immediately.
87
+ *
88
+ * @returns Execution duration in milliseconds.
89
+ */
27
90
  async exec(stage) {
28
91
  const start = performance.now();
29
92
  const list = events.get(stage);
@@ -33,7 +96,7 @@ export function CreateLifecycle() {
33
96
  const quick = list.filter(({ priority }) => priority === undefined);
34
97
  const positive = [];
35
98
  const negative = [];
36
- // console.error("HIT 1");
99
+ // segregate sorted callbacks into positive and negative priority buckets
37
100
  sorted.forEach(i => {
38
101
  if (i.priority >= PRE_CALLBACKS_START) {
39
102
  positive.push(i);
@@ -41,16 +104,11 @@ export function CreateLifecycle() {
41
104
  }
42
105
  negative.push(i);
43
106
  });
44
- // * callbacks with a priority greater than 0
45
- // high to low (1000 => 0)
107
+ // execute positive priorities in descending order (high to low)
46
108
  await eachSeries(positive.toSorted((a, b) => (a.priority < b.priority ? UP : DOWN)), async ({ callback }) => await callback());
47
- // console.error("HIT 2");
48
- // * callbacks without a priority
49
- // any order
109
+ // execute unprioritized callbacks in parallel
50
110
  await each(quick, async ({ callback }) => await callback());
51
- // console.error("HIT 3");
52
- // * callbacks with a priority less than 0
53
- // high to low (-1 => -1000)
111
+ // execute negative priorities in descending order (-1 to -1000)
54
112
  await eachSeries(negative.toSorted((a, b) => (a.priority < b.priority ? UP : DOWN)), async ({ callback }) => await callback());
55
113
  }
56
114
  return `${(performance.now() - start).toFixed(DECIMALS)}ms`;
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.service.mjs","sourceRoot":"","sources":["../../src/services/lifecycle.service.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.service.mjs","sourceRoot":"","sources":["../../src/services/lifecycle.service.mts"],"names":[],"mappings":"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"}
@@ -1,2 +1,29 @@
1
1
  import type { DigitalAlchemyLogger, TServiceParams } from "../index.mts";
2
+ /**
3
+ * Logger factory — chalk/stdout formatter, ALS integration, level filtering,
4
+ * multi-target fan-out, and the `context(ctx)` builder.
5
+ *
6
+ * @remarks
7
+ * Owns the module-level `logger` record that maps each log level to a
8
+ * formatting+routing function. That record is replaced wholesale when a
9
+ * `customLogger` is provided via bootstrap options.
10
+ *
11
+ * The `context(ctx)` method returns a `GetLogger` scoped to a specific
12
+ * `TContext` string. Each scoped logger evaluates `shouldILog[level]` on every
13
+ * call so level changes propagated via `EVENT_UPDATE_LOG_LEVELS` take effect
14
+ * immediately without any per-call config lookup.
15
+ *
16
+ * **Pretty format** applies chalk colorization and bracket/brace highlighting
17
+ * to messages up to `MAX_CUTOFF` characters. Turn it off (e.g. for Docker
18
+ * log aggregators) via `loggerOptions.pretty = false` in bootstrap options.
19
+ *
20
+ * **ALS integration** (`loggerOptions.als = true`) merges per-request data
21
+ * stored in `AsyncLocalStorage` into every log payload, and can substitute a
22
+ * thread-local child logger for the default stdout writer.
23
+ *
24
+ * **Extra targets** (`addTarget`) accept either a `LogStreamTarget` function
25
+ * (raw msg + payload) or any object that conforms to `GetLogger` (same level
26
+ * methods as the default logger). All registered targets receive every log
27
+ * regardless of the `stdOut` setting.
28
+ */
2
29
  export declare function Logger({ lifecycle, config, event, internal, als, }: TServiceParams): Promise<DigitalAlchemyLogger>;
@@ -20,6 +20,33 @@ const frontDash = " - ";
20
20
  const SYMBOL_START = 1;
21
21
  const SYMBOL_END = -1;
22
22
  const LEVEL_MAX = 7;
23
+ /**
24
+ * Logger factory — chalk/stdout formatter, ALS integration, level filtering,
25
+ * multi-target fan-out, and the `context(ctx)` builder.
26
+ *
27
+ * @remarks
28
+ * Owns the module-level `logger` record that maps each log level to a
29
+ * formatting+routing function. That record is replaced wholesale when a
30
+ * `customLogger` is provided via bootstrap options.
31
+ *
32
+ * The `context(ctx)` method returns a `GetLogger` scoped to a specific
33
+ * `TContext` string. Each scoped logger evaluates `shouldILog[level]` on every
34
+ * call so level changes propagated via `EVENT_UPDATE_LOG_LEVELS` take effect
35
+ * immediately without any per-call config lookup.
36
+ *
37
+ * **Pretty format** applies chalk colorization and bracket/brace highlighting
38
+ * to messages up to `MAX_CUTOFF` characters. Turn it off (e.g. for Docker
39
+ * log aggregators) via `loggerOptions.pretty = false` in bootstrap options.
40
+ *
41
+ * **ALS integration** (`loggerOptions.als = true`) merges per-request data
42
+ * stored in `AsyncLocalStorage` into every log payload, and can substitute a
43
+ * thread-local child logger for the default stdout writer.
44
+ *
45
+ * **Extra targets** (`addTarget`) accept either a `LogStreamTarget` function
46
+ * (raw msg + payload) or any object that conforms to `GetLogger` (same level
47
+ * methods as the default logger). All registered targets receive every log
48
+ * regardless of the `stdOut` setting.
49
+ */
23
50
  export async function Logger({ lifecycle, config, event, internal, als, }) {
24
51
  const { is } = internal.utils;
25
52
  let lastMessage = performance.now();
@@ -33,10 +60,18 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
33
60
  const YELLOW_DASH = chalk.yellowBright(frontDash);
34
61
  const BLUE_TICK = chalk.blue(`>`);
35
62
  let prettyFormat = is.boolean(loggerOptions.pretty) ? loggerOptions.pretty : true;
36
- // make sure the object formatter respects the pretty option
37
- // if this is enabled while outputting to docker logs, the output becomes much harder to read
63
+ // keep inspect colorization in sync with the pretty flag so object dumps
64
+ // look consistent whether output goes to a TTY or a log aggregator
38
65
  inspect.defaultOptions.colors = prettyFormat;
39
66
  // #MARK: mergeData
67
+ /**
68
+ * Augment a log data object with counter, ALS fields, and `mergeData` overrides.
69
+ *
70
+ * @remarks
71
+ * When `loggerOptions.als` is enabled, reads the current ALS store and merges
72
+ * it into the payload. Also pulls the optional thread-local child logger that
73
+ * ALS callers can inject to redirect a specific request's logs somewhere else.
74
+ */
40
75
  function mergeData(data) {
41
76
  let out = { ...data, ...loggerOptions.mergeData };
42
77
  if (loggerOptions.counter) {
@@ -56,10 +91,26 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
56
91
  return [out, logger];
57
92
  }
58
93
  // #MARK: prettyFormatMessage
94
+ /**
95
+ * Apply chalk syntax highlighting to a log message string.
96
+ *
97
+ * @remarks
98
+ * Only runs when `prettyFormat` is true and the message is under
99
+ * `MAX_CUTOFF` characters — very long strings are passed through verbatim
100
+ * to avoid performance degradation from heavy regex over large payloads.
101
+ *
102
+ * Highlighting rules:
103
+ * - `word#word` → yellow (symbol-style identifiers)
104
+ * - `[A] > [B]` → blue `>` separators
105
+ * - `[Text]` → bold magenta, brackets stripped
106
+ * - `{Text}` → bold gray, braces stripped
107
+ * - Leading ` - ` dash prefix → yellow dash
108
+ */
59
109
  function prettyFormatMessage(message) {
60
110
  if (!message) {
61
111
  return ``;
62
112
  }
113
+ // skip expensive regex on very long messages or when pretty is disabled
63
114
  if (!prettyFormat || message.length > MAX_CUTOFF) {
64
115
  return message;
65
116
  }
@@ -79,13 +130,16 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
79
130
  }
80
131
  if (is.empty(internal.boot.options?.customLogger)) {
81
132
  // #MARK: formatter
133
+ // build a per-level formatter function and store it in the module-level logger record;
134
+ // each function closes over the shared prettyFormat/extraTargets state so runtime
135
+ // changes (setPrettyFormat, addTarget) take effect on the next log call
82
136
  [...METHOD_COLORS.keys()].forEach(key => {
83
137
  logger[key] = (context, ...parameters) => {
84
138
  const [data, child] = mergeData(is.object(parameters[FIRST])
85
139
  ? parameters.shift()
86
140
  : {});
87
- // common for functions to be thrown in
88
- // extract it's declared name and discard the rest of the info
141
+ // functions are commonly passed as the `name` field to tag the call-site;
142
+ // extract the declared `.name` string and discard the function reference
89
143
  data.name = is.object(data.name) || is.function(data.name) ? data.name.name : data.name;
90
144
  // ? full data object representing this log
91
145
  // used with cloud logging (graylog, datadog, etc)
@@ -115,7 +169,8 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
115
169
  lastMessage = now;
116
170
  rawData.ms = ms;
117
171
  }
118
- // emit logs to external targets
172
+ // emit logs to external targets before the stdOut guard so targets always
173
+ // receive every message regardless of whether stdout is suppressed
119
174
  extraTargets.forEach(target => {
120
175
  // stream targets, just take all messages and do the exact same thing with them
121
176
  // ex: send to http endpoint
@@ -148,6 +203,7 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
148
203
  name,
149
204
  // eslint-disable-next-line sonarjs/no-unused-vars, @typescript-eslint/no-unused-vars
150
205
  context: ctx, ...extra } = data;
206
+ // only inspect extra fields that aren't already rendered in the message line
151
207
  if (!is.empty(extra)) {
152
208
  message +=
153
209
  "\n" +
@@ -162,11 +218,14 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
162
218
  .join("\n");
163
219
  }
164
220
  }
221
+ // ALS child logger takes precedence so per-request log redirection works
165
222
  if (child) {
166
223
  child[key](message);
167
224
  return;
168
225
  }
169
226
  // #MARK: globalThis.console
227
+ // route through the appropriate console method so browser devtools and
228
+ // Node's built-in log level filtering see the right severity
170
229
  switch (key) {
171
230
  case "warn": {
172
231
  globalThis.console.warn(message);
@@ -192,15 +251,28 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
192
251
  });
193
252
  }
194
253
  else {
254
+ // custom logger provided at bootstrap — use it verbatim instead of the built-in formatter
195
255
  logger = internal.boot.options.customLogger;
196
256
  }
197
- // if bootstrap hard coded something specific, then start there
198
- // otherwise, be noisy until config loads a user preference
257
+ // if bootstrap hard coded something specific, then start there;
258
+ // otherwise be noisy until config loads a user preference
199
259
  //
200
- // stored as separate variable to cut down on internal config lookups
260
+ // stored as a separate variable to avoid per-call config proxy lookups
201
261
  let CURRENT_LOG_LEVEL = internal.utils.object.get(internal, "boot.options.configuration.boilerplate.LOG_LEVEL") ||
202
262
  "trace";
203
263
  // #MARK: context
264
+ /**
265
+ * Create a `GetLogger` scoped to a specific `TContext` string.
266
+ *
267
+ * @remarks
268
+ * Each returned logger checks `shouldILog[level]` before forwarding the
269
+ * call, making the check a simple boolean property access on every log line.
270
+ * `shouldILog` is rebuilt whenever `EVENT_UPDATE_LOG_LEVELS` fires, so
271
+ * level overrides and global level changes propagate to all existing scoped
272
+ * loggers automatically.
273
+ *
274
+ * Level resolution order: per-service override → module-level override → global level.
275
+ */
204
276
  function context(context) {
205
277
  const name = context;
206
278
  const shouldILog = {};
@@ -209,7 +281,7 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
209
281
  LOG_LEVELS.forEach((key) => {
210
282
  // global level
211
283
  let target = LOG_LEVEL_PRIORITY[CURRENT_LOG_LEVEL];
212
- // override directly
284
+ // per-service override takes priority over module-level override
213
285
  if (loggerOptions?.levelOverrides?.[name]) {
214
286
  target = LOG_LEVEL_PRIORITY[loggerOptions?.levelOverrides?.[name]];
215
287
  // module level override
@@ -232,6 +304,15 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
232
304
  };
233
305
  }
234
306
  // #MARK updateShouldLog:
307
+ /**
308
+ * Sync `CURRENT_LOG_LEVEL` from config and broadcast a level-update event.
309
+ *
310
+ * @remarks
311
+ * Called after `onPostConfig` (when the user's `LOG_LEVEL` preference is
312
+ * available) and on every subsequent `boilerplate.LOG_LEVEL` config change.
313
+ * Emitting `EVENT_UPDATE_LOG_LEVELS` causes every scoped logger's `shouldILog`
314
+ * map to be rebuilt synchronously so level changes take effect immediately.
315
+ */
235
316
  function updateShouldLog() {
236
317
  if (!is.empty(config.boilerplate.LOG_LEVEL)) {
237
318
  CURRENT_LOG_LEVEL = config.boilerplate.LOG_LEVEL;
@@ -239,25 +320,68 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
239
320
  event.emit(EVENT_UPDATE_LOG_LEVELS);
240
321
  }
241
322
  // #MARK: lifecycle
323
+ // only read config after PostConfig fires; value is undefined before that
242
324
  lifecycle.onPostConfig(() => internal.boilerplate.logger.updateShouldLog());
325
+ // also update whenever LOG_LEVEL is changed at runtime (e.g. via setConfig)
243
326
  internal.boilerplate.configuration.onUpdate(() => internal.boilerplate.logger.updateShouldLog(), "boilerplate", "LOG_LEVEL");
327
+ /**
328
+ * Register an additional log destination.
329
+ *
330
+ * @remarks
331
+ * Accepts either a `LogStreamTarget` function `(msg, rawData) => void`
332
+ * or any object that implements the `GetLogger` interface. All registered
333
+ * targets receive every log message before the `stdOut` guard, so targets
334
+ * see logs even when `stdOut` is disabled.
335
+ */
244
336
  function addTarget(target) {
245
337
  extraTargets.add(target);
246
338
  }
247
339
  // #MARK: return object
248
340
  return {
341
+ /**
342
+ * Register an additional log destination (function or `GetLogger` object).
343
+ */
249
344
  addTarget,
345
+ /**
346
+ * Create a `GetLogger` scoped to the given context string.
347
+ */
250
348
  context,
349
+ /**
350
+ * Access the raw per-level formatter record.
351
+ * @internal
352
+ */
251
353
  getBaseLogger: () => logger,
354
+ /**
355
+ * Return the current pretty-format flag.
356
+ */
252
357
  getPrettyFormat: () => prettyFormat,
358
+ /**
359
+ * Apply chalk syntax highlighting to a message string (respects `prettyFormat` flag).
360
+ */
253
361
  prettyFormatMessage,
362
+ /**
363
+ * Replace the underlying per-level formatter record.
364
+ * @internal
365
+ */
254
366
  setBaseLogger: base => (logger = base),
367
+ /**
368
+ * Toggle chalk colorization on stdout output.
369
+ *
370
+ * @remarks
371
+ * Also updates `inspect.defaultOptions.colors` so object dumps remain consistent.
372
+ */
255
373
  setPrettyFormat: state => {
256
374
  prettyFormat = state;
257
375
  inspect.defaultOptions.colors = prettyFormat;
258
376
  return prettyFormat;
259
377
  },
378
+ /**
379
+ * Pre-built scoped logger for the framework's own internal log lines.
380
+ */
260
381
  systemLogger: context("digital-alchemy:system-logger"),
382
+ /**
383
+ * Sync the active log level from config and notify all scoped loggers.
384
+ */
261
385
  updateShouldLog,
262
386
  };
263
387
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logger.service.mjs","sourceRoot":"","sources":["../../src/services/logger.service.mts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE9F,MAAM,kBAAkB,GAAG;IACzB,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;CACT,CAAC;AACF,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAsB,CAAC;AAExE,IAAI,MAAM,GAAG,EAGZ,CAAC;AAEF,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,SAAS,GAAG,KAAK,CAAC;AACxB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC;AACtB,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EAC3B,SAAS,EACT,MAAM,EACN,KAAK,EACL,QAAQ,EACR,GAAG,GACY;IACf,MAAM,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC9B,IAAI,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,YAAY,GAAG,IAAI,GAAG,EAA+B,CAAC;IAE5D,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC;IAC7B,MAAM,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;IAErD,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC;IAC9B,MAAM,eAAe,GAAG,aAAa,CAAC,eAAe,IAAI,kBAAkB,CAAC;IAC5E,aAAa,CAAC,SAAS,KAAK,EAAE,CAAC;IAE/B,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAClF,4DAA4D;IAC5D,6FAA6F;IAC7F,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC;IAE7C,mBAAmB;IACnB,SAAS,SAAS,CAAmB,IAAO;QAC1C,IAAI,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;QAElD,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,GAAyB,CAAC;YAC1C,OAAO,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,MAAe,CAAC;QACpB,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;YACpE,MAAM,GAAG,WAAW,CAAC;YACrB,MAAM,KAAK,GAAG,EAA6B,CAAC;YAC5C,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;YAC7B,CAAC;YACD,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;QACtC,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,6BAA6B;IAC7B,SAAS,mBAAmB,CAAC,OAAe;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YACjD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,6CAA6C;QAC7C,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,gDAAgD;QAChD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC;QAC1D,+CAA+C;QAC/C,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAC5E,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CACtD,CAAC;QACF,0CAA0C;QAC1C,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAC3E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CACnD,CAAC;QACF,uDAAuD;QACvD,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YACzD,OAAO,GAAG,GAAG,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;QAClD,mBAAmB;QACnB,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAiB,EAAE,GAAG,UAAuC,EAAE,EAAE;gBAC9E,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,SAAS,CAC7B,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC1B,CAAC,CAAE,UAAU,CAAC,KAAK,EAKf;oBACJ,CAAC,CAAC,EAAE,CACP,CAAC;gBAEF,uCAAuC;gBACvC,8DAA8D;gBAC9D,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAExF,2CAA2C;gBAC3C,kDAAkD;gBAClD,MAAM,OAAO,GAAG;oBACd,GAAG,IAAI;oBACP,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO;oBAChC,KAAK,EAAE,GAAG;oBACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACK,CAAC;gBAC7B,IAAI,aAAqB,CAAC;gBAC1B,IAAI,GAAG,GAAG,EAAE,CAAC;gBAEb,wCAAwC;gBACxC,6DAA6D;gBAC7D,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,EAAY,CAAC;oBAC1C,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC;oBAClC,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;wBACzB,aAAa,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAED,4BAA4B;gBAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;gBACZ,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC;oBACrB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;oBAC9B,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACvD,EAAE,GAAG,IAAI,QAAQ,IAAI,CAAC;oBACtB,WAAW,GAAG,GAAG,CAAC;oBAClB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;gBAClB,CAAC;gBAED,gCAAgC;gBAChC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC5B,+EAA+E;oBAC/E,4BAA4B;oBAC5B,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBACxB,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBACrB,OAAO;oBACT,CAAC;oBACD,wDAAwD;oBACvD,MAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBAEH,mCAAmC;gBACnC,sEAAsE;gBACtE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;oBAC1B,OAAO;gBACT,CAAC;gBAED,qBAAqB;gBACrB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAChE,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,CAAC;gBACvF,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACtE,IAAI,OAAO,GAAG,GAAG,EAAE,GAAG,SAAS,IAAI,KAAK,GAAG,WAAW,EAAE,CAAC;gBAEzD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnD,CAAC;gBAED,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC7B,OAAO,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9C,CAAC;gBACD,CAAC;oBACC,MAAM;oBACJ,6DAA6D;oBAC7D,IAAI;oBACJ,qFAAqF;oBACrF,OAAO,EAAE,GAAG,EACZ,GAAG,KAAK,EACT,GAAG,IAAI,CAAC;oBACT,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBACrB,OAAO;4BACL,IAAI;gCACJ,OAAO,CAAC,KAAK,EAAE;oCACb,OAAO,EAAE,KAAK;oCACd,KAAK,EAAE,EAAE;oCACT,gBAAgB,EAAE,IAAI;oCACtB,MAAM,EAAE,IAAI;iCACb,CAAC;qCACC,KAAK,CAAC,IAAI,CAAC;qCACX,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC;qCAC/B,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;oBACpB,OAAO;gBACT,CAAC;gBAED,4BAA4B;gBAC5B,QAAQ,GAAG,EAAE,CAAC;oBACZ,KAAK,MAAM,CAAC,CAAC,CAAC;wBACZ,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACjC,OAAO;oBACT,CAAC;oBACD,KAAK,OAAO,CAAC,CAAC,CAAC;wBACb,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAClC,OAAO;oBACT,CAAC;oBACD,KAAK,OAAO,CAAC,CAAC,CAAC;wBACb,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAClC,OAAO;oBACT,CAAC;oBACD,KAAK,OAAO,CAAC,CAAC,CAAC;wBACb,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAClB,OAAO;oBACT,CAAC;oBACD,OAAO,CAAC,CAAC,CAAC;wBACR,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;IAC9C,CAAC;IAED,+DAA+D;IAC/D,2DAA2D;IAC3D,EAAE;IACF,qEAAqE;IACrE,IAAI,iBAAiB,GACnB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,kDAAkD,CAAC;QACvF,OAAO,CAAC;IAEV,iBAAiB;IACjB,SAAS,OAAO,CAAC,OAA0B;QACzC,MAAM,IAAI,GAAG,OAA2B,CAAC;QACzC,MAAM,UAAU,GAAG,EAAsC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;QAC3D,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,UAAU,CAAC,OAAO,CAAC,CAAC,GAAoB,EAAE,EAAE;gBAC1C,eAAe;gBACf,IAAI,MAAM,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;gBAEnD,oBAAoB;gBACpB,IAAI,aAAa,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,MAAM,GAAG,kBAAkB,CAAC,aAAa,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;oBACnE,wBAAwB;gBAC1B,CAAC;qBAAM,IAAI,aAAa,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnD,MAAM,GAAG,kBAAkB,CAAC,aAAa,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvE,CAAC;gBACD,UAAU,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,EAAE,CAAC;QAET,OAAO;YACL,KAAK,EAAE,CAAC,GAAG,MAAmC,EAAE,EAAE,CAChD,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,OAAmB,EAAE,GAAG,MAAM,CAAC;YAClE,KAAK,EAAE,CAAC,GAAG,MAAmC,EAAE,EAAE,CAChD,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,OAAmB,EAAE,GAAG,MAAM,CAAC;YAClE,KAAK,EAAE,CAAC,GAAG,MAAmC,EAAE,EAAE,CAChD,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,OAAmB,EAAE,GAAG,MAAM,CAAC;YAClE,IAAI,EAAE,CAAC,GAAG,MAAmC,EAAE,EAAE,CAC/C,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAmB,EAAE,GAAG,MAAM,CAAC;YAChE,KAAK,EAAE,CAAC,GAAG,MAAmC,EAAE,EAAE,CAChD,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,OAAmB,EAAE,GAAG,MAAM,CAAC;YAClE,IAAI,EAAE,CAAC,GAAG,MAAmC,EAAE,EAAE,CAC/C,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAmB,EAAE,GAAG,MAAM,CAAC;SACpD,CAAC;IACjB,CAAC;IAED,yBAAyB;IACzB,SAAS,eAAe;QACtB,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;QACnD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACtC,CAAC;IAED,mBAAmB;IACnB,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5E,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CACzC,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,EACnD,aAAa,EACb,WAAW,CACZ,CAAC;IAEF,SAAS,SAAS,CAAC,MAAmC;QACpD,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,uBAAuB;IACvB,OAAO;QACL,SAAS;QACT,OAAO;QACP,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM;QAC3B,eAAe,EAAE,GAAG,EAAE,CAAC,YAAY;QACnC,mBAAmB;QACnB,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;QACtC,eAAe,EAAE,KAAK,CAAC,EAAE;YACvB,YAAY,GAAG,KAAK,CAAC;YACrB,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC;YAC7C,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,YAAY,EAAE,OAAO,CAAC,+BAA+B,CAAC;QACtD,eAAe;KAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"logger.service.mjs","sourceRoot":"","sources":["../../src/services/logger.service.mts"],"names":[],"mappings":"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"}
@@ -1,2 +1,21 @@
1
1
  import type { SchedulerBuilder, TServiceParams } from "../index.mts";
2
+ /**
3
+ * Builder-style scheduler factory injected into every service via `TServiceParams`.
4
+ *
5
+ * @remarks
6
+ * Returns a function that accepts a `TContext` and produces the per-caller scheduler
7
+ * API (`cron`, `interval`, `sliding`, `setTimeout`, `setInterval`, `sleep`).
8
+ * This two-level shape is deliberate: the outer factory sets up lifecycle hooks
9
+ * shared across all callers; the inner function binds the per-caller context so
10
+ * every scheduled callback is associated with the service that created it.
11
+ *
12
+ * All schedules are registered against a shared `stop` set so a single
13
+ * `onPreShutdown` hook can cleanly cancel every outstanding timer in one pass.
14
+ * Schedules only start firing after the `onReady` lifecycle event; creating a
15
+ * scheduler before `onReady` is safe — the job is registered but does not run
16
+ * until the application is ready.
17
+ *
18
+ * Remove callbacks returned from each method are dual-arity:
19
+ * call them directly (`remove()`) or destructure `{ remove }` — both work.
20
+ */
2
21
  export declare function Scheduler({ logger, lifecycle, internal }: TServiceParams): SchedulerBuilder;