ee-core 5.0.1 → 5.0.2

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.
@@ -54,6 +54,6 @@ export declare function getLoggers(): PinoLoggers;
54
54
  export declare const logger: EeLogger;
55
55
  /** Framework core log instance (Proxy wrapped) */
56
56
  export declare const coreLogger: EeLogger;
57
- /** Error log instance (Proxy wrapped, error/fatal level only) */
57
+ /** Error log instance (Proxy wrapped, error/fatal level only; sole writer of ee-error.log) */
58
58
  export declare const errorLogger: EeLogger;
59
59
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/log/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAU,MAAM,aAAa,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;CAC1C;AAKD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,IAAI,WAAW,CAGxC;AAgFD,+CAA+C;AAC/C,eAAO,MAAM,MAAM,EAAE,QAA0D,CAAC;AAChF,kDAAkD;AAClD,eAAO,MAAM,UAAU,EAAE,QAA8D,CAAC;AACxF,iEAAiE;AACjE,eAAO,MAAM,WAAW,EAAE,QAA+D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/log/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAU,MAAM,aAAa,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;CAC1C;AAKD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,IAAI,WAAW,CAGxC;AA4GD,+CAA+C;AAC/C,eAAO,MAAM,MAAM,EAAE,QAAiE,CAAC;AACvF,kDAAkD;AAClD,eAAO,MAAM,UAAU,EAAE,QAAsE,CAAC;AAChG,8FAA8F;AAC9F,eAAO,MAAM,WAAW,EAAE,QAA+D,CAAC"}
@@ -78,46 +78,71 @@ function formatArg(a) {
78
78
  * @param getter - Deferred function to get pino.Logger instance
79
79
  * @returns EeLogger proxy object
80
80
  */
81
- function createLoggerProxy(getter) {
81
+ /** Log levels that are aggregated into errorLogger (ee-error.log) */
82
+ const ERROR_LEVELS = new Set(['error', 'fatal']);
83
+ /**
84
+ * Invoke a single pino method, normalizing the multiple supported calling styles.
85
+ *
86
+ * Shared by the direct write and the error/fatal aggregation forward so both
87
+ * paths interpret arguments identically.
88
+ */
89
+ function applyLog(l, prop, args) {
90
+ const method = l[prop];
91
+ if (!method)
92
+ return;
93
+ // Single argument, call directly
94
+ if (args.length <= 1) {
95
+ method.call(l, ...args);
96
+ return;
97
+ }
98
+ const first = args[0];
99
+ // pino standard: first argument is a plain object → (mergeObj, msg, ...args)
100
+ if (typeof first === 'object' && first !== null && !(first instanceof Error)) {
101
+ method.call(l, ...args);
102
+ return;
103
+ }
104
+ // pino printf: first argument contains %s/%d formatting → keep as-is
105
+ if (typeof first === 'string' && /%[sdijo]/.test(first)) {
106
+ method.call(l, ...args);
107
+ return;
108
+ }
109
+ // Concatenation mode: logger.info('msg:', value) → 'msg: value'
110
+ method.call(l, args.map(formatArg).join(' '));
111
+ }
112
+ /**
113
+ * Create log proxy object
114
+ *
115
+ * @param getter - Deferred function to get pino.Logger instance
116
+ * @param source - Origin tag ('app' / 'core'); when set, error/fatal records are
117
+ * additionally aggregated into errorLogger (ee-error.log) with a `from` binding.
118
+ * errorLogger itself passes no source, so it never forwards to avoid double writes.
119
+ * @returns EeLogger proxy object
120
+ */
121
+ function createLoggerProxy(getter, source) {
82
122
  return new Proxy({}, {
83
123
  get(_target, prop) {
84
- // child() returns sub-logger proxy
124
+ // child() returns sub-logger proxy (preserves source so children still aggregate)
85
125
  if (prop === 'child') {
86
- return (bindings) => createLoggerProxy(() => getter().child(bindings));
126
+ return (bindings) => createLoggerProxy(() => getter().child(bindings), source);
87
127
  }
88
128
  if (!LOG_METHODS.has(prop))
89
129
  return undefined;
90
130
  return (...args) => {
91
131
  const l = getter();
92
- const method = l[prop];
93
- if (!method)
94
- return;
95
- // Single argument, call directly
96
- if (args.length <= 1) {
97
- method.call(l, ...args);
98
- return;
99
- }
100
- const first = args[0];
101
- // pino standard: first argument is a plain object → (mergeObj, msg, ...args)
102
- if (typeof first === 'object' && first !== null && !(first instanceof Error)) {
103
- method.call(l, ...args);
104
- return;
105
- }
106
- // pino printf: first argument contains %s/%d formatting → keep as-is
107
- if (typeof first === 'string' && /%[sdijo]/.test(first)) {
108
- method.call(l, ...args);
109
- return;
132
+ applyLog(l, prop, args);
133
+ // Aggregate error/fatal into ee-error.log (single writer = errorLogger).
134
+ // Skipped for errorLogger itself (source undefined) to prevent double writes.
135
+ if (source && ERROR_LEVELS.has(prop)) {
136
+ applyLog(_getLoggerBy('errorLogger').child({ from: source }), prop, args);
110
137
  }
111
- // Concatenation mode: logger.info('msg:', value) → 'msg: value'
112
- method.call(l, args.map(formatArg).join(' '));
113
138
  };
114
139
  },
115
140
  });
116
141
  }
117
142
  /** Application log instance (Proxy wrapped) */
118
- exports.logger = createLoggerProxy(() => _getLoggerBy('logger'));
143
+ exports.logger = createLoggerProxy(() => _getLoggerBy('logger'), 'app');
119
144
  /** Framework core log instance (Proxy wrapped) */
120
- exports.coreLogger = createLoggerProxy(() => _getLoggerBy('coreLogger'));
121
- /** Error log instance (Proxy wrapped, error/fatal level only) */
145
+ exports.coreLogger = createLoggerProxy(() => _getLoggerBy('coreLogger'), 'core');
146
+ /** Error log instance (Proxy wrapped, error/fatal level only; sole writer of ee-error.log) */
122
147
  exports.errorLogger = createLoggerProxy(() => _getLoggerBy('errorLogger'));
123
148
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/log/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/log/index.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,6 @@ export declare function getLoggers(): PinoLoggers;
54
54
  export declare const logger: EeLogger;
55
55
  /** Framework core log instance (Proxy wrapped) */
56
56
  export declare const coreLogger: EeLogger;
57
- /** Error log instance (Proxy wrapped, error/fatal level only) */
57
+ /** Error log instance (Proxy wrapped, error/fatal level only; sole writer of ee-error.log) */
58
58
  export declare const errorLogger: EeLogger;
59
59
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/log/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAU,MAAM,aAAa,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;CAC1C;AAKD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,IAAI,WAAW,CAGxC;AAgFD,+CAA+C;AAC/C,eAAO,MAAM,MAAM,EAAE,QAA0D,CAAC;AAChF,kDAAkD;AAClD,eAAO,MAAM,UAAU,EAAE,QAA8D,CAAC;AACxF,iEAAiE;AACjE,eAAO,MAAM,WAAW,EAAE,QAA+D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/log/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAU,MAAM,aAAa,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;CAC1C;AAKD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,IAAI,WAAW,CAGxC;AA4GD,+CAA+C;AAC/C,eAAO,MAAM,MAAM,EAAE,QAAiE,CAAC;AACvF,kDAAkD;AAClD,eAAO,MAAM,UAAU,EAAE,QAAsE,CAAC;AAChG,8FAA8F;AAC9F,eAAO,MAAM,WAAW,EAAE,QAA+D,CAAC"}
@@ -78,46 +78,71 @@ function formatArg(a) {
78
78
  * @param getter - Deferred function to get pino.Logger instance
79
79
  * @returns EeLogger proxy object
80
80
  */
81
- function createLoggerProxy(getter) {
81
+ /** Log levels that are aggregated into errorLogger (ee-error.log) */
82
+ const ERROR_LEVELS = new Set(['error', 'fatal']);
83
+ /**
84
+ * Invoke a single pino method, normalizing the multiple supported calling styles.
85
+ *
86
+ * Shared by the direct write and the error/fatal aggregation forward so both
87
+ * paths interpret arguments identically.
88
+ */
89
+ function applyLog(l, prop, args) {
90
+ const method = l[prop];
91
+ if (!method)
92
+ return;
93
+ // Single argument, call directly
94
+ if (args.length <= 1) {
95
+ method.call(l, ...args);
96
+ return;
97
+ }
98
+ const first = args[0];
99
+ // pino standard: first argument is a plain object → (mergeObj, msg, ...args)
100
+ if (typeof first === 'object' && first !== null && !(first instanceof Error)) {
101
+ method.call(l, ...args);
102
+ return;
103
+ }
104
+ // pino printf: first argument contains %s/%d formatting → keep as-is
105
+ if (typeof first === 'string' && /%[sdijo]/.test(first)) {
106
+ method.call(l, ...args);
107
+ return;
108
+ }
109
+ // Concatenation mode: logger.info('msg:', value) → 'msg: value'
110
+ method.call(l, args.map(formatArg).join(' '));
111
+ }
112
+ /**
113
+ * Create log proxy object
114
+ *
115
+ * @param getter - Deferred function to get pino.Logger instance
116
+ * @param source - Origin tag ('app' / 'core'); when set, error/fatal records are
117
+ * additionally aggregated into errorLogger (ee-error.log) with a `from` binding.
118
+ * errorLogger itself passes no source, so it never forwards to avoid double writes.
119
+ * @returns EeLogger proxy object
120
+ */
121
+ function createLoggerProxy(getter, source) {
82
122
  return new Proxy({}, {
83
123
  get(_target, prop) {
84
- // child() returns sub-logger proxy
124
+ // child() returns sub-logger proxy (preserves source so children still aggregate)
85
125
  if (prop === 'child') {
86
- return (bindings) => createLoggerProxy(() => getter().child(bindings));
126
+ return (bindings) => createLoggerProxy(() => getter().child(bindings), source);
87
127
  }
88
128
  if (!LOG_METHODS.has(prop))
89
129
  return undefined;
90
130
  return (...args) => {
91
131
  const l = getter();
92
- const method = l[prop];
93
- if (!method)
94
- return;
95
- // Single argument, call directly
96
- if (args.length <= 1) {
97
- method.call(l, ...args);
98
- return;
99
- }
100
- const first = args[0];
101
- // pino standard: first argument is a plain object → (mergeObj, msg, ...args)
102
- if (typeof first === 'object' && first !== null && !(first instanceof Error)) {
103
- method.call(l, ...args);
104
- return;
105
- }
106
- // pino printf: first argument contains %s/%d formatting → keep as-is
107
- if (typeof first === 'string' && /%[sdijo]/.test(first)) {
108
- method.call(l, ...args);
109
- return;
132
+ applyLog(l, prop, args);
133
+ // Aggregate error/fatal into ee-error.log (single writer = errorLogger).
134
+ // Skipped for errorLogger itself (source undefined) to prevent double writes.
135
+ if (source && ERROR_LEVELS.has(prop)) {
136
+ applyLog(_getLoggerBy('errorLogger').child({ from: source }), prop, args);
110
137
  }
111
- // Concatenation mode: logger.info('msg:', value) → 'msg: value'
112
- method.call(l, args.map(formatArg).join(' '));
113
138
  };
114
139
  },
115
140
  });
116
141
  }
117
142
  /** Application log instance (Proxy wrapped) */
118
- exports.logger = createLoggerProxy(() => _getLoggerBy('logger'));
143
+ exports.logger = createLoggerProxy(() => _getLoggerBy('logger'), 'app');
119
144
  /** Framework core log instance (Proxy wrapped) */
120
- exports.coreLogger = createLoggerProxy(() => _getLoggerBy('coreLogger'));
121
- /** Error log instance (Proxy wrapped, error/fatal level only) */
145
+ exports.coreLogger = createLoggerProxy(() => _getLoggerBy('coreLogger'), 'core');
146
+ /** Error log instance (Proxy wrapped, error/fatal level only; sole writer of ee-error.log) */
122
147
  exports.errorLogger = createLoggerProxy(() => _getLoggerBy('errorLogger'));
123
148
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/log/index.ts"],"names":[],"mappings":";;;AA0CA,8BAEC;AAOD,0BAEC;AASD,gCAGC;AAlDD,2CAAkD;AAkBlD,uDAAuD;AACvD,IAAI,OAAO,GAAuB,IAAI,CAAC;AAEvC;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,MAAgC;IACxD,OAAO,IAAA,kBAAM,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,SAAgB,OAAO;IACrB,OAAO,GAAG,IAAA,kBAAM,GAAE,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU;IACxB,IAAI,CAAC,OAAO,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAC5B,OAAO,OAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,IAA6C;IACjE,IAAI,CAAC,OAAO,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAC5B,OAAO,OAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,wCAAwC;AACxC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAElF;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,CAAU;IAC3B,IAAI,CAAC,YAAY,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC;IACpD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,iBAAiB,CAAC,MAAyB;IAClD,OAAO,IAAI,KAAK,CAAC,EAAyB,EAAE;QAC1C,GAAG,CAAC,OAAO,EAAE,IAAI;YACf,mCAAmC;YACnC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,OAAO,CAAC,QAAuB,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAc,CAAC;gBAAE,OAAO,SAAS,CAAC;YAEvD,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE;gBAC5B,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAI,CAA6D,CAAC,IAAc,CAAC,CAAC;gBAC9F,IAAI,CAAC,MAAM;oBAAE,OAAO;gBAEpB,iCAAiC;gBACjC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;oBACxB,OAAO;gBACT,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtB,6EAA6E;gBAC7E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;oBAC7E,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;oBACxB,OAAO;gBACT,CAAC;gBACD,qEAAqE;gBACrE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxD,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;oBACxB,OAAO;gBACT,CAAC;gBACD,gEAAgE;gBAChE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,+CAA+C;AAClC,QAAA,MAAM,GAAa,iBAAiB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChF,kDAAkD;AACrC,QAAA,UAAU,GAAa,iBAAiB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;AACxF,iEAAiE;AACpD,QAAA,WAAW,GAAa,iBAAiB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/log/index.ts"],"names":[],"mappings":";;;AA0CA,8BAEC;AAOD,0BAEC;AASD,gCAGC;AAlDD,2CAAkD;AAkBlD,uDAAuD;AACvD,IAAI,OAAO,GAAuB,IAAI,CAAC;AAEvC;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,MAAgC;IACxD,OAAO,IAAA,kBAAM,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,SAAgB,OAAO;IACrB,OAAO,GAAG,IAAA,kBAAM,GAAE,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU;IACxB,IAAI,CAAC,OAAO,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAC5B,OAAO,OAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,IAA6C;IACjE,IAAI,CAAC,OAAO,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAC5B,OAAO,OAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,wCAAwC;AACxC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAElF;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,CAAU;IAC3B,IAAI,CAAC,YAAY,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC;IACpD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,qEAAqE;AACrE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,CAAc,EAAE,IAAY,EAAE,IAAe;IAC7D,MAAM,MAAM,GAAI,CAA6D,CAAC,IAAI,CAAC,CAAC;IACpF,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,iCAAiC;IACjC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,6EAA6E;IAC7E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IACD,qEAAqE;IACrE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IACD,gEAAgE;IAChE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CAAC,MAAyB,EAAE,MAAe;IACnE,OAAO,IAAI,KAAK,CAAC,EAAyB,EAAE;QAC1C,GAAG,CAAC,OAAO,EAAE,IAAI;YACf,kFAAkF;YAClF,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,OAAO,CAAC,QAAuB,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;YAChG,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAc,CAAC;gBAAE,OAAO,SAAS,CAAC;YAEvD,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE;gBAC5B,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;gBACnB,QAAQ,CAAC,CAAC,EAAE,IAAc,EAAE,IAAI,CAAC,CAAC;gBAElC,yEAAyE;gBACzE,8EAA8E;gBAC9E,IAAI,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,IAAc,CAAC,EAAE,CAAC;oBAC/C,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,IAAc,EAAE,IAAI,CAAC,CAAC;gBACtF,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,+CAA+C;AAClC,QAAA,MAAM,GAAa,iBAAiB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;AACvF,kDAAkD;AACrC,QAAA,UAAU,GAAa,iBAAiB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;AAChG,8FAA8F;AACjF,QAAA,WAAW,GAAa,iBAAiB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ee-core",
3
- "version": "5.0.1",
3
+ "version": "5.0.2",
4
4
  "description": "ee core - TypeScript edition with dual module support",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",