topkat-utils 1.2.17 → 1.2.19

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/.eslintrc ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "env": {
3
+ "es6": true,
4
+ "node": true,
5
+ "mocha": true,
6
+ "browser": true
7
+ },
8
+ "extends": [
9
+ "eslint:recommended"
10
+ ],
11
+ "parserOptions": {
12
+ "ecmaVersion": 2018,
13
+ "sourceType": "module",
14
+ "allowImportExportEverywhere": true
15
+ },
16
+ "rules": {
17
+ "no-inner-declarations": "off",
18
+ "no-console": "warn",
19
+ "no-unused-vars": "warn",
20
+ "no-global-assign": "warn",
21
+ "require-atomic-updates": "off",
22
+ "no-prototype-builtins": "off",
23
+ "no-extra-semi": "error",
24
+ "linebreak-style": [
25
+ "error",
26
+ "unix"
27
+ ],
28
+ "quotes": [
29
+ "error",
30
+ "single",
31
+ {
32
+ "allowTemplateLiterals": true
33
+ }
34
+ ],
35
+ "semi": [
36
+ "error",
37
+ "never"
38
+ ],
39
+ "brace-style": [
40
+ 1,
41
+ "1tbs",
42
+ {
43
+ "allowSingleLine": true
44
+ }
45
+ ]
46
+ }
47
+ }
@@ -15,8 +15,9 @@ export declare class DescriptiveError extends Error {
15
15
  msg: string;
16
16
  options: ErrorOptions;
17
17
  hasBeenLogged: boolean;
18
+ logs: string[];
18
19
  constructor(msg: string, options?: ErrorOptions);
19
- parseError(forCli?: boolean): string[];
20
+ parseError(forCli?: boolean): void;
20
21
  log(): void;
21
22
  toString(): string;
22
23
  }
@@ -65,6 +65,8 @@ function extraInfosRendererDefault(extraInfos) {
65
65
  class DescriptiveError extends Error {
66
66
  constructor(msg, options = {}) {
67
67
  super(msg);
68
+ this.hasBeenLogged = false;
69
+ this.logs = [];
68
70
  delete options.errMsgId;
69
71
  this.msg = msg;
70
72
  const { doNotWaitOneFrameForLog = false } = options, optionsClean = __rest(options, ["doNotWaitOneFrameForLog"]);
@@ -81,6 +83,7 @@ class DescriptiveError extends Error {
81
83
  });
82
84
  const { onError = () => { } } = (0, config_1.configFn)();
83
85
  onError(msg, options);
86
+ this.parseError();
84
87
  }
85
88
  parseError(forCli = false) {
86
89
  const errorLogs = [];
@@ -101,8 +104,9 @@ class DescriptiveError extends Error {
101
104
  extraInfos.ressource = ressource;
102
105
  }
103
106
  errorLogs.push(this.msg || this.message);
104
- if (Object.keys(extraInfos).length > 0)
105
- extraInfosRenderer(extraInfos);
107
+ if (Object.keys(extraInfos).length > 0) {
108
+ errorLogs.push(...extraInfosRenderer(extraInfos));
109
+ }
106
110
  if (err) {
107
111
  errorLogs.push('== ORIGINAL ERROR ==');
108
112
  if (typeof err.parseError === 'function') {
@@ -113,7 +117,7 @@ class DescriptiveError extends Error {
113
117
  else {
114
118
  errorLogs.push(err.toString());
115
119
  if (!noStackTrace && err.stack)
116
- errorLogs.push(err.stack);
120
+ errorLogs.push((0, clean_stack_trace_1.cleanStackTrace)(err.stack));
117
121
  if (err.extraInfos)
118
122
  errorLogs.push(err.extraInfos);
119
123
  }
@@ -124,15 +128,23 @@ class DescriptiveError extends Error {
124
128
  errorLogs.push(forCli ? logger_utils_1.C.dim(stackTranceClean) : stackTranceClean);
125
129
  }
126
130
  }
127
- return errorLogs;
131
+ // THIS is used to access error as object
132
+ this.code = code || 500;
133
+ if (this.options.doNotDisplayCode || (this.options.hasOwnProperty('code') && !(0, isset_1.isset)(this.options.code)))
134
+ delete this.code;
135
+ this.errorDescription = Object.assign({ msg: this.msg, code,
136
+ ressource }, extraInfos);
137
+ if (err)
138
+ this.errorDescription.originalError = `${err.code ? err.code + ': ' : ''}${err.message || err.msg || err.toString()}`;
139
+ this.logs = errorLogs;
128
140
  }
129
141
  log() {
130
142
  if (!this.hasBeenLogged)
131
- this.parseError().forEach(errLine => logger_utils_1.C.error(false, errLine));
143
+ this.logs.forEach(errLine => logger_utils_1.C.error(false, errLine));
132
144
  this.hasBeenLogged = true;
133
145
  }
134
146
  toString() {
135
- return this.parseError().join('\n');
147
+ return this.logs.join('\n');
136
148
  }
137
149
  }
138
150
  exports.DescriptiveError = DescriptiveError;
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "topkat-utils",
3
- "version": "1.2.17",
3
+ "version": "1.2.19",
4
4
  "type": "commonjs",
5
5
  "types": "index.ts",
6
6
  "main": "dist",
@@ -41,8 +41,6 @@ export async function tryCatch(callback: Function, onErr: Function = () => { })
41
41
  }
42
42
 
43
43
 
44
-
45
-
46
44
  function extraInfosRendererDefault(extraInfos) {
47
45
  return [
48
46
  '== EXTRA INFOS ==',
@@ -55,7 +53,8 @@ export class DescriptiveError extends Error {
55
53
  code: number
56
54
  msg: string
57
55
  options: ErrorOptions
58
- hasBeenLogged: boolean
56
+ hasBeenLogged: boolean = false
57
+ logs: string[] = []
59
58
 
60
59
  constructor(msg: string, options: ErrorOptions = {}) {
61
60
  super(msg)
@@ -72,6 +71,8 @@ export class DescriptiveError extends Error {
72
71
 
73
72
  const { onError = () => { } } = configFn()
74
73
  onError(msg, options)
74
+
75
+ this.parseError()
75
76
  }
76
77
  parseError(forCli = false) {
77
78
 
@@ -79,7 +80,11 @@ export class DescriptiveError extends Error {
79
80
 
80
81
  const { err, doNotThrow = false, noStackTrace = false, ressource, extraInfosRenderer = extraInfosRendererDefault, notifyOnSlackChannel = false, originalMessage, ...extraInfosRaw } = this.options
81
82
  let { code } = this.options
82
- const extraInfos = { ...extraInfosRaw, ...(this.options.extraInfos || {}) }
83
+ const extraInfos = {
84
+ ...extraInfosRaw,
85
+ // additionnal extra info passed from parent error
86
+ ...(this.options.extraInfos || {}),
87
+ }
83
88
 
84
89
  this.code = code || 500
85
90
  if (this.options.doNotDisplayCode || (this.options.hasOwnProperty('code') && !isset(this.options.code))) delete this.code
@@ -94,7 +99,11 @@ export class DescriptiveError extends Error {
94
99
  }
95
100
 
96
101
  errorLogs.push(this.msg || this.message)
97
- if (Object.keys(extraInfos).length > 0) extraInfosRenderer(extraInfos)
102
+
103
+ if (Object.keys(extraInfos).length > 0) {
104
+ errorLogs.push(...extraInfosRenderer(extraInfos))
105
+ }
106
+
98
107
  if (err) {
99
108
  errorLogs.push('== ORIGINAL ERROR ==')
100
109
  if (typeof err.parseError === 'function') {
@@ -103,7 +112,7 @@ export class DescriptiveError extends Error {
103
112
  errorLogs.push(...logFromOtherErr)
104
113
  } else {
105
114
  errorLogs.push(err.toString())
106
- if (!noStackTrace && err.stack) errorLogs.push(err.stack)
115
+ if (!noStackTrace && err.stack) errorLogs.push(cleanStackTrace(err.stack))
107
116
  if (err.extraInfos) errorLogs.push(err.extraInfos)
108
117
  }
109
118
  } else {
@@ -113,13 +122,24 @@ export class DescriptiveError extends Error {
113
122
  }
114
123
  }
115
124
 
116
- return errorLogs
125
+ // THIS is used to access error as object
126
+ this.code = code || 500
127
+ if (this.options.doNotDisplayCode || (this.options.hasOwnProperty('code') && !isset(this.options.code))) delete this.code
128
+ this.errorDescription = {
129
+ msg: this.msg,
130
+ code,
131
+ ressource,
132
+ ...extraInfos,
133
+ }
134
+ if (err) this.errorDescription.originalError = `${err.code ? err.code + ': ' : ''}${err.message || err.msg || err.toString()}`
135
+
136
+ this.logs = errorLogs
117
137
  }
118
138
  log() {
119
- if (!this.hasBeenLogged) this.parseError().forEach(errLine => C.error(false, errLine))
139
+ if (!this.hasBeenLogged) this.logs.forEach(errLine => C.error(false, errLine))
120
140
  this.hasBeenLogged = true
121
141
  }
122
142
  toString() {
123
- return this.parseError().join('\n')
143
+ return this.logs.join('\n')
124
144
  }
125
145
  }