bootifyjs 2.0.0 → 2.1.0

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 (50) hide show
  1. package/README.md +149 -24
  2. package/dist/BootifyApp.d.ts +21 -3
  3. package/dist/BootifyApp.d.ts.map +1 -1
  4. package/dist/BootifyApp.js +57 -14
  5. package/dist/BootifyApp.js.map +1 -1
  6. package/dist/examples/adapters/pino-logger.adapter.d.ts +18 -0
  7. package/dist/examples/adapters/pino-logger.adapter.d.ts.map +1 -0
  8. package/dist/{logging/core/adapters/pino.adapter.js → examples/adapters/pino-logger.adapter.js} +26 -27
  9. package/dist/examples/adapters/pino-logger.adapter.js.map +1 -0
  10. package/dist/examples/controllers/todo.controller.d.ts.map +1 -1
  11. package/dist/examples/controllers/todo.controller.js +1 -4
  12. package/dist/examples/controllers/todo.controller.js.map +1 -1
  13. package/dist/examples/index.d.ts.map +1 -1
  14. package/dist/examples/index.js +85 -47
  15. package/dist/examples/index.js.map +1 -1
  16. package/dist/examples/services/scheduled-tasks.service.d.ts.map +1 -1
  17. package/dist/examples/services/scheduled-tasks.service.js +15 -4
  18. package/dist/examples/services/scheduled-tasks.service.js.map +1 -1
  19. package/dist/logging/core/decorators.d.ts +12 -2
  20. package/dist/logging/core/decorators.d.ts.map +1 -1
  21. package/dist/logging/core/decorators.js +50 -15
  22. package/dist/logging/core/decorators.js.map +1 -1
  23. package/dist/logging/core/logger-builder.d.ts +50 -7
  24. package/dist/logging/core/logger-builder.d.ts.map +1 -1
  25. package/dist/logging/core/logger-builder.js +107 -23
  26. package/dist/logging/core/logger-builder.js.map +1 -1
  27. package/dist/logging/core/logger.d.ts +20 -0
  28. package/dist/logging/core/logger.d.ts.map +1 -1
  29. package/dist/logging/core/logger.js +21 -1
  30. package/dist/logging/core/logger.js.map +1 -1
  31. package/dist/logging/core/logger.provider.d.ts +3 -0
  32. package/dist/logging/core/logger.provider.d.ts.map +1 -1
  33. package/dist/logging/core/logger.provider.js +16 -1
  34. package/dist/logging/core/logger.provider.js.map +1 -1
  35. package/dist/logging/index.d.ts +20 -14
  36. package/dist/logging/index.d.ts.map +1 -1
  37. package/dist/logging/index.js +24 -16
  38. package/dist/logging/index.js.map +1 -1
  39. package/dist/scheduling/scheduler.service.d.ts +1 -0
  40. package/dist/scheduling/scheduler.service.d.ts.map +1 -1
  41. package/dist/scheduling/scheduler.service.js +35 -17
  42. package/dist/scheduling/scheduler.service.js.map +1 -1
  43. package/package.json +1 -1
  44. package/dist/logging/core/adapters/index.d.ts +0 -2
  45. package/dist/logging/core/adapters/index.d.ts.map +0 -1
  46. package/dist/logging/core/adapters/index.js +0 -18
  47. package/dist/logging/core/adapters/index.js.map +0 -1
  48. package/dist/logging/core/adapters/pino.adapter.d.ts +0 -32
  49. package/dist/logging/core/adapters/pino.adapter.d.ts.map +0 -1
  50. package/dist/logging/core/adapters/pino.adapter.js.map +0 -1
@@ -3,10 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LoggerBuilder = exports.LOGGER_TOKEN = void 0;
4
4
  exports.createLogger = createLogger;
5
5
  exports.getLogger = getLogger;
6
+ exports.isLoggerInitialized = isLoggerInitialized;
7
+ exports.resetLogger = resetLogger;
6
8
  /**
7
9
  * LoggerBuilder - Builder pattern for configuring loggers
8
10
  *
9
11
  * Provides a fluent API for constructing loggers with custom configuration.
12
+ * The core module has NO external logging library dependencies.
13
+ * Users can provide their own ILogger implementation (Pino, Winston, etc.)
10
14
  */
11
15
  const di_container_1 = require("../../core/di-container");
12
16
  const base_logger_1 = require("./base-logger");
@@ -44,68 +48,111 @@ class LoggerBuilder {
44
48
  return this;
45
49
  }
46
50
  /**
47
- * Add a custom transport
51
+ * Add a custom transport (for BaseLogger)
48
52
  */
49
53
  addTransport(transport) {
50
54
  this.transports.push(transport);
51
55
  return this;
52
56
  }
53
57
  /**
54
- * Add a context provider for dynamic context
58
+ * Add a context provider for dynamic context (for BaseLogger)
55
59
  */
56
60
  addContextProvider(provider) {
57
61
  this.contextProviders.push(provider);
58
62
  return this;
59
63
  }
60
64
  /**
61
- * Configure the default console transport
65
+ * Configure the default console transport (for BaseLogger)
62
66
  */
63
67
  configureConsole(options) {
64
68
  this.consoleOptions = options;
65
69
  return this;
66
70
  }
67
71
  /**
68
- * Disable the default console transport
72
+ * Disable the default console transport (for BaseLogger)
69
73
  */
70
74
  disableConsole() {
71
75
  this.useDefaultConsole = false;
72
76
  return this;
73
77
  }
74
78
  /**
75
- * Use a completely custom logger implementation
79
+ * Use a custom logger instance that implements ILogger.
80
+ * This allows using any logging library (Pino, Winston, Bunyan, etc.)
81
+ *
82
+ * @example
83
+ * // Using Pino (user provides the adapter)
84
+ * import { PinoAdapter } from './my-pino-adapter'
85
+ *
86
+ * createLogger()
87
+ * .use(new PinoAdapter({ level: 'debug', prettyPrint: true }))
88
+ * .build()
89
+ *
90
+ * @example
91
+ * // Using Winston
92
+ * import { WinstonAdapter } from './my-winston-adapter'
93
+ *
94
+ * createLogger()
95
+ * .use(new WinstonAdapter({ level: 'info' }))
96
+ * .build()
76
97
  */
77
- useCustomLogger(loggerClass) {
78
- const logger = new loggerClass();
79
- this.registerLogger(logger);
80
- return logger;
98
+ use(logger) {
99
+ this.customLogger = logger;
100
+ return this;
101
+ }
102
+ /**
103
+ * Use a factory function to create the logger.
104
+ * Useful when the logger needs async initialization or complex setup.
105
+ *
106
+ * @example
107
+ * createLogger()
108
+ * .useFactory(() => {
109
+ * const pino = require('pino')
110
+ * return new MyPinoWrapper(pino({ level: 'debug' }))
111
+ * })
112
+ * .build()
113
+ */
114
+ useFactory(factory) {
115
+ this.customLogger = factory();
116
+ return this;
81
117
  }
82
118
  /**
83
119
  * Build and register the logger with DI container
84
120
  */
85
121
  build() {
86
- const allTransports = [...this.transports];
87
- if (this.useDefaultConsole) {
88
- allTransports.unshift(new console_transport_1.ConsoleTransport(this.consoleOptions));
122
+ let logger;
123
+ if (this.customLogger) {
124
+ // Use the custom logger provided by user
125
+ logger = this.customLogger;
126
+ }
127
+ else {
128
+ // Use the built-in BaseLogger with transports
129
+ const allTransports = [...this.transports];
130
+ if (this.useDefaultConsole) {
131
+ allTransports.unshift(new console_transport_1.ConsoleTransport(this.consoleOptions));
132
+ }
133
+ logger = new base_logger_1.BaseLogger({
134
+ level: this.level,
135
+ serviceName: this.serviceName,
136
+ transports: allTransports,
137
+ contextProviders: this.contextProviders,
138
+ baseContext: {
139
+ service: this.serviceName,
140
+ ...this.baseContext,
141
+ },
142
+ });
89
143
  }
90
- const logger = new base_logger_1.BaseLogger({
91
- level: this.level,
92
- serviceName: this.serviceName,
93
- transports: allTransports,
94
- contextProviders: this.contextProviders,
95
- baseContext: {
96
- service: this.serviceName,
97
- ...this.baseContext,
98
- },
99
- });
100
144
  this.registerLogger(logger);
101
145
  return logger;
102
146
  }
103
147
  registerLogger(logger) {
104
148
  di_container_1.container.register(exports.LOGGER_TOKEN, { useFactory: () => logger });
105
149
  di_container_1.container.register(base_logger_1.BaseLogger, { useFactory: () => logger });
150
+ loggerInitialized = true;
106
151
  }
107
152
  }
108
153
  exports.LoggerBuilder = LoggerBuilder;
154
+ // Track if logger has been initialized
155
+ let loggerInitialized = false;
109
156
  /**
110
157
  * Create a new logger builder
111
158
  */
@@ -113,9 +160,46 @@ function createLogger() {
113
160
  return new LoggerBuilder();
114
161
  }
115
162
  /**
116
- * Get the registered logger from DI container
163
+ * Get the registered logger from DI container.
164
+ *
165
+ * @throws Error if logger has not been initialized yet.
166
+ * Call createLogger().build() or use createBootify().useLogger() first.
117
167
  */
118
168
  function getLogger() {
169
+ if (!loggerInitialized) {
170
+ try {
171
+ const logger = di_container_1.container.resolve(exports.LOGGER_TOKEN);
172
+ loggerInitialized = true;
173
+ return logger;
174
+ }
175
+ catch {
176
+ throw new Error('[BootifyJS] Logger not initialized. ' +
177
+ 'Make sure to call createBootify().build() or createLogger().build() before using getLogger(). ' +
178
+ 'If using BootifyApp, getLogger() can only be called in beforeStart/afterStart hooks or after build() completes.');
179
+ }
180
+ }
119
181
  return di_container_1.container.resolve(exports.LOGGER_TOKEN);
120
182
  }
183
+ /**
184
+ * Check if logger has been initialized
185
+ */
186
+ function isLoggerInitialized() {
187
+ if (loggerInitialized)
188
+ return true;
189
+ try {
190
+ di_container_1.container.resolve(exports.LOGGER_TOKEN);
191
+ loggerInitialized = true;
192
+ return true;
193
+ }
194
+ catch {
195
+ return false;
196
+ }
197
+ }
198
+ /**
199
+ * Reset logger state (useful for testing)
200
+ * @internal
201
+ */
202
+ function resetLogger() {
203
+ loggerInitialized = false;
204
+ }
121
205
  //# sourceMappingURL=logger-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger-builder.js","sourceRoot":"","sources":["../../../src/logging/core/logger-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger-builder.js","sourceRoot":"","sources":["../../../src/logging/core/logger-builder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,24 @@
1
+ /**
2
+ * @deprecated Use ILogger interface and createLogger() builder instead.
3
+ * This class is kept for backward compatibility only.
4
+ *
5
+ * New code should use:
6
+ * ```typescript
7
+ * import { createLogger, getLogger, ILogger } from 'bootifyjs/logging'
8
+ *
9
+ * // Configure logger
10
+ * createLogger()
11
+ * .use(myLoggerAdapter)
12
+ * .build()
13
+ *
14
+ * // Get logger anywhere
15
+ * const logger = getLogger()
16
+ * ```
17
+ */
1
18
  import pino from 'pino';
19
+ /**
20
+ * @deprecated Use ILogger interface instead
21
+ */
2
22
  export declare class Logger {
3
23
  private readonly logger;
4
24
  info(message: string, context?: object): void;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/logging/core/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAIvB,qBACa,MAAM;IAEjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAE9B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAItC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM;IAItD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAItC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAKvC,KAAK,CAAC,OAAO,EAAE,MAAM;IAIrB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM;IAGpC,MAAM,CAAC,OAAO,EAAE,MAAM;IAGtB,IAAI,CAAC,OAAO,EAAE,MAAM;CAG5B"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/logging/core/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,IAAI,MAAM,MAAM,CAAA;AAIvB;;GAEG;AACH,qBACa,MAAM;IAEjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAE9B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAItC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM;IAItD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAItC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAKvC,KAAK,CAAC,OAAO,EAAE,MAAM;IAIrB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM;IAGpC,MAAM,CAAC,OAAO,EAAE,MAAM;IAGtB,IAAI,CAAC,OAAO,EAAE,MAAM;CAG5B"}
@@ -13,9 +13,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.Logger = void 0;
16
+ /**
17
+ * @deprecated Use ILogger interface and createLogger() builder instead.
18
+ * This class is kept for backward compatibility only.
19
+ *
20
+ * New code should use:
21
+ * ```typescript
22
+ * import { createLogger, getLogger, ILogger } from 'bootifyjs/logging'
23
+ *
24
+ * // Configure logger
25
+ * createLogger()
26
+ * .use(myLoggerAdapter)
27
+ * .build()
28
+ *
29
+ * // Get logger anywhere
30
+ * const logger = getLogger()
31
+ * ```
32
+ */
16
33
  const pino_1 = __importDefault(require("pino"));
17
- const logger_provider_1 = require("./logger.provider");
18
34
  const core_1 = require("../../core");
35
+ const logger_provider_1 = require("./logger.provider");
36
+ /**
37
+ * @deprecated Use ILogger interface instead
38
+ */
19
39
  let Logger = class Logger {
20
40
  info(message, context) {
21
41
  this.logger.info({ ...context, logType: 'application' }, message);
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/logging/core/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,uDAAgD;AAChD,qCAA+C;AAGxC,IAAM,MAAM,GAAZ,MAAM,MAAM;IAIV,IAAI,CAAC,OAAe,EAAE,OAAgB;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IACnE,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,OAAgB;QAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IAChF,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,OAAgB;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IACnE,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,OAAgB;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IACpE,CAAC;IAED,8EAA8E;IACvE,KAAK,CAAC,OAAe;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,CAAA;IACjE,CAAC;IAEM,KAAK,CAAC,QAAgB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;IACM,MAAM,CAAC,OAAe;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAA;IACnE,CAAC;IACM,IAAI,CAAC,OAAe;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAA;IAC3D,CAAC;CACF,CAAA;AAlCY,wBAAM;AAEA;IADhB,IAAA,gBAAS,EAAC,8BAAY,CAAC;;sCACa;iBAF1B,MAAM;IADlB,IAAA,cAAO,GAAE;GACG,MAAM,CAkClB"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/logging/core/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,gDAAuB;AACvB,qCAA+C;AAC/C,uDAAgD;AAEhD;;GAEG;AAEI,IAAM,MAAM,GAAZ,MAAM,MAAM;IAIV,IAAI,CAAC,OAAe,EAAE,OAAgB;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IACnE,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,OAAgB;QAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IAChF,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,OAAgB;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IACnE,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,OAAgB;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IACpE,CAAC;IAED,8EAA8E;IACvE,KAAK,CAAC,OAAe;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,CAAA;IACjE,CAAC;IAEM,KAAK,CAAC,QAAgB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;IACM,MAAM,CAAC,OAAe;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAA;IACnE,CAAC;IACM,IAAI,CAAC,OAAe;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAA;IAC3D,CAAC;CACF,CAAA;AAlCY,wBAAM;AAEA;IADhB,IAAA,gBAAS,EAAC,8BAAY,CAAC;;sCACa;iBAF1B,MAAM;IADlB,IAAA,cAAO,GAAE;GACG,MAAM,CAkClB"}
@@ -1,4 +1,7 @@
1
1
  import pino from "pino";
2
+ /**
3
+ * @deprecated Use LOGGER_TOKEN from logger-builder.ts instead
4
+ */
2
5
  export declare const LOGGER_TOKEN: unique symbol;
3
6
  export declare const loggerFactory: () => pino.Logger;
4
7
  //# sourceMappingURL=logger.provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.provider.d.ts","sourceRoot":"","sources":["../../../src/logging/core/logger.provider.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AAKxB,eAAO,MAAM,YAAY,eAAuB,CAAC;AAIjD,eAAO,MAAM,aAAa,QAAO,IAAI,CAAC,MAqFrC,CAAC"}
1
+ {"version":3,"file":"logger.provider.d.ts","sourceRoot":"","sources":["../../../src/logging/core/logger.provider.ts"],"names":[],"mappings":"AAcA,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB;;GAEG;AACH,eAAO,MAAM,YAAY,eAAuB,CAAC;AAIjD,eAAO,MAAM,aAAa,QAAO,IAAI,CAAC,MAqFrC,CAAC"}
@@ -4,11 +4,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.loggerFactory = exports.LOGGER_TOKEN = void 0;
7
+ /**
8
+ * @deprecated This file is kept for backward compatibility only.
9
+ * Use createLogger() builder and ILogger interface instead.
10
+ *
11
+ * New code should use:
12
+ * ```typescript
13
+ * import { createLogger, ILogger } from 'bootifyjs/logging'
14
+ *
15
+ * createLogger()
16
+ * .use(myLoggerAdapter)
17
+ * .build()
18
+ * ```
19
+ */
7
20
  const path_1 = __importDefault(require("path"));
8
21
  const pino_1 = __importDefault(require("pino"));
9
22
  const AppConfig_1 = require("../../config/AppConfig");
10
23
  const core_1 = require("../../core");
11
- // 1. Define a unique DI token for our logger instance
24
+ /**
25
+ * @deprecated Use LOGGER_TOKEN from logger-builder.ts instead
26
+ */
12
27
  exports.LOGGER_TOKEN = Symbol.for("Logger");
13
28
  // 2. The factory function
14
29
  const loggerFactory = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"logger.provider.js","sourceRoot":"","sources":["../../../src/logging/core/logger.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.provider.js","sourceRoot":"","sources":["../../../src/logging/core/logger.provider.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,13 @@
2
2
  * BootifyJS Logging Module
3
3
  *
4
4
  * A flexible, extensible logging system using Builder and Strategy patterns.
5
+ * The core module has NO external logging library dependencies.
6
+ * Users can provide their own ILogger implementation.
5
7
  *
6
- * Quick Start:
8
+ * Quick Start (using built-in BaseLogger):
7
9
  * ```typescript
8
- * import { createLogger, RequestContextProvider } from 'bootifyjs/logging'
10
+ * import { createLogger } from 'bootifyjs/logging'
9
11
  *
10
- * // Simple usage
11
12
  * const logger = createLogger()
12
13
  * .setLevel('debug')
13
14
  * .setServiceName('my-api')
@@ -16,7 +17,21 @@
16
17
  * logger.info('Hello world')
17
18
  * ```
18
19
  *
19
- * Custom Transport:
20
+ * Using a custom logger (Pino, Winston, etc.):
21
+ * ```typescript
22
+ * import { createLogger, ILogger } from 'bootifyjs/logging'
23
+ *
24
+ * // Create your own adapter that implements ILogger
25
+ * class MyPinoAdapter implements ILogger {
26
+ * // ... implement ILogger interface
27
+ * }
28
+ *
29
+ * createLogger()
30
+ * .use(new MyPinoAdapter({ level: 'debug' }))
31
+ * .build()
32
+ * ```
33
+ *
34
+ * Custom Transport (for BaseLogger):
20
35
  * ```typescript
21
36
  * import { ILogTransport, LogEntry } from 'bootifyjs/logging'
22
37
  *
@@ -31,21 +46,12 @@
31
46
  * .addTransport(new MyTransport())
32
47
  * .build()
33
48
  * ```
34
- *
35
- * Using Pino:
36
- * ```typescript
37
- * import { createLogger, PinoAdapter } from 'bootifyjs/logging'
38
- *
39
- * createLogger()
40
- * .useCustomLogger(PinoAdapter)
41
- * ```
42
49
  */
43
50
  export * from './core/interfaces';
44
- export { createLogger, getLogger, LOGGER_TOKEN, LoggerBuilder } from './core/logger-builder';
51
+ export { createLogger, getLogger, isLoggerInitialized, LOGGER_TOKEN, LoggerBuilder } from './core/logger-builder';
45
52
  export { BaseLogger } from './core/base-logger';
46
53
  export { ConsoleTransport, ConsoleTransportOptions } from './core/transports/console.transport';
47
54
  export { RequestContextProvider } from './core/context-providers/request-context.provider';
48
- export { PinoAdapter, PinoAdapterOptions } from './core/adapters/pino.adapter';
49
55
  export { EnhancedStartupLogger } from './core/enhanced-startup-logger';
50
56
  export { StartupLoggerService } from './core/startup.logger';
51
57
  export { StreamingStartupLogger } from './core/streaming-startup-logger';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAGH,cAAc,mBAAmB,CAAA;AAGjC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAG5F,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG/C,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAG/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAA;AAG1F,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAG9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAGxE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAGzF,cAAc,mBAAmB,CAAA;AAOjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAExE;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAClD,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,oBAAoB,CAAA;CACpC,CAAC,CAMD;AAED;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC;IACzD,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,qBAAqB,CAAA;CACrC,CAAC,CAMD;AAED;;GAEG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC;IAC1D,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,sBAAsB,CAAA;CACtC,CAAC,CAMD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAGH,cAAc,mBAAmB,CAAA;AAGjC,OAAO,EACL,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACd,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG/C,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAG/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAA;AAO1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAGxE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAGzF,cAAc,mBAAmB,CAAA;AAOjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAExE;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAClD,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,oBAAoB,CAAA;CACpC,CAAC,CAMD;AAED;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC;IACzD,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,qBAAqB,CAAA;CACrC,CAAC,CAMD;AAED;;GAEG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC;IAC1D,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,sBAAsB,CAAA;CACtC,CAAC,CAMD"}
@@ -3,12 +3,13 @@
3
3
  * BootifyJS Logging Module
4
4
  *
5
5
  * A flexible, extensible logging system using Builder and Strategy patterns.
6
+ * The core module has NO external logging library dependencies.
7
+ * Users can provide their own ILogger implementation.
6
8
  *
7
- * Quick Start:
9
+ * Quick Start (using built-in BaseLogger):
8
10
  * ```typescript
9
- * import { createLogger, RequestContextProvider } from 'bootifyjs/logging'
11
+ * import { createLogger } from 'bootifyjs/logging'
10
12
  *
11
- * // Simple usage
12
13
  * const logger = createLogger()
13
14
  * .setLevel('debug')
14
15
  * .setServiceName('my-api')
@@ -17,7 +18,21 @@
17
18
  * logger.info('Hello world')
18
19
  * ```
19
20
  *
20
- * Custom Transport:
21
+ * Using a custom logger (Pino, Winston, etc.):
22
+ * ```typescript
23
+ * import { createLogger, ILogger } from 'bootifyjs/logging'
24
+ *
25
+ * // Create your own adapter that implements ILogger
26
+ * class MyPinoAdapter implements ILogger {
27
+ * // ... implement ILogger interface
28
+ * }
29
+ *
30
+ * createLogger()
31
+ * .use(new MyPinoAdapter({ level: 'debug' }))
32
+ * .build()
33
+ * ```
34
+ *
35
+ * Custom Transport (for BaseLogger):
21
36
  * ```typescript
22
37
  * import { ILogTransport, LogEntry } from 'bootifyjs/logging'
23
38
  *
@@ -32,14 +47,6 @@
32
47
  * .addTransport(new MyTransport())
33
48
  * .build()
34
49
  * ```
35
- *
36
- * Using Pino:
37
- * ```typescript
38
- * import { createLogger, PinoAdapter } from 'bootifyjs/logging'
39
- *
40
- * createLogger()
41
- * .useCustomLogger(PinoAdapter)
42
- * ```
43
50
  */
44
51
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
45
52
  if (k2 === undefined) k2 = k;
@@ -56,7 +63,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
56
63
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
57
64
  };
58
65
  Object.defineProperty(exports, "__esModule", { value: true });
59
- exports.PINO_LOGGER_TOKEN = exports.loggerFactory = exports.Logger = exports.StreamingStartupLogger = exports.StartupLoggerService = exports.EnhancedStartupLogger = exports.PinoAdapter = exports.RequestContextProvider = exports.ConsoleTransport = exports.BaseLogger = exports.LoggerBuilder = exports.LOGGER_TOKEN = exports.getLogger = exports.createLogger = void 0;
66
+ exports.PINO_LOGGER_TOKEN = exports.loggerFactory = exports.Logger = exports.StreamingStartupLogger = exports.StartupLoggerService = exports.EnhancedStartupLogger = exports.RequestContextProvider = exports.ConsoleTransport = exports.BaseLogger = exports.LoggerBuilder = exports.LOGGER_TOKEN = exports.isLoggerInitialized = exports.getLogger = exports.createLogger = void 0;
60
67
  exports.intitializeLogging = intitializeLogging;
61
68
  exports.initializeEnhancedLogging = initializeEnhancedLogging;
62
69
  exports.initializeStreamingLogging = initializeStreamingLogging;
@@ -66,6 +73,7 @@ __exportStar(require("./core/interfaces"), exports);
66
73
  var logger_builder_1 = require("./core/logger-builder");
67
74
  Object.defineProperty(exports, "createLogger", { enumerable: true, get: function () { return logger_builder_1.createLogger; } });
68
75
  Object.defineProperty(exports, "getLogger", { enumerable: true, get: function () { return logger_builder_1.getLogger; } });
76
+ Object.defineProperty(exports, "isLoggerInitialized", { enumerable: true, get: function () { return logger_builder_1.isLoggerInitialized; } });
69
77
  Object.defineProperty(exports, "LOGGER_TOKEN", { enumerable: true, get: function () { return logger_builder_1.LOGGER_TOKEN; } });
70
78
  Object.defineProperty(exports, "LoggerBuilder", { enumerable: true, get: function () { return logger_builder_1.LoggerBuilder; } });
71
79
  // Default implementations
@@ -77,9 +85,9 @@ Object.defineProperty(exports, "ConsoleTransport", { enumerable: true, get: func
77
85
  // Context providers
78
86
  var request_context_provider_1 = require("./core/context-providers/request-context.provider");
79
87
  Object.defineProperty(exports, "RequestContextProvider", { enumerable: true, get: function () { return request_context_provider_1.RequestContextProvider; } });
80
- // Adapters (for using external logging libraries)
81
- var pino_adapter_1 = require("./core/adapters/pino.adapter");
82
- Object.defineProperty(exports, "PinoAdapter", { enumerable: true, get: function () { return pino_adapter_1.PinoAdapter; } });
88
+ // NOTE: No adapters are provided by the framework.
89
+ // Users must create their own adapters that implement ILogger interface.
90
+ // See documentation for examples of Pino, Winston, Bunyan adapters.
83
91
  // Startup loggers
84
92
  var enhanced_startup_logger_1 = require("./core/enhanced-startup-logger");
85
93
  Object.defineProperty(exports, "EnhancedStartupLogger", { enumerable: true, get: function () { return enhanced_startup_logger_1.EnhancedStartupLogger; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;;;;;;;;;;;;;;;;;AA8CH,gDASC;AAKD,8DASC;AAKD,gEASC;AAjFD,+CAA+C;AAC/C,oDAAiC;AAEjC,kBAAkB;AAClB,wDAA4F;AAAnF,8GAAA,YAAY,OAAA;AAAE,2GAAA,SAAS,OAAA;AAAE,8GAAA,YAAY,OAAA;AAAE,+GAAA,aAAa,OAAA;AAE7D,0BAA0B;AAC1B,kDAA+C;AAAtC,yGAAA,UAAU,OAAA;AAEnB,aAAa;AACb,yEAA+F;AAAtF,qHAAA,gBAAgB,OAAA;AAEzB,oBAAoB;AACpB,8FAA0F;AAAjF,kIAAA,sBAAsB,OAAA;AAE/B,kDAAkD;AAClD,6DAA8E;AAArE,2GAAA,WAAW,OAAA;AAEpB,kBAAkB;AAClB,0EAAsE;AAA7D,gIAAA,qBAAqB,OAAA;AAC9B,wDAA4D;AAAnD,sHAAA,oBAAoB,OAAA;AAC7B,4EAAwE;AAA/D,kIAAA,sBAAsB,OAAA;AAE/B,8CAA8C;AAC9C,wCAAsC;AAA7B,gGAAA,MAAM,OAAA;AACf,0DAAyF;AAAhF,gHAAA,aAAa,OAAA;AAAE,oHAAA,YAAY,OAAqB;AAEzD,aAAa;AACb,oDAAiC;AAEjC,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E,uDAAgD;AAChD,4EAAsE;AACtE,0CAAsC;AACtC,4DAAoE;AACpE,0DAA4D;AAC5D,8EAAwE;AAExE;;GAEG;AACI,KAAK,UAAU,kBAAkB;IAItC,wBAAS,CAAC,QAAQ,CAAC,8BAAY,EAAE,EAAE,UAAU,EAAE,+BAAa,EAAE,CAAC,CAAA;IAC/D,OAAO;QACL,MAAM,EAAE,wBAAS,CAAC,OAAO,CAAS,eAAM,CAAC;QACzC,aAAa,EAAE,wBAAS,CAAC,OAAO,CAAuB,qCAAoB,CAAC;KAC7E,CAAA;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,yBAAyB;IAI7C,wBAAS,CAAC,QAAQ,CAAC,8BAAY,EAAE,EAAE,UAAU,EAAE,+BAAa,EAAE,CAAC,CAAA;IAC/D,OAAO;QACL,MAAM,EAAE,wBAAS,CAAC,OAAO,CAAS,eAAM,CAAC;QACzC,aAAa,EAAE,wBAAS,CAAC,OAAO,CAAwB,+CAAqB,CAAC;KAC/E,CAAA;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,0BAA0B;IAI9C,wBAAS,CAAC,QAAQ,CAAC,8BAAY,EAAE,EAAE,UAAU,EAAE,+BAAa,EAAE,CAAC,CAAA;IAC/D,OAAO;QACL,MAAM,EAAE,wBAAS,CAAC,OAAO,CAAS,eAAM,CAAC;QACzC,aAAa,EAAE,wBAAS,CAAC,OAAO,CAAyB,iDAAsB,CAAC;KACjF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;;;;;;;;;;;;;;;;;AAqDH,gDASC;AAKD,8DASC;AAKD,gEASC;AAxFD,+CAA+C;AAC/C,oDAAiC;AAEjC,kBAAkB;AAClB,wDAM8B;AAL5B,8GAAA,YAAY,OAAA;AACZ,2GAAA,SAAS,OAAA;AACT,qHAAA,mBAAmB,OAAA;AACnB,8GAAA,YAAY,OAAA;AACZ,+GAAA,aAAa,OAAA;AAGf,0BAA0B;AAC1B,kDAA+C;AAAtC,yGAAA,UAAU,OAAA;AAEnB,aAAa;AACb,yEAA+F;AAAtF,qHAAA,gBAAgB,OAAA;AAEzB,oBAAoB;AACpB,8FAA0F;AAAjF,kIAAA,sBAAsB,OAAA;AAE/B,mDAAmD;AACnD,yEAAyE;AACzE,oEAAoE;AAEpE,kBAAkB;AAClB,0EAAsE;AAA7D,gIAAA,qBAAqB,OAAA;AAC9B,wDAA4D;AAAnD,sHAAA,oBAAoB,OAAA;AAC7B,4EAAwE;AAA/D,kIAAA,sBAAsB,OAAA;AAE/B,8CAA8C;AAC9C,wCAAsC;AAA7B,gGAAA,MAAM,OAAA;AACf,0DAAyF;AAAhF,gHAAA,aAAa,OAAA;AAAE,oHAAA,YAAY,OAAqB;AAEzD,aAAa;AACb,oDAAiC;AAEjC,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E,uDAAgD;AAChD,4EAAsE;AACtE,0CAAsC;AACtC,4DAAoE;AACpE,0DAA4D;AAC5D,8EAAwE;AAExE;;GAEG;AACI,KAAK,UAAU,kBAAkB;IAItC,wBAAS,CAAC,QAAQ,CAAC,8BAAY,EAAE,EAAE,UAAU,EAAE,+BAAa,EAAE,CAAC,CAAA;IAC/D,OAAO;QACL,MAAM,EAAE,wBAAS,CAAC,OAAO,CAAS,eAAM,CAAC;QACzC,aAAa,EAAE,wBAAS,CAAC,OAAO,CAAuB,qCAAoB,CAAC;KAC7E,CAAA;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,yBAAyB;IAI7C,wBAAS,CAAC,QAAQ,CAAC,8BAAY,EAAE,EAAE,UAAU,EAAE,+BAAa,EAAE,CAAC,CAAA;IAC/D,OAAO;QACL,MAAM,EAAE,wBAAS,CAAC,OAAO,CAAS,eAAM,CAAC;QACzC,aAAa,EAAE,wBAAS,CAAC,OAAO,CAAwB,+CAAqB,CAAC;KAC/E,CAAA;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,0BAA0B;IAI9C,wBAAS,CAAC,QAAQ,CAAC,8BAAY,EAAE,EAAE,UAAU,EAAE,+BAAa,EAAE,CAAC,CAAA;IAC/D,OAAO;QACL,MAAM,EAAE,wBAAS,CAAC,OAAO,CAAS,eAAM,CAAC;QACzC,aAAa,EAAE,wBAAS,CAAC,OAAO,CAAyB,iDAAsB,CAAC;KACjF,CAAA;AACH,CAAC"}
@@ -3,6 +3,7 @@ export declare class SchedulerService {
3
3
  private jobs;
4
4
  private isStarted;
5
5
  private nodeCron;
6
+ private get logger();
6
7
  /**
7
8
  * Initialize and start all scheduled jobs
8
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.service.d.ts","sourceRoot":"","sources":["../../src/scheduling/scheduler.service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAwB,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAYnF,qBACa,gBAAgB;IACzB,OAAO,CAAC,IAAI,CAAgC;IAC5C,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,QAAQ,CAAY;IAE5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6C3B;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAW7B;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAkB9B;;OAEG;IACH,QAAQ,IAAI,cAAc;IAU1B;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIpD,OAAO,CAAC,YAAY;IA+CpB,OAAO,CAAC,QAAQ;YA8DF,UAAU;IAiExB,OAAO,CAAC,cAAc;CAMzB"}
1
+ {"version":3,"file":"scheduler.service.d.ts","sourceRoot":"","sources":["../../src/scheduling/scheduler.service.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAwB,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAYnF,qBACa,gBAAgB;IACzB,OAAO,CAAC,IAAI,CAAgC;IAC5C,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,QAAQ,CAAY;IAE5B,OAAO,KAAK,MAAM,GAYjB;IAED;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6C3B;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAW7B;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAkB9B;;OAEG;IACH,QAAQ,IAAI,cAAc;IAU1B;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIpD,OAAO,CAAC,YAAY;IA+CpB,OAAO,CAAC,QAAQ;YA8DF,UAAU;IAqExB,OAAO,CAAC,cAAc;CAMzB"}