topkat-utils 1.2.15 → 1.2.17

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/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ### v1.2.17
2
+ * added a relevant toString method to DescriptiveError class
3
+ * improved error logging
4
+
5
+ ### v1.2.16
6
+ * ADD onError to config for custom error handling
7
+ * improve logging
8
+ * add frontend compatibility
9
+
1
10
  ### v1.2.15
2
11
  * Find by address now accepts string array for address
3
12
 
@@ -1,10 +1,11 @@
1
- import { Color } from './types';
1
+ import { Color, ErrorOptions } from './types';
2
2
  export declare type TopkatUtilConfig = Partial<{
3
3
  env: string;
4
4
  isProd: boolean;
5
5
  nbOfLogsToKeep: number;
6
6
  customTypes: object;
7
- preprocessLog?: Function;
7
+ preprocessLog?: (log: string) => any;
8
+ onError?: (msg: string, extraInfos: ErrorOptions) => any;
8
9
  terminal: Partial<{
9
10
  noColor: boolean;
10
11
  theme: Partial<{
@@ -22,23 +23,4 @@ export declare type TopkatUtilConfig = Partial<{
22
23
  }>;
23
24
  /** Allow dynamic changing of config */
24
25
  export declare function configFn(): TopkatUtilConfig;
25
- /** Register custom config
26
- * @param {object} customConfig { 'email': email => /.+@.+/.test(email), type2 : myTestFunction() }
27
- * * env: 'development',
28
- * * customTypes: {},
29
- * * terminal: {
30
- * * noColor: false, // disable colored escape sequences like /mOO35...etc
31
- * * theme: {
32
- * * primary: [61, 167, 32], // main color (title font)
33
- * * shade1: [127, 192, 39], // gradient shade 1
34
- * * shade2: [194, 218, 47], // gradient shade 2
35
- * * bgColor: false, // background color
36
- * * paddingX: 2, // nb spaces added before an outputted str
37
- * * paddingY: 2, //
38
- * * fontColor: false, // default font color
39
- * * pageWidth: 53, // page size in character
40
- * * debugModeColor: [147, 212, 6], // usually orange
41
- * * }
42
- * * },
43
- */
44
26
  export declare function registerConfig(customConfig: TopkatUtilConfig): void;
@@ -26,25 +26,6 @@ let config = {
26
26
  /** Allow dynamic changing of config */
27
27
  function configFn() { return config; }
28
28
  exports.configFn = configFn;
29
- /** Register custom config
30
- * @param {object} customConfig { 'email': email => /.+@.+/.test(email), type2 : myTestFunction() }
31
- * * env: 'development',
32
- * * customTypes: {},
33
- * * terminal: {
34
- * * noColor: false, // disable colored escape sequences like /mOO35...etc
35
- * * theme: {
36
- * * primary: [61, 167, 32], // main color (title font)
37
- * * shade1: [127, 192, 39], // gradient shade 1
38
- * * shade2: [194, 218, 47], // gradient shade 2
39
- * * bgColor: false, // background color
40
- * * paddingX: 2, // nb spaces added before an outputted str
41
- * * paddingY: 2, //
42
- * * fontColor: false, // default font color
43
- * * pageWidth: 53, // page size in character
44
- * * debugModeColor: [147, 212, 6], // usually orange
45
- * * }
46
- * * },
47
- */
48
29
  function registerConfig(customConfig) {
49
30
  if (!(0, isset_1.isset)(customConfig.terminal))
50
31
  customConfig.terminal = {};
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;AACA,mCAA+B;AAC/B,2CAAsC;AAEtC,MAAM,MAAM,GAAG,IAAA,oBAAQ,GAAE,CAAA;AAwBzB,IAAI,MAAM,GAAqB;IAC3B,8BAA8B;IAC9B,GAAG,EAAE,aAAa;IAClB,MAAM,EAAE,KAAK;IACb,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE;QACN,OAAO,EAAE,CAAC,MAAM;QAChB,KAAK,EAAE;YACH,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;YACtB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;YACpB,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;YACrB,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;SACjC;KACJ;CACJ,CAAA;AAED,uCAAuC;AACvC,SAAgB,QAAQ,KAAuB,OAAO,MAAM,CAAA,CAAC,CAAC;AAA9D,4BAA8D;AAG9D;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,cAAc,CAAC,YAA8B;IACzD,IAAI,CAAC,IAAA,aAAK,EAAC,YAAY,CAAC,QAAQ,CAAC;QAAE,YAAY,CAAC,QAAQ,GAAG,EAAE,CAAA;IAC7D,MAAM,SAAS,mCACR,MAAM,GACN,YAAY,CAClB,CAAA;IACD,SAAS,CAAC,QAAQ,mCACX,MAAM,CAAC,QAAQ,GACf,YAAY,CAAC,QAAQ,CAC3B,CAAA;IACD,SAAS,CAAC,QAAQ,CAAC,KAAK,mCACjB,MAAM,CAAC,QAAQ,CAAC,KAAK,GACrB,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CACzC,CAAA;IACD,MAAM,GAAG,SAAS,CAAA;IAElB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA,CAAC,uBAAuB;AACvE,CAAC;AAjBD,wCAiBC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;AACA,mCAA+B;AAC/B,2CAAsC;AAEtC,MAAM,MAAM,GAAG,IAAA,oBAAQ,GAAE,CAAA;AAyBzB,IAAI,MAAM,GAAqB;IAC3B,8BAA8B;IAC9B,GAAG,EAAE,aAAa;IAClB,MAAM,EAAE,KAAK;IACb,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE;QACN,OAAO,EAAE,CAAC,MAAM;QAChB,KAAK,EAAE;YACH,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;YACtB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;YACpB,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;YACrB,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;SACjC;KACJ;CACJ,CAAA;AAED,uCAAuC;AACvC,SAAgB,QAAQ,KAAuB,OAAO,MAAM,CAAA,CAAC,CAAC;AAA9D,4BAA8D;AAE9D,SAAgB,cAAc,CAAC,YAA8B;IACzD,IAAI,CAAC,IAAA,aAAK,EAAC,YAAY,CAAC,QAAQ,CAAC;QAAE,YAAY,CAAC,QAAQ,GAAG,EAAE,CAAA;IAC7D,MAAM,SAAS,mCACR,MAAM,GACN,YAAY,CAClB,CAAA;IACD,SAAS,CAAC,QAAQ,mCACX,MAAM,CAAC,QAAQ,GACf,YAAY,CAAC,QAAQ,CAC3B,CAAA;IACD,SAAS,CAAC,QAAQ,CAAC,KAAK,mCACjB,MAAM,CAAC,QAAQ,CAAC,KAAK,GACrB,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CACzC,CAAA;IACD,MAAM,GAAG,SAAS,CAAA;IAElB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA,CAAC,uBAAuB;AACvE,CAAC;AAjBD,wCAiBC"}
@@ -1,4 +1,5 @@
1
- import { ObjectGeneric } from "./types";
1
+ import { ErrorOptions } from "./types";
2
+ export { ErrorOptions } from './types';
2
3
  export declare function errIfNotSet(objOfVarNamesWithValues: any): void;
3
4
  export declare function err500IfNotSet(objOfVarNamesWithValues: any): void;
4
5
  export declare function errIfEmptyOrNotSet(objOfVarNamesWithValues: any): void;
@@ -6,17 +7,6 @@ export declare function err500IfEmptyOrNotSet(objOfVarNamesWithValues: any): voi
6
7
  export declare function errXXXIfNotSet(errCode: any, checkEmpty: any, objOfVarNamesWithValues: any): void;
7
8
  export declare function err422IfNotSet(o: any): void;
8
9
  export declare function tryCatch(callback: Function, onErr?: Function): Promise<any>;
9
- export declare type ErrorOptions = {
10
- err?: any;
11
- doNotThrow?: boolean;
12
- code?: number;
13
- doNotDisplayCode?: boolean;
14
- notifyOnSlackChannel?: boolean;
15
- extraInfosRenderer?: (extraInfosObj: ObjectGeneric) => void;
16
- doNotWaitOneFrameForLog?: boolean;
17
- noStackTrace?: boolean;
18
- [k: string]: any;
19
- };
20
10
  export declare class DescriptiveError extends Error {
21
11
  errorDescription: {
22
12
  [k: string]: any;
@@ -26,6 +16,7 @@ export declare class DescriptiveError extends Error {
26
16
  options: ErrorOptions;
27
17
  hasBeenLogged: boolean;
28
18
  constructor(msg: string, options?: ErrorOptions);
29
- log(doNotCountHasLogged?: boolean): void;
30
- toString(): void;
19
+ parseError(forCli?: boolean): string[];
20
+ log(): void;
21
+ toString(): string;
31
22
  }
@@ -15,6 +15,7 @@ exports.DescriptiveError = exports.tryCatch = exports.err422IfNotSet = exports.e
15
15
  //----------------------------------------
16
16
  // ERROR UTILS
17
17
  //----------------------------------------
18
+ const config_1 = require("./config");
18
19
  const isset_1 = require("./isset");
19
20
  const is_empty_1 = require("./is-empty");
20
21
  const clean_stack_trace_1 = require("./clean-stack-trace");
@@ -56,8 +57,10 @@ async function tryCatch(callback, onErr = () => { }) {
56
57
  }
57
58
  exports.tryCatch = tryCatch;
58
59
  function extraInfosRendererDefault(extraInfos) {
59
- logger_utils_1.C.error(false, '== EXTRA INFOS ==');
60
- logger_utils_1.C.error(false, JSON.stringify(extraInfos, null, 2));
60
+ return [
61
+ '== EXTRA INFOS ==',
62
+ JSON.stringify(extraInfos, null, 2)
63
+ ];
61
64
  }
62
65
  class DescriptiveError extends Error {
63
66
  constructor(msg, options = {}) {
@@ -76,59 +79,61 @@ class DescriptiveError extends Error {
76
79
  if (!this.hasBeenLogged)
77
80
  this.log(); // wait one event loop to see if not catched
78
81
  });
82
+ const { onError = () => { } } = (0, config_1.configFn)();
83
+ onError(msg, options);
79
84
  }
80
- log(doNotCountHasLogged = false) {
81
- if (!this.hasBeenLogged) {
82
- const _a = this.options, { err, doNotThrow = false, noStackTrace = false, ressource, extraInfosRenderer = extraInfosRendererDefault, notifyOnSlackChannel = false, originalMessage } = _a, extraInfosRaw = __rest(_a, ["err", "doNotThrow", "noStackTrace", "ressource", "extraInfosRenderer", "notifyOnSlackChannel", "originalMessage"]);
83
- let { code } = this.options;
84
- const extraInfos = Object.assign(Object.assign({}, extraInfosRaw), (this.options.extraInfos || {}));
85
- if (!(0, isset_1.isset)(extraInfos.value) && this.options.hasOwnProperty('value'))
86
- extraInfos.value = 'undefined';
87
- if (!(0, isset_1.isset)(extraInfos.gotValue) && this.options.hasOwnProperty('gotValue'))
88
- extraInfos.gotValue = 'undefined';
89
- if ((0, isset_1.isset)(ressource)) {
90
- code = 404;
91
- if (this.msg === '404')
92
- this.msg = `Ressource ${ressource} not found`;
93
- extraInfos.ressource = ressource;
94
- }
95
- logger_utils_1.C.error(false, this.msg || this.message);
96
- if (Object.keys(extraInfos).length > 0)
97
- extraInfosRenderer(extraInfos);
98
- if (err) {
99
- logger_utils_1.C.error(false, '== ORIGINAL ERROR ==');
100
- if (err.log) {
101
- err.hasBeenLogged = false;
102
- err.log();
103
- }
104
- else {
105
- logErr(noStackTrace, err);
106
- if (err.extraInfos)
107
- logErr(noStackTrace, err.extraInfos);
108
- }
85
+ parseError(forCli = false) {
86
+ const errorLogs = [];
87
+ const _a = this.options, { err, doNotThrow = false, noStackTrace = false, ressource, extraInfosRenderer = extraInfosRendererDefault, notifyOnSlackChannel = false, originalMessage } = _a, extraInfosRaw = __rest(_a, ["err", "doNotThrow", "noStackTrace", "ressource", "extraInfosRenderer", "notifyOnSlackChannel", "originalMessage"]);
88
+ let { code } = this.options;
89
+ const extraInfos = Object.assign(Object.assign({}, extraInfosRaw), (this.options.extraInfos || {}));
90
+ this.code = code || 500;
91
+ if (this.options.doNotDisplayCode || (this.options.hasOwnProperty('code') && !(0, isset_1.isset)(this.options.code)))
92
+ delete this.code;
93
+ if (!(0, isset_1.isset)(extraInfos.value) && this.options.hasOwnProperty('value'))
94
+ extraInfos.value = 'undefined';
95
+ if (!(0, isset_1.isset)(extraInfos.gotValue) && this.options.hasOwnProperty('gotValue'))
96
+ extraInfos.gotValue = 'undefined';
97
+ if ((0, isset_1.isset)(ressource)) {
98
+ code = 404;
99
+ if (this.msg === '404')
100
+ this.msg = `Ressource ${ressource} not found`;
101
+ extraInfos.ressource = ressource;
102
+ }
103
+ errorLogs.push(this.msg || this.message);
104
+ if (Object.keys(extraInfos).length > 0)
105
+ extraInfosRenderer(extraInfos);
106
+ if (err) {
107
+ errorLogs.push('== ORIGINAL ERROR ==');
108
+ if (typeof err.parseError === 'function') {
109
+ err.hasBeenLogged = false;
110
+ const logFromOtherErr = err.parseError(forCli);
111
+ errorLogs.push(...logFromOtherErr);
109
112
  }
110
113
  else {
111
- if (!noStackTrace)
112
- logger_utils_1.C.error(false, logger_utils_1.C.dim((0, clean_stack_trace_1.cleanStackTrace)(extraInfosRaw.stack || this.stack)));
114
+ errorLogs.push(err.toString());
115
+ if (!noStackTrace && err.stack)
116
+ errorLogs.push(err.stack);
117
+ if (err.extraInfos)
118
+ errorLogs.push(err.extraInfos);
119
+ }
120
+ }
121
+ else {
122
+ if (!noStackTrace) {
123
+ const stackTranceClean = (0, clean_stack_trace_1.cleanStackTrace)(extraInfosRaw.stack || this.stack);
124
+ errorLogs.push(forCli ? logger_utils_1.C.dim(stackTranceClean) : stackTranceClean);
113
125
  }
114
- this.code = code || 500;
115
- if (this.options.doNotDisplayCode || (this.options.hasOwnProperty('code') && !(0, isset_1.isset)(this.options.code)))
116
- delete this.code;
117
- this.errorDescription = Object.assign({ msg: this.msg, code,
118
- ressource }, extraInfos);
119
126
  }
120
- if (!doNotCountHasLogged)
121
- this.hasBeenLogged = true;
127
+ return errorLogs;
128
+ }
129
+ log() {
130
+ if (!this.hasBeenLogged)
131
+ this.parseError().forEach(errLine => logger_utils_1.C.error(false, errLine));
132
+ this.hasBeenLogged = true;
122
133
  }
123
134
  toString() {
124
- return this.log(true);
135
+ return this.parseError().join('\n');
125
136
  }
126
137
  }
127
138
  exports.DescriptiveError = DescriptiveError;
128
- function logErr(noStackTrace, ...params) {
129
- if (noStackTrace)
130
- logger_utils_1.C.error(false, ...params);
131
- else
132
- logger_utils_1.C.error(...params);
133
- }
134
139
  //# sourceMappingURL=error-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-utils.js","sourceRoot":"","sources":["../../src/error-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-utils.js","sourceRoot":"","sources":["../../src/error-utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Color } from "./types";
2
+ declare type NotInfoLogLevel = 'error' | 'warn';
2
3
  export declare const logger: any;
3
4
  /**
4
5
  // console colored output
@@ -51,7 +52,7 @@ export declare const C: {
51
52
  debugModeLog(title: any, ...string: any[]): void;
52
53
  useTheme(): void;
53
54
  };
54
- export declare function logErrPrivate(type: any, color: Color, ...errors: any[]): any;
55
+ export declare function logErrPrivate(level: NotInfoLogLevel, color: Color, ...errors: any[]): any;
55
56
  export declare function stringifyInstanceOfError(err: any, type?: string, color?: Color, level?: number): {
56
57
  str: string;
57
58
  stackTrace?: undefined;
@@ -74,3 +75,4 @@ export declare function stringifyExtraInfos(extraInfoOriginal: any, type: any, c
74
75
  */
75
76
  export declare function cliProgressBar(step: any, char?: string, msg?: string): void;
76
77
  export declare function dim(str?: string): string;
78
+ export {};
@@ -9,14 +9,13 @@ const isset_1 = require("./isset");
9
9
  const remove_circular_json_stringify_1 = require("./remove-circular-json-stringify");
10
10
  const clean_stack_trace_1 = require("./clean-stack-trace");
11
11
  exports.logger = {
12
- log(str, type = 'log') {
12
+ /** log is an OUTDATED alisas of info, appError is for warning */
13
+ log(str, level = 'info') {
13
14
  const { preprocessLog } = (0, config_1.configFn)();
14
15
  if (typeof preprocessLog === 'function')
15
16
  str = preprocessLog(str) || str;
16
- if ((0, isset_1.isset)(console[type]))
17
- console[type](str);
18
- else if (type === 'appError')
19
- console.warn(str);
17
+ if ((0, isset_1.isset)(console[level]))
18
+ console[level](str);
20
19
  else
21
20
  console.log(str);
22
21
  exports.logger.raw.push(str + `\n`);
@@ -116,7 +115,7 @@ exports.C = {
116
115
  return;
117
116
  const padX = ' '.repeat(paddingX);
118
117
  str = padX + ((0, isset_1.isset)(clr) ? this.rgb(...clr) : '') + str.toString().replace(/\n/g, '\n' + padX + ((0, isset_1.isset)(clr) ? this.rgb(...clr) : ''));
119
- exports.logger.log(str + this.reset, 'log');
118
+ exports.logger.log(str + this.reset, 'info');
120
119
  },
121
120
  info(...str) {
122
121
  str.forEach((s, i) => {
@@ -141,7 +140,7 @@ exports.C = {
141
140
  warning: (...str) => logErrPrivate('warn', [255, 122, 0], ...str),
142
141
  customError: (color, ...str) => logErrPrivate('error', color, ...str),
143
142
  customWarning: (color, ...str) => logErrPrivate('warn', color, ...str),
144
- applicationError: (color, ...str) => logErrPrivate('appError', color, ...str),
143
+ applicationError: (color, ...str) => logErrPrivate('warn', color, ...str),
145
144
  warningLight: (color, ...str) => logErrPrivate('warn', [196, 120, 52], ...str),
146
145
  dimStrSplit(...logs) {
147
146
  let logsStr = [];
@@ -188,13 +187,13 @@ exports.C = {
188
187
  // DEPRECATED
189
188
  useTheme() { },
190
189
  };
191
- function logErrPrivate(type, color, ...errors) {
190
+ function logErrPrivate(level, color, ...errors) {
192
191
  const { isProd } = (0, config_1.configFn)();
193
192
  if (errors.length === 1 && typeof errors[0].log === 'function')
194
193
  return errors[0].log();
195
194
  let stackTrace = (new Error('')).stack || '';
196
195
  const displayStack = errors[0] === false ? errors.shift() : true;
197
- const symbol = type === 'error' ? '✘ ' : '⚠ ';
196
+ const symbol = level === 'error' ? '✘ ' : '⚠ ';
198
197
  if (errors.length > 1 && !(0, isset_1.isset)(errors[0]))
199
198
  errors.shift();
200
199
  const getStringFromErr = (err, i) => {
@@ -207,7 +206,7 @@ function logErrPrivate(type, color, ...errors) {
207
206
  return err.split('\n').map(val => exports.C.dim(val)).join('\n');
208
207
  }
209
208
  else if (err instanceof Error) {
210
- const { str, stackTrace: stkTrc } = stringifyInstanceOfError(err, type, color);
209
+ const { str, stackTrace: stkTrc } = stringifyInstanceOfError(err, level, color);
211
210
  if (stkTrc)
212
211
  stackTrace = stkTrc;
213
212
  return str;
@@ -215,7 +214,7 @@ function logErrPrivate(type, color, ...errors) {
215
214
  else if (typeof err === 'object') {
216
215
  let msg = '';
217
216
  msg += (0, remove_circular_json_stringify_1.removeCircularJSONstringify)(err, 2).split('\n').map(val => exports.C.dim(val)).join('\n') + '\n';
218
- const { str, stackTrace: stkTrc } = stringifyExtraInfos(err.extraInfo || err, type, color);
217
+ const { str, stackTrace: stkTrc } = stringifyExtraInfos(err.extraInfo || err, level, color);
219
218
  if (stkTrc)
220
219
  stackTrace = stkTrc;
221
220
  msg += str;
@@ -237,7 +236,7 @@ function logErrPrivate(type, color, ...errors) {
237
236
  if (displayStack) {
238
237
  messages.push(isProd ? stackTrace : (0, clean_stack_trace_1.cleanStackTrace)(stackTrace) + '\n');
239
238
  }
240
- exports.logger.log(messages.join(''), type);
239
+ exports.logger.log(messages.join(''), level);
241
240
  }
242
241
  }
243
242
  exports.logErrPrivate = logErrPrivate;
@@ -1 +1 @@
1
- {"version":3,"file":"logger-utils.js","sourceRoot":"","sources":["../../src/logger-utils.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,SAAS;AACT,0CAA0C;AAC1C,qCAAmC;AACnC,mCAA+B;AAE/B,qFAA8E;AAC9E,2DAAqD;AAExC,QAAA,MAAM,GAAG;IAClB,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,KAAK;QACjB,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,iBAAQ,GAAE,CAAA;QACpC,IAAI,OAAO,aAAa,KAAK,UAAU;YAAE,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,CAAA;QACxE,IAAI,IAAA,aAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;aACvC,IAAI,IAAI,KAAK,UAAU;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;;YAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAErB,cAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;QAC3B,cAAM,CAAC,GAAG,GAAG,cAAM,CAAC,GAAG,CAAC,KAAK,CAAC,cAAM,CAAC,GAAG,CAAC,MAAM,GAAG,IAAA,iBAAQ,GAAE,CAAC,cAAc,EAAE,cAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACnG,CAAC;IACD;;OAEG;IACH,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,cAAM,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,SAAS,GAAG,CAAC,SAAS,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG;YACb,CAAC,EAAE,YAAY;YACf,EAAE,EAAE,eAAe;YACnB,EAAE,EAAE,eAAe;YACnB,EAAE,EAAE,eAAe;YACnB,EAAE,EAAE,eAAe;YACnB,EAAE,EAAE,eAAe;YACnB,EAAE,EAAE,eAAe,EAAE,OAAO;SAC/B,CAAA;QAED,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACtD,oDAAoD;YACpD,IAAI,GAAG,EAAE;gBACL,IAAI,CAAC,KAAK,CAAC,EAAE;oBACT,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,gDAAgD,CAAC,IAAI,EAAE,CAAA;oBACpG,IAAI,OAAO,EAAE;wBACT,MAAM,KAAK,GAAG,CAAC,IAAA,aAAK,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,aAAK,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;wBAChG,QAAQ,IAAI,IAAA,aAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;qBAChI;iBACJ;;oBAAM,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;aAChD;QACL,CAAC,CAAC,CAAA;QACF,OAAO,2BAA2B,QAAQ,YAAY,CAAA;IAC1D,CAAC;IACD,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,cAAM,CAAC,GAAG,CAAC;QAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACvE,OAAO,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;IACD,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;CACX,CAAA;AAED;;;;;;EAME;AACW,QAAA,CAAC,GAAG;IACb,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,SAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;IAC5B,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,SAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC;IAC/B,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,SAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC;IAC7B,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC;IAChC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,SAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;IAC7B,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,SAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC;IACjC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,SAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC;IAC9B,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,SAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC;IAC9B,OAAO,EAAE,GAAG,CAAC,EAAE;QACX,MAAM,OAAO,GAAU,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAA;QACxD,OAAO,SAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,SAAC,CAAC,KAAK,CAAA;IAC5C,CAAC;IACD,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,GAAG,SAAS;IAC5F,sBAAsB;IACtB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAA,aAAK,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;IAC3G,EAAE,EAAE,CAAC,CAAE,EAAE,CAAE,EAAE,CAAE,EAAE,EAAE,CAAC,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAA,aAAK,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;IAC1G,6BAA6B;IAC7B,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,GAAG,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,GAAG,GAAG,EAAE,QAAQ,GAAG,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ;QAC7J,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,UAAU,CAAC,CAAA;IACxH,CAAC;IACD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,GAAG,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ;QAE/G,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;YACjF,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;SAC/E;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,MAAM,CAAA;YACtE,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAA;YACxC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,cAAc,CAAA;YACzD,OAAO,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;QAC3F,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IACnC,CAAC;IACD,wBAAwB;IACxB,GAAG,CAAC,GAAG,yBAAyB;QAC5B,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;IACpF,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ;QAChG,IAAI,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC;YAAE,OAAM;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjC,GAAG,GAAG,IAAI,GAAG,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACrI,cAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACvC,CAAC;IACD,IAAI,CAAC,GAAG,GAAG;QACP,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;;gBACjE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,CAAC,GAAG,GAAG;QACV,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;;gBACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACN,CAAC;IACD,yDAAyD;IACzD,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC;IACpE,yDAAyD;IACzD,OAAO,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;IACjE,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IACrE,aAAa,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IACtE,gBAAgB,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IAC7E,YAAY,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;IAC9E,WAAW,CAAC,GAAG,IAAI;QACf,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,MAAM,CAAC,aAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5H,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IACD,SAAS;QACL,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACvB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QACtC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;QACvB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC3B,CAAC;IACD;0CACsC;IACtC,YAAY,CAAC,IAAI,EAAE,GAAG,QAAQ;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE;YACzB,IAAI,IAAA,aAAK,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;gBACnB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAA;aAC1B;iBAAM;gBACH,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAA;aACjD;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IACD,aAAa,EAAE,EAAE;IACjB,kDAAkD;IAClD,WAAW,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,GAAG,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,GAAG,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ;QAE3O,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QAEvE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,WAAW,CAAA;QAE7E,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;YAChC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;gBACxB,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,WAAW,CAAA;YACtJ,CAAC,EAAE,EAAE,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;IACjC,CAAC;IACD,YAAY,CAAC,KAAK,EAAE,GAAG,MAAM;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,EAAE,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;QACvE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;IACzC,CAAC;IACD,aAAa;IACb,QAAQ,KAAK,CAAC;CACjB,CAAA;AAED,SAAgB,aAAa,CAAC,IAAI,EAAE,KAAY,EAAE,GAAG,MAAM;IACvD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,iBAAQ,GAAE,CAAA;IAE7B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;IAEtF,IAAI,UAAU,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAA;IAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAChE,MAAM,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAA,aAAK,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAAE,MAAM,CAAC,KAAK,EAAE,CAAA;IAE1D,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAChC,IAAI,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAA;aACrB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,SAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,GAAG,GAAG,GAAG,SAAC,CAAC,KAAK,CAAA;;gBACvD,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAChE;aAAM,IAAI,GAAG,YAAY,KAAK,EAAE;YAC7B,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YAC9E,IAAI,MAAM;gBAAE,UAAU,GAAG,MAAM,CAAA;YAC/B,OAAO,GAAG,CAAA;SACb;aAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAChC,IAAI,GAAG,GAAG,EAAE,CAAA;YACZ,GAAG,IAAI,IAAA,4DAA2B,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;YAC/F,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YAC1F,IAAI,MAAM;gBAAE,UAAU,GAAG,MAAM,CAAA;YAC/B,GAAG,IAAI,GAAG,CAAA;YACV,OAAO,GAAG,CAAA;SACb;;YAAM,OAAO,EAAE,CAAA;IACpB,CAAC,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,UAAU,EAAE;gBAC7B,CAAC,CAAC,GAAG,EAAE,CAAA;gBACP,OAAO,EAAE,CAAA;aACZ;;gBAAM,OAAO,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;QACF,QAAQ;QACR,IAAI,YAAY,EAAE;YACd,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,mCAAe,EAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAA;SAC1E;QACD,cAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;KACtC;AACL,CAAC;AA1CD,sCA0CC;AAED,SAAgB,wBAAwB,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,EAAE,QAAe,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC;IAC/F,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;IACjC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,UAAU,CAAA;IACd,MAAM,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAClG,WAAW;IACX,GAAG,IAAI,SAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,SAAC,CAAC,KAAK,GAAG,IAAI,CAAA;IACxD,IAAI,GAAG,CAAC,KAAK;QAAE,UAAU,GAAG,GAAG,CAAC,KAAK,CAAA,CAAC,gBAAgB;IACtD,aAAa;IACb,IAAI,IAAA,aAAK,EAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QACtB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAClG,IAAI,MAAM;YAAE,UAAU,GAAG,MAAM,CAAA;QAC/B,GAAG,IAAI,IAAI,CAAA;KACd;IACD,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAA;AAC9B,CAAC;AAhBD,4DAgBC;AAED,SAAgB,mBAAmB,CAAC,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC;IACzE,IAAI,UAAU,CAAA;IACd,MAAM,aAAa,GAAG,CAAC,SAAC,CAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IACnE,IAAI,iBAAiB,YAAY,KAAK,EAAE,EAAE,oDAAoD;QAC1F,OAAO,wBAAwB,CAAC,iBAAiB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;KAClE;SAAM;QACH,MAAM,SAAS,qBAAQ,iBAAiB,CAAE,CAAA;QAC1C,MAAM,UAAU,GAAG,CAAC,SAAC,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7D,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;YAChE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;gBAC9B,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,KAAK,EAAE;oBACtC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;oBACvG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBACvB,UAAU,GAAG,MAAM,CAAA;oBACnB,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAA;iBAC7B;aACJ;SACJ;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;YAC/B,UAAU,CAAC,IAAI,CACX,IAAA,4DAA2B,EAAC,SAAS,EAAE,CAAC,CAAC;iBACpC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC;iBAC1C,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;iBACxB,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;SACrD;QACD,OAAO;YACH,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACzH,UAAU;SACb,CAAA;KACJ;AACL,CAAC;AA/BD,kDA+BC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,GAAG,GAAG,2BAA2B;IAC9E,IAAI,IAAA,aAAK,EAAC,OAAO,CAAC,IAAI,IAAA,aAAK,EAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAA,aAAK,EAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAC5E,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA,CAAC,yBAAyB;KACtF;AACL,CAAC;AAND,wCAMC;AAED,2HAA2H;AAC3H,MAAM,iBAAiB;IAWnB,YAAY,IAAI,GAAG,MAAM,EAAE,aAAa,GAAG,OAAO;QAC9C,MAAM,KAAK,GAAG;YACV,KAAK,EAAE;gBACH,QAAQ,EAAE,GAAG;gBACb,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;aACjE;YACD,IAAI,EAAE;gBACF,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aAC7D;SACJ,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAA;QACrC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;QACpC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACtC,CAAC;IACD,KAAK,CAAC,GAAG;QACL,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAChB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;YACrC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YACvE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,SAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,CAAA;QACnF,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACtB,CAAC;IACD,GAAG,CAAC,KAAK,GAAG,KAAK;QACb,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC5B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;QACrC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACrC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAC3B,KAAK,CAAC,CAAC,CAAC,SAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;YAC/C,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,CAAA;QACvD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;IAC7B,CAAC;IACD,KAAK;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;CACJ;AAGD,SAAgB,GAAG,CAAC,GAAG,GAAG,EAAE;IACxB,OAAO,IAAA,iBAAQ,GAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAA;AACrH,CAAC;AAFD,kBAEC"}
1
+ {"version":3,"file":"logger-utils.js","sourceRoot":"","sources":["../../src/logger-utils.ts"],"names":[],"mappings":"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"}
@@ -3,3 +3,14 @@ export declare type ObjectGeneric = {
3
3
  };
4
4
  export declare type Color = [number, number, number];
5
5
  export declare type Override<T1, T2> = Omit<T1, keyof T2> & T2;
6
+ export declare type ErrorOptions = {
7
+ err?: any;
8
+ doNotThrow?: boolean;
9
+ code?: number;
10
+ doNotDisplayCode?: boolean;
11
+ notifyOnSlackChannel?: boolean;
12
+ extraInfosRenderer?: (extraInfosObj: ObjectGeneric) => string[];
13
+ doNotWaitOneFrameForLog?: boolean;
14
+ noStackTrace?: boolean;
15
+ [k: string]: any;
16
+ };
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "topkat-utils",
3
- "version": "1.2.15",
3
+ "version": "1.2.17",
4
4
  "type": "commonjs",
5
5
  "types": "index.ts",
6
+ "main": "dist",
6
7
  "private": false,
7
8
  "description": "FAST AND FUNCTIONAL UTILS",
8
9
  "author": "topkat",
9
10
  "license": "ISC",
10
- "main": ".",
11
11
  "repository": {
12
12
  "type": "git",
13
13
  "url": "https://github.com/top-kat/utils"
package/src/config.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Color } from './types'
1
+ import { Color, ErrorOptions } from './types'
2
2
  import { isset } from './isset'
3
3
  import { isNodeJs } from './is-nodejs'
4
4
 
@@ -9,7 +9,8 @@ export type TopkatUtilConfig = Partial<{
9
9
  isProd: boolean
10
10
  nbOfLogsToKeep: number
11
11
  customTypes: object,
12
- preprocessLog?: Function,
12
+ preprocessLog?: (log: string) => any,
13
+ onError?: (msg: string, extraInfos: ErrorOptions) => any
13
14
  terminal: Partial<{
14
15
  noColor: boolean
15
16
  theme: Partial<{
@@ -49,26 +50,6 @@ let config: TopkatUtilConfig = {
49
50
  /** Allow dynamic changing of config */
50
51
  export function configFn(): TopkatUtilConfig { return config }
51
52
 
52
-
53
- /** Register custom config
54
- * @param {object} customConfig { 'email': email => /.+@.+/.test(email), type2 : myTestFunction() }
55
- * * env: 'development',
56
- * * customTypes: {},
57
- * * terminal: {
58
- * * noColor: false, // disable colored escape sequences like /mOO35...etc
59
- * * theme: {
60
- * * primary: [61, 167, 32], // main color (title font)
61
- * * shade1: [127, 192, 39], // gradient shade 1
62
- * * shade2: [194, 218, 47], // gradient shade 2
63
- * * bgColor: false, // background color
64
- * * paddingX: 2, // nb spaces added before an outputted str
65
- * * paddingY: 2, //
66
- * * fontColor: false, // default font color
67
- * * pageWidth: 53, // page size in character
68
- * * debugModeColor: [147, 212, 6], // usually orange
69
- * * }
70
- * * },
71
- */
72
53
  export function registerConfig(customConfig: TopkatUtilConfig) {
73
54
  if (!isset(customConfig.terminal)) customConfig.terminal = {}
74
55
  const newconfig = {
@@ -1,11 +1,13 @@
1
1
  //----------------------------------------
2
2
  // ERROR UTILS
3
3
  //----------------------------------------
4
+ import { configFn } from "./config"
4
5
  import { isset } from "./isset"
5
6
  import { isEmpty } from "./is-empty"
6
- import { ObjectGeneric } from "./types"
7
+ import { ErrorOptions } from "./types"
7
8
  import { cleanStackTrace } from "./clean-stack-trace"
8
9
  import { C } from "./logger-utils"
10
+ export { ErrorOptions } from './types'
9
11
 
10
12
  export function errIfNotSet(objOfVarNamesWithValues) { return errXXXIfNotSet(422, false, objOfVarNamesWithValues) }
11
13
 
@@ -39,21 +41,13 @@ export async function tryCatch(callback: Function, onErr: Function = () => { })
39
41
  }
40
42
 
41
43
 
42
- export type ErrorOptions = {
43
- err?: any
44
- doNotThrow?: boolean
45
- code?: number
46
- doNotDisplayCode?: boolean
47
- notifyOnSlackChannel?: boolean
48
- extraInfosRenderer?: (extraInfosObj: ObjectGeneric) => void
49
- doNotWaitOneFrameForLog?: boolean
50
- noStackTrace?: boolean
51
- [k: string]: any
52
- }
44
+
53
45
 
54
46
  function extraInfosRendererDefault(extraInfos) {
55
- C.error(false, '== EXTRA INFOS ==')
56
- C.error(false, JSON.stringify(extraInfos, null, 2))
47
+ return [
48
+ '== EXTRA INFOS ==',
49
+ JSON.stringify(extraInfos, null, 2)
50
+ ]
57
51
  }
58
52
 
59
53
  export class DescriptiveError extends Error {
@@ -75,53 +69,57 @@ export class DescriptiveError extends Error {
75
69
  else setTimeout(() => {
76
70
  if (!this.hasBeenLogged) this.log() // wait one event loop to see if not catched
77
71
  })
72
+
73
+ const { onError = () => { } } = configFn()
74
+ onError(msg, options)
78
75
  }
79
- log(doNotCountHasLogged = false) {
80
- if (!this.hasBeenLogged) {
81
- const { err, doNotThrow = false, noStackTrace = false, ressource, extraInfosRenderer = extraInfosRendererDefault, notifyOnSlackChannel = false, originalMessage, ...extraInfosRaw } = this.options
82
- let { code } = this.options
83
- const extraInfos = { ...extraInfosRaw, ...(this.options.extraInfos || {}) }
84
-
85
- if (!isset(extraInfos.value) && this.options.hasOwnProperty('value')) extraInfos.value = 'undefined'
86
- if (!isset(extraInfos.gotValue) && this.options.hasOwnProperty('gotValue')) extraInfos.gotValue = 'undefined'
87
-
88
- if (isset(ressource)) {
89
- code = 404
90
- if (this.msg === '404') this.msg = `Ressource ${ressource} not found`
91
- extraInfos.ressource = ressource
92
- }
76
+ parseError(forCli = false) {
77
+
78
+ const errorLogs: string[] = []
79
+
80
+ const { err, doNotThrow = false, noStackTrace = false, ressource, extraInfosRenderer = extraInfosRendererDefault, notifyOnSlackChannel = false, originalMessage, ...extraInfosRaw } = this.options
81
+ let { code } = this.options
82
+ const extraInfos = { ...extraInfosRaw, ...(this.options.extraInfos || {}) }
83
+
84
+ this.code = code || 500
85
+ if (this.options.doNotDisplayCode || (this.options.hasOwnProperty('code') && !isset(this.options.code))) delete this.code
93
86
 
94
- C.error(false, this.msg || this.message)
95
- if (Object.keys(extraInfos).length > 0) extraInfosRenderer(extraInfos)
96
- if (err) {
97
- C.error(false, '== ORIGINAL ERROR ==')
98
- if (err.log) {
99
- err.hasBeenLogged = false
100
- err.log()
101
- } else {
102
- logErr(noStackTrace, err)
103
- if (err.extraInfos) logErr(noStackTrace, err.extraInfos)
104
- }
87
+ if (!isset(extraInfos.value) && this.options.hasOwnProperty('value')) extraInfos.value = 'undefined'
88
+ if (!isset(extraInfos.gotValue) && this.options.hasOwnProperty('gotValue')) extraInfos.gotValue = 'undefined'
89
+
90
+ if (isset(ressource)) {
91
+ code = 404
92
+ if (this.msg === '404') this.msg = `Ressource ${ressource} not found`
93
+ extraInfos.ressource = ressource
94
+ }
95
+
96
+ errorLogs.push(this.msg || this.message)
97
+ if (Object.keys(extraInfos).length > 0) extraInfosRenderer(extraInfos)
98
+ if (err) {
99
+ errorLogs.push('== ORIGINAL ERROR ==')
100
+ if (typeof err.parseError === 'function') {
101
+ err.hasBeenLogged = false
102
+ const logFromOtherErr = err.parseError(forCli)
103
+ errorLogs.push(...logFromOtherErr)
105
104
  } else {
106
- if (!noStackTrace) C.error(false, C.dim(cleanStackTrace(extraInfosRaw.stack || this.stack)))
105
+ errorLogs.push(err.toString())
106
+ if (!noStackTrace && err.stack) errorLogs.push(err.stack)
107
+ if (err.extraInfos) errorLogs.push(err.extraInfos)
107
108
  }
108
- this.code = code || 500
109
- if (this.options.doNotDisplayCode || (this.options.hasOwnProperty('code') && !isset(this.options.code))) delete this.code
110
- this.errorDescription = {
111
- msg: this.msg,
112
- code,
113
- ressource,
114
- ...extraInfos,
109
+ } else {
110
+ if (!noStackTrace) {
111
+ const stackTranceClean = cleanStackTrace(extraInfosRaw.stack || this.stack)
112
+ errorLogs.push(forCli ? C.dim(stackTranceClean) : stackTranceClean)
115
113
  }
116
114
  }
117
- if (!doNotCountHasLogged) this.hasBeenLogged = true
115
+
116
+ return errorLogs
117
+ }
118
+ log() {
119
+ if (!this.hasBeenLogged) this.parseError().forEach(errLine => C.error(false, errLine))
120
+ this.hasBeenLogged = true
118
121
  }
119
122
  toString() {
120
- return this.log(true)
123
+ return this.parseError().join('\n')
121
124
  }
122
- }
123
-
124
- function logErr(noStackTrace: boolean, ...params: any[]) {
125
- if (noStackTrace) C.error(false, ...params)
126
- else C.error(...params)
127
125
  }
@@ -7,12 +7,15 @@ import { Color } from "./types"
7
7
  import { removeCircularJSONstringify } from "./remove-circular-json-stringify"
8
8
  import { cleanStackTrace } from "./clean-stack-trace"
9
9
 
10
+ type NotInfoLogLevel = 'error' | 'warn'
11
+ type LogLevels = NotInfoLogLevel | 'info'
12
+
10
13
  export const logger = {
11
- log(str, type = 'log') {
14
+ /** log is an OUTDATED alisas of info, appError is for warning */
15
+ log(str: string, level: LogLevels = 'info') {
12
16
  const { preprocessLog } = configFn()
13
17
  if (typeof preprocessLog === 'function') str = preprocessLog(str) || str
14
- if (isset(console[type])) console[type](str)
15
- else if (type === 'appError') console.warn(str)
18
+ if (isset(console[level])) console[level](str)
16
19
  else console.log(str)
17
20
 
18
21
  logger.raw.push(str + `\n`)
@@ -111,7 +114,7 @@ export const C = {
111
114
  if (!isset(str)) return
112
115
  const padX = ' '.repeat(paddingX)
113
116
  str = padX + (isset(clr) ? this.rgb(...clr) : '') + str.toString().replace(/\n/g, '\n' + padX + (isset(clr) ? this.rgb(...clr) : ''))
114
- logger.log(str + this.reset, 'log')
117
+ logger.log(str + this.reset, 'info')
115
118
  },
116
119
  info(...str) {
117
120
  str.forEach((s, i) => {
@@ -132,7 +135,7 @@ export const C = {
132
135
  warning: (...str) => logErrPrivate('warn', [255, 122, 0], ...str),
133
136
  customError: (color, ...str) => logErrPrivate('error', color, ...str),
134
137
  customWarning: (color, ...str) => logErrPrivate('warn', color, ...str),
135
- applicationError: (color, ...str) => logErrPrivate('appError', color, ...str),
138
+ applicationError: (color, ...str) => logErrPrivate('warn', color, ...str),
136
139
  warningLight: (color, ...str) => logErrPrivate('warn', [196, 120, 52], ...str),
137
140
  dimStrSplit(...logs) {
138
141
  let logsStr = []
@@ -182,14 +185,14 @@ export const C = {
182
185
  useTheme() { },
183
186
  }
184
187
 
185
- export function logErrPrivate(type, color: Color, ...errors) {
188
+ export function logErrPrivate(level: NotInfoLogLevel, color: Color, ...errors) {
186
189
  const { isProd } = configFn()
187
190
 
188
191
  if (errors.length === 1 && typeof errors[0].log === 'function') return errors[0].log()
189
192
 
190
193
  let stackTrace = (new Error('')).stack || ''
191
194
  const displayStack = errors[0] === false ? errors.shift() : true
192
- const symbol = type === 'error' ? '✘ ' : '⚠ '
195
+ const symbol = level === 'error' ? '✘ ' : '⚠ '
193
196
  if (errors.length > 1 && !isset(errors[0])) errors.shift()
194
197
 
195
198
  const getStringFromErr = (err, i) => {
@@ -198,13 +201,13 @@ export function logErrPrivate(type, color: Color, ...errors) {
198
201
  if (i === 0) return C.rgb(...color) + symbol + err + C.reset
199
202
  else return err.split('\n').map(val => C.dim(val)).join('\n')
200
203
  } else if (err instanceof Error) {
201
- const { str, stackTrace: stkTrc } = stringifyInstanceOfError(err, type, color)
204
+ const { str, stackTrace: stkTrc } = stringifyInstanceOfError(err, level, color)
202
205
  if (stkTrc) stackTrace = stkTrc
203
206
  return str
204
207
  } else if (typeof err === 'object') {
205
208
  let msg = ''
206
209
  msg += removeCircularJSONstringify(err, 2).split('\n').map(val => C.dim(val)).join('\n') + '\n'
207
- const { str, stackTrace: stkTrc } = stringifyExtraInfos(err.extraInfo || err, type, color)
210
+ const { str, stackTrace: stkTrc } = stringifyExtraInfos(err.extraInfo || err, level, color)
208
211
  if (stkTrc) stackTrace = stkTrc
209
212
  msg += str
210
213
  return msg
@@ -222,7 +225,7 @@ export function logErrPrivate(type, color: Color, ...errors) {
222
225
  if (displayStack) {
223
226
  messages.push(isProd ? stackTrace : cleanStackTrace(stackTrace) + '\n')
224
227
  }
225
- logger.log(messages.join(''), type)
228
+ logger.log(messages.join(''), level)
226
229
  }
227
230
  }
228
231
 
package/src/types.ts CHANGED
@@ -3,4 +3,16 @@ export type ObjectGeneric = { [k: string]: any }
3
3
 
4
4
  export type Color = [number, number, number]
5
5
 
6
- export type Override<T1, T2> = Omit<T1, keyof T2> & T2
6
+ export type Override<T1, T2> = Omit<T1, keyof T2> & T2
7
+
8
+ export type ErrorOptions = {
9
+ err?: any
10
+ doNotThrow?: boolean
11
+ code?: number
12
+ doNotDisplayCode?: boolean
13
+ notifyOnSlackChannel?: boolean
14
+ extraInfosRenderer?: (extraInfosObj: ObjectGeneric) => string[]
15
+ doNotWaitOneFrameForLog?: boolean
16
+ noStackTrace?: boolean
17
+ [k: string]: any
18
+ }