@meticoeus/ddd-es 0.3.13 → 0.3.14

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.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meticoeus/ddd-es",
3
- "version": "0.3.13",
3
+ "version": "0.3.14",
4
4
  "description": "A Typescript library for using Event Sourcing and Domain Driven Design.",
5
5
  "keywords": [
6
6
  "DDD",
@@ -1,6 +1,18 @@
1
1
  import type { ILogger } from './logger.js';
2
+ export type Level = 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace' | 'silent';
2
3
  /**
3
4
  * Create a simple console based pino-pretty-style logger for unit tests.
5
+ *
6
+ * Level behavior matches Pino:
7
+ * - 'fatal' logs only fatal
8
+ * - 'error' logs error, fatal
9
+ * - 'warn' logs warn, error, fatal
10
+ * - 'info' logs info, warn, error, fatal
11
+ * - 'debug' logs debug, info, warn, error, fatal
12
+ * - 'trace' logs everything
13
+ * - 'silent' logs nothing
4
14
  */
5
- export declare function createConsoleLogger(): ILogger;
15
+ export declare function createConsoleLogger(options?: {
16
+ level?: Level;
17
+ }): ILogger;
6
18
  //# sourceMappingURL=logger.console.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.console.d.ts","sourceRoot":"","sources":["../../src/logger.console.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,aAAa,CAAA;AA6EjD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAY7C"}
1
+ {"version":3,"file":"logger.console.d.ts","sourceRoot":"","sources":["../../src/logger.console.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;AAqHtF;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG,OAAO,CAoCxE"}
@@ -42,6 +42,17 @@ const levelStyles = {
42
42
  // silent gets special handling later (no-op)
43
43
  silent: { label: 'SILENT', color: colors.gray, consoleMethod: () => { } },
44
44
  };
45
+ // Pino-style numeric priorities (higher = more severe)
46
+ // Level threshold: method logs if methodPriority >= currentLevelPriority
47
+ const levelPriority = {
48
+ fatal: 60,
49
+ error: 50,
50
+ warn: 40,
51
+ info: 30,
52
+ debug: 20,
53
+ trace: 10,
54
+ };
55
+ const validLevels = Object.keys(levelPriority);
45
56
  /**
46
57
  * Build a console-based LogFn that mimics Pino’s call signatures:
47
58
  * log("msg", ...args)
@@ -82,19 +93,67 @@ function makeConsoleLogFn(level, colorize, consoleMethod) {
82
93
  };
83
94
  return fn;
84
95
  }
96
+ function noopLogFn() {
97
+ return (() => { });
98
+ }
99
+ function validateLogLevel(input) {
100
+ if (!input) {
101
+ return 'info';
102
+ }
103
+ const normalized = input.trim().toLowerCase();
104
+ if (validLevels.includes(normalized)) {
105
+ return normalized;
106
+ }
107
+ // Default is 'info', so 'warn' is always active conceptually.
108
+ // Since this is internal and runs before logger creation,
109
+ // just log directly to console with a WARN-style prefix.
110
+ const prefix = colors.yellow('[WARN]');
111
+ console.warn(prefix, `Invalid log level "${input}". Falling back to "info". Valid values: ${validLevels.join(', ')}`);
112
+ return 'info';
113
+ }
85
114
  /**
86
115
  * Create a simple console based pino-pretty-style logger for unit tests.
116
+ *
117
+ * Level behavior matches Pino:
118
+ * - 'fatal' logs only fatal
119
+ * - 'error' logs error, fatal
120
+ * - 'warn' logs warn, error, fatal
121
+ * - 'info' logs info, warn, error, fatal
122
+ * - 'debug' logs debug, info, warn, error, fatal
123
+ * - 'trace' logs everything
124
+ * - 'silent' logs nothing
87
125
  */
88
- export function createConsoleLogger() {
126
+ export function createConsoleLogger(options) {
127
+ const currentLevel = validateLogLevel(options?.level);
128
+ // Special-case: silent → everything is a no-op
129
+ if (currentLevel === 'silent') {
130
+ return {
131
+ fatal: noopLogFn(),
132
+ error: noopLogFn(),
133
+ warn: noopLogFn(),
134
+ info: noopLogFn(),
135
+ debug: noopLogFn(),
136
+ trace: noopLogFn(),
137
+ silent: noopLogFn(),
138
+ };
139
+ }
140
+ const threshold = levelPriority[currentLevel];
141
+ const mk = (methodLevel) => {
142
+ if (levelPriority[methodLevel] >= threshold) {
143
+ const style = levelStyles[methodLevel];
144
+ return makeConsoleLogFn(methodLevel, style.color, style.consoleMethod);
145
+ }
146
+ return noopLogFn();
147
+ };
89
148
  return {
90
- fatal: makeConsoleLogFn('fatal', levelStyles.fatal.color, levelStyles.fatal.consoleMethod),
91
- error: makeConsoleLogFn('error', levelStyles.error.color, levelStyles.error.consoleMethod),
92
- warn: makeConsoleLogFn('warn', levelStyles.warn.color, levelStyles.warn.consoleMethod),
93
- info: makeConsoleLogFn('info', levelStyles.info.color, levelStyles.info.consoleMethod),
94
- debug: makeConsoleLogFn('debug', levelStyles.debug.color, levelStyles.debug.consoleMethod),
95
- trace: makeConsoleLogFn('trace', levelStyles.trace.color, levelStyles.trace.consoleMethod),
96
- // pino.silent() = no-op
97
- silent: (() => { }),
149
+ fatal: mk('fatal'),
150
+ error: mk('error'),
151
+ warn: mk('warn'),
152
+ info: mk('info'),
153
+ debug: mk('debug'),
154
+ trace: mk('trace'),
155
+ // pino.silent() = no-op method, regardless of logger level
156
+ silent: noopLogFn(),
98
157
  };
99
158
  }
100
159
  //# sourceMappingURL=logger.console.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.console.js","sourceRoot":"","sources":["../../src/logger.console.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.console.js","sourceRoot":"","sources":["../../src/logger.console.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meticoeus/ddd-es",
3
- "version": "0.3.13",
3
+ "version": "0.3.14",
4
4
  "description": "A Typescript library for using Event Sourcing and Domain Driven Design.",
5
5
  "keywords": [
6
6
  "DDD",