yerror 6.2.0 → 7.0.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.
- package/CHANGELOG.md +13 -0
- package/README.md +8 -22
- package/dist/index.d.ts +72 -0
- package/dist/index.js +119 -176
- package/dist/index.js.map +1 -1
- package/dist/index.test.d.ts +1 -0
- package/dist/index.test.js +145 -0
- package/dist/index.test.js.map +1 -0
- package/package.json +89 -71
- package/src/{index.mocha.js → index.test.ts} +74 -55
- package/src/index.ts +192 -0
- package/dist/index.mjs +0 -117
- package/dist/index.mjs.map +0 -1
- package/dist/index.mocha.js +0 -201
- package/dist/index.mocha.js.map +0 -1
- package/dist/index.mocha.mjs +0 -153
- package/dist/index.mocha.mjs.map +0 -1
- package/src/index.d.ts +0 -26
- package/src/index.js +0 -165
package/dist/index.mocha.js
DELETED
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _assert = _interopRequireDefault(require("assert"));
|
|
4
|
-
|
|
5
|
-
var _ = _interopRequireDefault(require("."));
|
|
6
|
-
|
|
7
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
8
|
-
|
|
9
|
-
/* eslint max-nested-callbacks:[0], no-magic-numbers:[0] */
|
|
10
|
-
describe('YError', () => {
|
|
11
|
-
describe('.__constructor', () => {
|
|
12
|
-
it('Should work', () => {
|
|
13
|
-
var err = new _.default('E_ERROR', 'arg1', 'arg2');
|
|
14
|
-
(0, _assert.default)(err instanceof Error);
|
|
15
|
-
|
|
16
|
-
_assert.default.equal(err.name, err.toString());
|
|
17
|
-
|
|
18
|
-
_assert.default.equal(err.code, 'E_ERROR');
|
|
19
|
-
|
|
20
|
-
_assert.default.deepEqual(err.params, ['arg1', 'arg2']);
|
|
21
|
-
|
|
22
|
-
_assert.default.equal(err.toString(), 'YError: E_ERROR (arg1, arg2)');
|
|
23
|
-
});
|
|
24
|
-
it('Should work without code', () => {
|
|
25
|
-
var err = new _.default();
|
|
26
|
-
|
|
27
|
-
_assert.default.equal(err.code, 'E_UNEXPECTED');
|
|
28
|
-
|
|
29
|
-
_assert.default.deepEqual(err.params, []);
|
|
30
|
-
|
|
31
|
-
_assert.default.equal(err.toString(), 'YError: E_UNEXPECTED ()');
|
|
32
|
-
|
|
33
|
-
_assert.default.equal(err.name, err.toString());
|
|
34
|
-
});
|
|
35
|
-
it('Should work without new', () => {
|
|
36
|
-
var err = new _.default('E_ERROR', 'arg1', 'arg2');
|
|
37
|
-
|
|
38
|
-
_assert.default.equal(err.code, 'E_ERROR');
|
|
39
|
-
|
|
40
|
-
(0, _assert.default)(err instanceof _.default);
|
|
41
|
-
|
|
42
|
-
_assert.default.deepEqual(err.params, ['arg1', 'arg2']);
|
|
43
|
-
|
|
44
|
-
_assert.default.equal(err.toString(), 'YError: E_ERROR (arg1, arg2)');
|
|
45
|
-
|
|
46
|
-
_assert.default.equal(err.name, err.toString());
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
describe('.wrap()', () => {
|
|
50
|
-
it('Should work with standard errors and a message', () => {
|
|
51
|
-
// eslint-disable-line
|
|
52
|
-
var err = _.default.wrap(new Error('This is an error!'));
|
|
53
|
-
|
|
54
|
-
_assert.default.equal(err.code, 'E_UNEXPECTED');
|
|
55
|
-
|
|
56
|
-
_assert.default.equal(err.wrappedErrors.length, 1);
|
|
57
|
-
|
|
58
|
-
_assert.default.deepEqual(err.params, ['This is an error!']);
|
|
59
|
-
|
|
60
|
-
if (Error.captureStackTrace) {
|
|
61
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('Error: This is an error!'), 'Stack contains original error.');
|
|
62
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('YError: E_UNEXPECTED (This is an error!)'), 'Stack contains cast error.');
|
|
63
|
-
|
|
64
|
-
_assert.default.equal(err.name, err.toString());
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
it('Should work with standard errors and an error code', () => {
|
|
68
|
-
var err = _.default.wrap(new Error('E_ERROR'));
|
|
69
|
-
|
|
70
|
-
_assert.default.equal(err.code, 'E_ERROR');
|
|
71
|
-
|
|
72
|
-
_assert.default.equal(err.wrappedErrors.length, 1);
|
|
73
|
-
|
|
74
|
-
_assert.default.deepEqual(err.params, []);
|
|
75
|
-
|
|
76
|
-
if (Error.captureStackTrace) {
|
|
77
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('Error: E_ERROR'), 'Stack contains original error.');
|
|
78
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('YError: E_ERROR ()'), 'Stack contains cast error.');
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
_assert.default.equal(err.name, err.toString());
|
|
82
|
-
});
|
|
83
|
-
it('Should work with standard errors, an error code and params', () => {
|
|
84
|
-
var err = _.default.wrap(new Error('E_ERROR'), 'E_ERROR_2', 'arg1', 'arg2');
|
|
85
|
-
|
|
86
|
-
_assert.default.equal(err.code, 'E_ERROR_2');
|
|
87
|
-
|
|
88
|
-
_assert.default.equal(err.wrappedErrors.length, 1);
|
|
89
|
-
|
|
90
|
-
_assert.default.deepEqual(err.params, ['arg1', 'arg2']);
|
|
91
|
-
|
|
92
|
-
if (Error.captureStackTrace) {
|
|
93
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('Error: E_ERROR'), 'Stack contains first error.');
|
|
94
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('YError: E_ERROR_2 (arg1, arg2)'), 'Stack contains second error.');
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
_assert.default.equal(err.name, err.toString());
|
|
98
|
-
});
|
|
99
|
-
it('Should work with several wrapped errors', () => {
|
|
100
|
-
var err = _.default.wrap(_.default.wrap(new Error('E_ERROR_1'), 'E_ERROR_2', 'arg2.1', 'arg2.2'), 'E_ERROR_3', 'arg3.1', 'arg3.2');
|
|
101
|
-
|
|
102
|
-
_assert.default.equal(err.code, 'E_ERROR_3');
|
|
103
|
-
|
|
104
|
-
_assert.default.equal(err.wrappedErrors.length, 2);
|
|
105
|
-
|
|
106
|
-
_assert.default.deepEqual(err.params, ['arg3.1', 'arg3.2']);
|
|
107
|
-
|
|
108
|
-
if (Error.captureStackTrace) {
|
|
109
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('Error: E_ERROR_1'), 'Stack contains first error.');
|
|
110
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('YError: E_ERROR_2 (arg2.1, arg2.2)'), 'Stack contains second error.');
|
|
111
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('YError: E_ERROR_3 (arg3.1, arg3.2)'), 'Stack contains second error.');
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
_assert.default.equal(err.name, err.toString());
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
describe('.cast()', () => {
|
|
118
|
-
it('Should work with standard errors and a message', () => {
|
|
119
|
-
var err = _.default.cast(new Error('This is an error!'));
|
|
120
|
-
|
|
121
|
-
_assert.default.equal(err.code, 'E_UNEXPECTED');
|
|
122
|
-
|
|
123
|
-
_assert.default.equal(err.wrappedErrors.length, 1);
|
|
124
|
-
|
|
125
|
-
_assert.default.deepEqual(err.params, ['This is an error!']);
|
|
126
|
-
|
|
127
|
-
if (Error.captureStackTrace) {
|
|
128
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('Error: This is an error!'), 'Stack contains original error.');
|
|
129
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('YError: E_UNEXPECTED (This is an error!)'), 'Stack contains cast error.');
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
_assert.default.equal(err.name, err.toString());
|
|
133
|
-
});
|
|
134
|
-
it('Should let YError instances pass through', () => {
|
|
135
|
-
var err = _.default.cast(new _.default('E_ERROR', 'arg1', 'arg2'));
|
|
136
|
-
|
|
137
|
-
_assert.default.equal(err.code, 'E_ERROR');
|
|
138
|
-
|
|
139
|
-
_assert.default.deepEqual(err.params, ['arg1', 'arg2']);
|
|
140
|
-
|
|
141
|
-
if (Error.captureStackTrace) {
|
|
142
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('YError: E_ERROR (arg1, arg2)'), 'Stack contains cast error.');
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
_assert.default.equal(err.name, err.toString());
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
describe('.bump()', () => {
|
|
149
|
-
it('Should work with standard errors and a message', () => {
|
|
150
|
-
var err = _.default.bump(new Error('This is an error!'));
|
|
151
|
-
|
|
152
|
-
_assert.default.equal(err.code, 'E_UNEXPECTED');
|
|
153
|
-
|
|
154
|
-
_assert.default.equal(err.wrappedErrors.length, 1);
|
|
155
|
-
|
|
156
|
-
_assert.default.deepEqual(err.params, ['This is an error!']);
|
|
157
|
-
|
|
158
|
-
if (Error.captureStackTrace) {
|
|
159
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('Error: This is an error!'), 'Stack contains original error.');
|
|
160
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('YError: E_UNEXPECTED (This is an error!)'), 'Stack contains bumped error.');
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
_assert.default.equal(err.name, err.toString());
|
|
164
|
-
});
|
|
165
|
-
it('Should work with YError like errors', () => {
|
|
166
|
-
var baseErr = new Error('E_A_NEW_ERROR');
|
|
167
|
-
baseErr.code = 'E_A_NEW_ERROR';
|
|
168
|
-
baseErr.params = ['baseParam1', 'baseParam2'];
|
|
169
|
-
|
|
170
|
-
let err = _.default.bump(baseErr);
|
|
171
|
-
|
|
172
|
-
_assert.default.equal(err.code, 'E_A_NEW_ERROR');
|
|
173
|
-
|
|
174
|
-
_assert.default.equal(err.wrappedErrors.length, 1);
|
|
175
|
-
|
|
176
|
-
_assert.default.deepEqual(err.params, ['baseParam1', 'baseParam2']);
|
|
177
|
-
|
|
178
|
-
if (Error.captureStackTrace) {
|
|
179
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('Error: E_A_NEW_ERROR'), 'Stack contains original error.');
|
|
180
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('YError: E_A_NEW_ERROR (baseParam1, baseParam2)'), 'Stack contains bumped error.');
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
_assert.default.equal(err.name, err.toString());
|
|
184
|
-
});
|
|
185
|
-
it('Should work with Y errors and a message', () => {
|
|
186
|
-
var err = _.default.bump(new _.default('E_ERROR', 'arg1.1', 'arg1.2'), 'E_ERROR_2', 'arg2.1', 'arg2.2');
|
|
187
|
-
|
|
188
|
-
_assert.default.equal(err.code, 'E_ERROR');
|
|
189
|
-
|
|
190
|
-
_assert.default.deepEqual(err.params, ['arg1.1', 'arg1.2']);
|
|
191
|
-
|
|
192
|
-
if (Error.captureStackTrace) {
|
|
193
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('YError: E_ERROR (arg1.1, arg1.2)'), 'Stack contains original error.');
|
|
194
|
-
(0, _assert.default)(-1 !== err.stack.indexOf('YError: E_ERROR (arg1.1, arg1.2)'), 'Stack contains bumped error.');
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
_assert.default.equal(err.name, err.toString());
|
|
198
|
-
});
|
|
199
|
-
});
|
|
200
|
-
});
|
|
201
|
-
//# sourceMappingURL=index.mocha.js.map
|
package/dist/index.mocha.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mocha.js","names":["describe","it","err","YError","assert","Error","equal","name","toString","code","deepEqual","params","wrap","wrappedErrors","length","captureStackTrace","stack","indexOf","cast","bump","baseErr"],"sources":["../src/index.mocha.js"],"sourcesContent":["/* eslint max-nested-callbacks:[0], no-magic-numbers:[0] */\nimport assert from 'assert';\nimport YError from '.';\n\ndescribe('YError', () => {\n describe('.__constructor', () => {\n it('Should work', () => {\n var err = new YError('E_ERROR', 'arg1', 'arg2');\n\n assert(err instanceof Error);\n assert.equal(err.name, err.toString());\n assert.equal(err.code, 'E_ERROR');\n assert.deepEqual(err.params, ['arg1', 'arg2']);\n assert.equal(err.toString(), 'YError: E_ERROR (arg1, arg2)');\n });\n it('Should work without code', () => {\n var err = new YError();\n\n assert.equal(err.code, 'E_UNEXPECTED');\n assert.deepEqual(err.params, []);\n assert.equal(err.toString(), 'YError: E_UNEXPECTED ()');\n assert.equal(err.name, err.toString());\n });\n it('Should work without new', () => {\n var err = new YError('E_ERROR', 'arg1', 'arg2');\n\n assert.equal(err.code, 'E_ERROR');\n assert(err instanceof YError);\n assert.deepEqual(err.params, ['arg1', 'arg2']);\n assert.equal(err.toString(), 'YError: E_ERROR (arg1, arg2)');\n assert.equal(err.name, err.toString());\n });\n });\n\n describe('.wrap()', () => {\n it('Should work with standard errors and a message', () => {\n // eslint-disable-line\n var err = YError.wrap(new Error('This is an error!'));\n\n assert.equal(err.code, 'E_UNEXPECTED');\n assert.equal(err.wrappedErrors.length, 1);\n assert.deepEqual(err.params, ['This is an error!']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('Error: This is an error!'),\n 'Stack contains original error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_UNEXPECTED (This is an error!)'),\n 'Stack contains cast error.',\n );\n assert.equal(err.name, err.toString());\n }\n });\n\n it('Should work with standard errors and an error code', () => {\n var err = YError.wrap(new Error('E_ERROR'));\n\n assert.equal(err.code, 'E_ERROR');\n assert.equal(err.wrappedErrors.length, 1);\n assert.deepEqual(err.params, []);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('Error: E_ERROR'),\n 'Stack contains original error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_ERROR ()'),\n 'Stack contains cast error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n\n it('Should work with standard errors, an error code and params', () => {\n var err = YError.wrap(new Error('E_ERROR'), 'E_ERROR_2', 'arg1', 'arg2');\n\n assert.equal(err.code, 'E_ERROR_2');\n assert.equal(err.wrappedErrors.length, 1);\n assert.deepEqual(err.params, ['arg1', 'arg2']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('Error: E_ERROR'),\n 'Stack contains first error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_ERROR_2 (arg1, arg2)'),\n 'Stack contains second error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n\n it('Should work with several wrapped errors', () => {\n var err = YError.wrap(\n YError.wrap(new Error('E_ERROR_1'), 'E_ERROR_2', 'arg2.1', 'arg2.2'),\n 'E_ERROR_3',\n 'arg3.1',\n 'arg3.2',\n );\n\n assert.equal(err.code, 'E_ERROR_3');\n assert.equal(err.wrappedErrors.length, 2);\n assert.deepEqual(err.params, ['arg3.1', 'arg3.2']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('Error: E_ERROR_1'),\n 'Stack contains first error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_ERROR_2 (arg2.1, arg2.2)'),\n 'Stack contains second error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_ERROR_3 (arg3.1, arg3.2)'),\n 'Stack contains second error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n });\n\n describe('.cast()', () => {\n it('Should work with standard errors and a message', () => {\n var err = YError.cast(new Error('This is an error!'));\n\n assert.equal(err.code, 'E_UNEXPECTED');\n assert.equal(err.wrappedErrors.length, 1);\n assert.deepEqual(err.params, ['This is an error!']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('Error: This is an error!'),\n 'Stack contains original error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_UNEXPECTED (This is an error!)'),\n 'Stack contains cast error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n\n it('Should let YError instances pass through', () => {\n var err = YError.cast(new YError('E_ERROR', 'arg1', 'arg2'));\n\n assert.equal(err.code, 'E_ERROR');\n assert.deepEqual(err.params, ['arg1', 'arg2']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('YError: E_ERROR (arg1, arg2)'),\n 'Stack contains cast error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n });\n\n describe('.bump()', () => {\n it('Should work with standard errors and a message', () => {\n var err = YError.bump(new Error('This is an error!'));\n\n assert.equal(err.code, 'E_UNEXPECTED');\n assert.equal(err.wrappedErrors.length, 1);\n assert.deepEqual(err.params, ['This is an error!']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('Error: This is an error!'),\n 'Stack contains original error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_UNEXPECTED (This is an error!)'),\n 'Stack contains bumped error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n\n it('Should work with YError like errors', () => {\n var baseErr = new Error('E_A_NEW_ERROR');\n\n baseErr.code = 'E_A_NEW_ERROR';\n baseErr.params = ['baseParam1', 'baseParam2'];\n\n let err = YError.bump(baseErr);\n\n assert.equal(err.code, 'E_A_NEW_ERROR');\n assert.equal(err.wrappedErrors.length, 1);\n assert.deepEqual(err.params, ['baseParam1', 'baseParam2']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('Error: E_A_NEW_ERROR'),\n 'Stack contains original error.',\n );\n assert(\n -1 !==\n err.stack.indexOf('YError: E_A_NEW_ERROR (baseParam1, baseParam2)'),\n 'Stack contains bumped error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n\n it('Should work with Y errors and a message', () => {\n var err = YError.bump(\n new YError('E_ERROR', 'arg1.1', 'arg1.2'),\n 'E_ERROR_2',\n 'arg2.1',\n 'arg2.2',\n );\n\n assert.equal(err.code, 'E_ERROR');\n assert.deepEqual(err.params, ['arg1.1', 'arg1.2']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('YError: E_ERROR (arg1.1, arg1.2)'),\n 'Stack contains original error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_ERROR (arg1.1, arg1.2)'),\n 'Stack contains bumped error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n });\n});\n"],"mappings":"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"}
|
package/dist/index.mocha.mjs
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
import YError from '.';
|
|
3
|
-
describe('YError', () => {
|
|
4
|
-
describe('.__constructor', () => {
|
|
5
|
-
it('Should work', () => {
|
|
6
|
-
var err = new YError('E_ERROR', 'arg1', 'arg2');
|
|
7
|
-
assert(err instanceof Error);
|
|
8
|
-
assert.equal(err.name, err.toString());
|
|
9
|
-
assert.equal(err.code, 'E_ERROR');
|
|
10
|
-
assert.deepEqual(err.params, ['arg1', 'arg2']);
|
|
11
|
-
assert.equal(err.toString(), 'YError: E_ERROR (arg1, arg2)');
|
|
12
|
-
});
|
|
13
|
-
it('Should work without code', () => {
|
|
14
|
-
var err = new YError();
|
|
15
|
-
assert.equal(err.code, 'E_UNEXPECTED');
|
|
16
|
-
assert.deepEqual(err.params, []);
|
|
17
|
-
assert.equal(err.toString(), 'YError: E_UNEXPECTED ()');
|
|
18
|
-
assert.equal(err.name, err.toString());
|
|
19
|
-
});
|
|
20
|
-
it('Should work without new', () => {
|
|
21
|
-
var err = new YError('E_ERROR', 'arg1', 'arg2');
|
|
22
|
-
assert.equal(err.code, 'E_ERROR');
|
|
23
|
-
assert(err instanceof YError);
|
|
24
|
-
assert.deepEqual(err.params, ['arg1', 'arg2']);
|
|
25
|
-
assert.equal(err.toString(), 'YError: E_ERROR (arg1, arg2)');
|
|
26
|
-
assert.equal(err.name, err.toString());
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
describe('.wrap()', () => {
|
|
30
|
-
it('Should work with standard errors and a message', () => {
|
|
31
|
-
var err = YError.wrap(new Error('This is an error!'));
|
|
32
|
-
assert.equal(err.code, 'E_UNEXPECTED');
|
|
33
|
-
assert.equal(err.wrappedErrors.length, 1);
|
|
34
|
-
assert.deepEqual(err.params, ['This is an error!']);
|
|
35
|
-
|
|
36
|
-
if (Error.captureStackTrace) {
|
|
37
|
-
assert(-1 !== err.stack.indexOf('Error: This is an error!'), 'Stack contains original error.');
|
|
38
|
-
assert(-1 !== err.stack.indexOf('YError: E_UNEXPECTED (This is an error!)'), 'Stack contains cast error.');
|
|
39
|
-
assert.equal(err.name, err.toString());
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
it('Should work with standard errors and an error code', () => {
|
|
43
|
-
var err = YError.wrap(new Error('E_ERROR'));
|
|
44
|
-
assert.equal(err.code, 'E_ERROR');
|
|
45
|
-
assert.equal(err.wrappedErrors.length, 1);
|
|
46
|
-
assert.deepEqual(err.params, []);
|
|
47
|
-
|
|
48
|
-
if (Error.captureStackTrace) {
|
|
49
|
-
assert(-1 !== err.stack.indexOf('Error: E_ERROR'), 'Stack contains original error.');
|
|
50
|
-
assert(-1 !== err.stack.indexOf('YError: E_ERROR ()'), 'Stack contains cast error.');
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
assert.equal(err.name, err.toString());
|
|
54
|
-
});
|
|
55
|
-
it('Should work with standard errors, an error code and params', () => {
|
|
56
|
-
var err = YError.wrap(new Error('E_ERROR'), 'E_ERROR_2', 'arg1', 'arg2');
|
|
57
|
-
assert.equal(err.code, 'E_ERROR_2');
|
|
58
|
-
assert.equal(err.wrappedErrors.length, 1);
|
|
59
|
-
assert.deepEqual(err.params, ['arg1', 'arg2']);
|
|
60
|
-
|
|
61
|
-
if (Error.captureStackTrace) {
|
|
62
|
-
assert(-1 !== err.stack.indexOf('Error: E_ERROR'), 'Stack contains first error.');
|
|
63
|
-
assert(-1 !== err.stack.indexOf('YError: E_ERROR_2 (arg1, arg2)'), 'Stack contains second error.');
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
assert.equal(err.name, err.toString());
|
|
67
|
-
});
|
|
68
|
-
it('Should work with several wrapped errors', () => {
|
|
69
|
-
var err = YError.wrap(YError.wrap(new Error('E_ERROR_1'), 'E_ERROR_2', 'arg2.1', 'arg2.2'), 'E_ERROR_3', 'arg3.1', 'arg3.2');
|
|
70
|
-
assert.equal(err.code, 'E_ERROR_3');
|
|
71
|
-
assert.equal(err.wrappedErrors.length, 2);
|
|
72
|
-
assert.deepEqual(err.params, ['arg3.1', 'arg3.2']);
|
|
73
|
-
|
|
74
|
-
if (Error.captureStackTrace) {
|
|
75
|
-
assert(-1 !== err.stack.indexOf('Error: E_ERROR_1'), 'Stack contains first error.');
|
|
76
|
-
assert(-1 !== err.stack.indexOf('YError: E_ERROR_2 (arg2.1, arg2.2)'), 'Stack contains second error.');
|
|
77
|
-
assert(-1 !== err.stack.indexOf('YError: E_ERROR_3 (arg3.1, arg3.2)'), 'Stack contains second error.');
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
assert.equal(err.name, err.toString());
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
describe('.cast()', () => {
|
|
84
|
-
it('Should work with standard errors and a message', () => {
|
|
85
|
-
var err = YError.cast(new Error('This is an error!'));
|
|
86
|
-
assert.equal(err.code, 'E_UNEXPECTED');
|
|
87
|
-
assert.equal(err.wrappedErrors.length, 1);
|
|
88
|
-
assert.deepEqual(err.params, ['This is an error!']);
|
|
89
|
-
|
|
90
|
-
if (Error.captureStackTrace) {
|
|
91
|
-
assert(-1 !== err.stack.indexOf('Error: This is an error!'), 'Stack contains original error.');
|
|
92
|
-
assert(-1 !== err.stack.indexOf('YError: E_UNEXPECTED (This is an error!)'), 'Stack contains cast error.');
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
assert.equal(err.name, err.toString());
|
|
96
|
-
});
|
|
97
|
-
it('Should let YError instances pass through', () => {
|
|
98
|
-
var err = YError.cast(new YError('E_ERROR', 'arg1', 'arg2'));
|
|
99
|
-
assert.equal(err.code, 'E_ERROR');
|
|
100
|
-
assert.deepEqual(err.params, ['arg1', 'arg2']);
|
|
101
|
-
|
|
102
|
-
if (Error.captureStackTrace) {
|
|
103
|
-
assert(-1 !== err.stack.indexOf('YError: E_ERROR (arg1, arg2)'), 'Stack contains cast error.');
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
assert.equal(err.name, err.toString());
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
describe('.bump()', () => {
|
|
110
|
-
it('Should work with standard errors and a message', () => {
|
|
111
|
-
var err = YError.bump(new Error('This is an error!'));
|
|
112
|
-
assert.equal(err.code, 'E_UNEXPECTED');
|
|
113
|
-
assert.equal(err.wrappedErrors.length, 1);
|
|
114
|
-
assert.deepEqual(err.params, ['This is an error!']);
|
|
115
|
-
|
|
116
|
-
if (Error.captureStackTrace) {
|
|
117
|
-
assert(-1 !== err.stack.indexOf('Error: This is an error!'), 'Stack contains original error.');
|
|
118
|
-
assert(-1 !== err.stack.indexOf('YError: E_UNEXPECTED (This is an error!)'), 'Stack contains bumped error.');
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
assert.equal(err.name, err.toString());
|
|
122
|
-
});
|
|
123
|
-
it('Should work with YError like errors', () => {
|
|
124
|
-
var baseErr = new Error('E_A_NEW_ERROR');
|
|
125
|
-
baseErr.code = 'E_A_NEW_ERROR';
|
|
126
|
-
baseErr.params = ['baseParam1', 'baseParam2'];
|
|
127
|
-
let err = YError.bump(baseErr);
|
|
128
|
-
assert.equal(err.code, 'E_A_NEW_ERROR');
|
|
129
|
-
assert.equal(err.wrappedErrors.length, 1);
|
|
130
|
-
assert.deepEqual(err.params, ['baseParam1', 'baseParam2']);
|
|
131
|
-
|
|
132
|
-
if (Error.captureStackTrace) {
|
|
133
|
-
assert(-1 !== err.stack.indexOf('Error: E_A_NEW_ERROR'), 'Stack contains original error.');
|
|
134
|
-
assert(-1 !== err.stack.indexOf('YError: E_A_NEW_ERROR (baseParam1, baseParam2)'), 'Stack contains bumped error.');
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
assert.equal(err.name, err.toString());
|
|
138
|
-
});
|
|
139
|
-
it('Should work with Y errors and a message', () => {
|
|
140
|
-
var err = YError.bump(new YError('E_ERROR', 'arg1.1', 'arg1.2'), 'E_ERROR_2', 'arg2.1', 'arg2.2');
|
|
141
|
-
assert.equal(err.code, 'E_ERROR');
|
|
142
|
-
assert.deepEqual(err.params, ['arg1.1', 'arg1.2']);
|
|
143
|
-
|
|
144
|
-
if (Error.captureStackTrace) {
|
|
145
|
-
assert(-1 !== err.stack.indexOf('YError: E_ERROR (arg1.1, arg1.2)'), 'Stack contains original error.');
|
|
146
|
-
assert(-1 !== err.stack.indexOf('YError: E_ERROR (arg1.1, arg1.2)'), 'Stack contains bumped error.');
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
assert.equal(err.name, err.toString());
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
});
|
|
153
|
-
//# sourceMappingURL=index.mocha.mjs.map
|
package/dist/index.mocha.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mocha.mjs","names":["assert","YError","describe","it","err","Error","equal","name","toString","code","deepEqual","params","wrap","wrappedErrors","length","captureStackTrace","stack","indexOf","cast","bump","baseErr"],"sources":["../src/index.mocha.js"],"sourcesContent":["/* eslint max-nested-callbacks:[0], no-magic-numbers:[0] */\nimport assert from 'assert';\nimport YError from '.';\n\ndescribe('YError', () => {\n describe('.__constructor', () => {\n it('Should work', () => {\n var err = new YError('E_ERROR', 'arg1', 'arg2');\n\n assert(err instanceof Error);\n assert.equal(err.name, err.toString());\n assert.equal(err.code, 'E_ERROR');\n assert.deepEqual(err.params, ['arg1', 'arg2']);\n assert.equal(err.toString(), 'YError: E_ERROR (arg1, arg2)');\n });\n it('Should work without code', () => {\n var err = new YError();\n\n assert.equal(err.code, 'E_UNEXPECTED');\n assert.deepEqual(err.params, []);\n assert.equal(err.toString(), 'YError: E_UNEXPECTED ()');\n assert.equal(err.name, err.toString());\n });\n it('Should work without new', () => {\n var err = new YError('E_ERROR', 'arg1', 'arg2');\n\n assert.equal(err.code, 'E_ERROR');\n assert(err instanceof YError);\n assert.deepEqual(err.params, ['arg1', 'arg2']);\n assert.equal(err.toString(), 'YError: E_ERROR (arg1, arg2)');\n assert.equal(err.name, err.toString());\n });\n });\n\n describe('.wrap()', () => {\n it('Should work with standard errors and a message', () => {\n // eslint-disable-line\n var err = YError.wrap(new Error('This is an error!'));\n\n assert.equal(err.code, 'E_UNEXPECTED');\n assert.equal(err.wrappedErrors.length, 1);\n assert.deepEqual(err.params, ['This is an error!']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('Error: This is an error!'),\n 'Stack contains original error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_UNEXPECTED (This is an error!)'),\n 'Stack contains cast error.',\n );\n assert.equal(err.name, err.toString());\n }\n });\n\n it('Should work with standard errors and an error code', () => {\n var err = YError.wrap(new Error('E_ERROR'));\n\n assert.equal(err.code, 'E_ERROR');\n assert.equal(err.wrappedErrors.length, 1);\n assert.deepEqual(err.params, []);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('Error: E_ERROR'),\n 'Stack contains original error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_ERROR ()'),\n 'Stack contains cast error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n\n it('Should work with standard errors, an error code and params', () => {\n var err = YError.wrap(new Error('E_ERROR'), 'E_ERROR_2', 'arg1', 'arg2');\n\n assert.equal(err.code, 'E_ERROR_2');\n assert.equal(err.wrappedErrors.length, 1);\n assert.deepEqual(err.params, ['arg1', 'arg2']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('Error: E_ERROR'),\n 'Stack contains first error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_ERROR_2 (arg1, arg2)'),\n 'Stack contains second error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n\n it('Should work with several wrapped errors', () => {\n var err = YError.wrap(\n YError.wrap(new Error('E_ERROR_1'), 'E_ERROR_2', 'arg2.1', 'arg2.2'),\n 'E_ERROR_3',\n 'arg3.1',\n 'arg3.2',\n );\n\n assert.equal(err.code, 'E_ERROR_3');\n assert.equal(err.wrappedErrors.length, 2);\n assert.deepEqual(err.params, ['arg3.1', 'arg3.2']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('Error: E_ERROR_1'),\n 'Stack contains first error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_ERROR_2 (arg2.1, arg2.2)'),\n 'Stack contains second error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_ERROR_3 (arg3.1, arg3.2)'),\n 'Stack contains second error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n });\n\n describe('.cast()', () => {\n it('Should work with standard errors and a message', () => {\n var err = YError.cast(new Error('This is an error!'));\n\n assert.equal(err.code, 'E_UNEXPECTED');\n assert.equal(err.wrappedErrors.length, 1);\n assert.deepEqual(err.params, ['This is an error!']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('Error: This is an error!'),\n 'Stack contains original error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_UNEXPECTED (This is an error!)'),\n 'Stack contains cast error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n\n it('Should let YError instances pass through', () => {\n var err = YError.cast(new YError('E_ERROR', 'arg1', 'arg2'));\n\n assert.equal(err.code, 'E_ERROR');\n assert.deepEqual(err.params, ['arg1', 'arg2']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('YError: E_ERROR (arg1, arg2)'),\n 'Stack contains cast error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n });\n\n describe('.bump()', () => {\n it('Should work with standard errors and a message', () => {\n var err = YError.bump(new Error('This is an error!'));\n\n assert.equal(err.code, 'E_UNEXPECTED');\n assert.equal(err.wrappedErrors.length, 1);\n assert.deepEqual(err.params, ['This is an error!']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('Error: This is an error!'),\n 'Stack contains original error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_UNEXPECTED (This is an error!)'),\n 'Stack contains bumped error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n\n it('Should work with YError like errors', () => {\n var baseErr = new Error('E_A_NEW_ERROR');\n\n baseErr.code = 'E_A_NEW_ERROR';\n baseErr.params = ['baseParam1', 'baseParam2'];\n\n let err = YError.bump(baseErr);\n\n assert.equal(err.code, 'E_A_NEW_ERROR');\n assert.equal(err.wrappedErrors.length, 1);\n assert.deepEqual(err.params, ['baseParam1', 'baseParam2']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('Error: E_A_NEW_ERROR'),\n 'Stack contains original error.',\n );\n assert(\n -1 !==\n err.stack.indexOf('YError: E_A_NEW_ERROR (baseParam1, baseParam2)'),\n 'Stack contains bumped error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n\n it('Should work with Y errors and a message', () => {\n var err = YError.bump(\n new YError('E_ERROR', 'arg1.1', 'arg1.2'),\n 'E_ERROR_2',\n 'arg2.1',\n 'arg2.2',\n );\n\n assert.equal(err.code, 'E_ERROR');\n assert.deepEqual(err.params, ['arg1.1', 'arg1.2']);\n\n if (Error.captureStackTrace) {\n assert(\n -1 !== err.stack.indexOf('YError: E_ERROR (arg1.1, arg1.2)'),\n 'Stack contains original error.',\n );\n assert(\n -1 !== err.stack.indexOf('YError: E_ERROR (arg1.1, arg1.2)'),\n 'Stack contains bumped error.',\n );\n }\n assert.equal(err.name, err.toString());\n });\n });\n});\n"],"mappings":"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"}
|
package/src/index.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
declare class YError extends Error {
|
|
2
|
-
constructor(errorCode: string, ...params: any[]);
|
|
3
|
-
constructor(wrappedErrors?: Error[], errorCode?: string, ...params: any[]);
|
|
4
|
-
code: string;
|
|
5
|
-
params: any[];
|
|
6
|
-
static wrap<E extends Error>(
|
|
7
|
-
err: E,
|
|
8
|
-
errorCode?: string,
|
|
9
|
-
...params: any[]
|
|
10
|
-
): YError;
|
|
11
|
-
static cast<E extends Error>(
|
|
12
|
-
err: E,
|
|
13
|
-
errorCode?: string,
|
|
14
|
-
...params: any[]
|
|
15
|
-
): YError;
|
|
16
|
-
static bump<E extends Error>(
|
|
17
|
-
err: E,
|
|
18
|
-
errorCode?: string,
|
|
19
|
-
...params: any[]
|
|
20
|
-
): YError;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export function printStackTrace(err: any): string;
|
|
24
|
-
|
|
25
|
-
export { YError };
|
|
26
|
-
export default YError;
|
package/src/index.js
DELETED
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
import os from 'os';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* An YError class able to contain some params and
|
|
5
|
-
* print better stack traces
|
|
6
|
-
* @extends Error
|
|
7
|
-
*/
|
|
8
|
-
class YError extends Error {
|
|
9
|
-
/**
|
|
10
|
-
* Creates a new YError with an error code
|
|
11
|
-
* and some params as debug values.
|
|
12
|
-
* @param {string} [errorCode = 'E_UNEXPECTED']
|
|
13
|
-
* The error code corresponding to the actual error
|
|
14
|
-
* @param {...any} [params]
|
|
15
|
-
* Some additional debugging values
|
|
16
|
-
*/
|
|
17
|
-
constructor(wrappedErrors, errorCode, ...params) {
|
|
18
|
-
// Detecting if wrappedErrors are passed
|
|
19
|
-
if (!(wrappedErrors instanceof Array)) {
|
|
20
|
-
params = ('undefined' === typeof errorCode ? [] : [errorCode]).concat(
|
|
21
|
-
params,
|
|
22
|
-
);
|
|
23
|
-
errorCode = wrappedErrors;
|
|
24
|
-
wrappedErrors = [];
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// Call the parent constructor
|
|
28
|
-
super(errorCode);
|
|
29
|
-
|
|
30
|
-
// Filling error
|
|
31
|
-
this.code = errorCode || 'E_UNEXPECTED';
|
|
32
|
-
this.params = params;
|
|
33
|
-
this.wrappedErrors = wrappedErrors;
|
|
34
|
-
this.name = this.toString();
|
|
35
|
-
|
|
36
|
-
if (Error.captureStackTrace) {
|
|
37
|
-
Error.captureStackTrace(this, this.constructor);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
toString() {
|
|
42
|
-
return (
|
|
43
|
-
(this.wrappedErrors.length
|
|
44
|
-
? // eslint-disable-next-line
|
|
45
|
-
this.wrappedErrors[this.wrappedErrors.length - 1].stack + os.EOL
|
|
46
|
-
: '') +
|
|
47
|
-
this.constructor.name +
|
|
48
|
-
': ' +
|
|
49
|
-
this.code +
|
|
50
|
-
' (' +
|
|
51
|
-
this.params.join(', ') +
|
|
52
|
-
')'
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Wraps any error and output a YError with an error
|
|
59
|
-
* code and some params as debug values.
|
|
60
|
-
* @param {Error} err
|
|
61
|
-
* The error to wrap
|
|
62
|
-
* @param {string} [errorCode = 'E_UNEXPECTED']
|
|
63
|
-
* The error code corresponding to the actual error
|
|
64
|
-
* @param {...any} [params]
|
|
65
|
-
* Some additional debugging values
|
|
66
|
-
* @return {YError}
|
|
67
|
-
* The wrapped error
|
|
68
|
-
*/
|
|
69
|
-
YError.wrap = function yerrorWrap(err, errorCode, ...params) {
|
|
70
|
-
let yError = null;
|
|
71
|
-
const wrappedErrorIsACode = _looksLikeAYErrorCode(err.message);
|
|
72
|
-
const wrappedErrors = (err.wrappedErrors || []).concat(err);
|
|
73
|
-
|
|
74
|
-
if (!errorCode) {
|
|
75
|
-
if (wrappedErrorIsACode) {
|
|
76
|
-
errorCode = err.message;
|
|
77
|
-
} else {
|
|
78
|
-
errorCode = 'E_UNEXPECTED';
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
if (err.message && !wrappedErrorIsACode) {
|
|
82
|
-
params.push(err.message);
|
|
83
|
-
}
|
|
84
|
-
yError = new YError(wrappedErrors, errorCode, ...params);
|
|
85
|
-
return yError;
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Return a YError as is or wraps any other error and output
|
|
90
|
-
* a YError with a code and some params as debug values.
|
|
91
|
-
* @param {Error} err
|
|
92
|
-
* The error to cast
|
|
93
|
-
* @param {string} [errorCode = 'E_UNEXPECTED']
|
|
94
|
-
* The error code corresponding to the actual error
|
|
95
|
-
* @param {...any} [params]
|
|
96
|
-
* Some additional debugging values
|
|
97
|
-
* @return {YError}
|
|
98
|
-
* The wrapped error
|
|
99
|
-
*/
|
|
100
|
-
YError.cast = function yerrorCast(err, ...params) {
|
|
101
|
-
if (_looksLikeAYError(err)) {
|
|
102
|
-
return err;
|
|
103
|
-
}
|
|
104
|
-
return YError.wrap.apply(YError, [err].concat(params));
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Same than `YError.wrap()` but preserves the code
|
|
109
|
-
* and the debug values of the error if it is
|
|
110
|
-
* already an instance of the YError constructor.
|
|
111
|
-
* @param {Error} err
|
|
112
|
-
* The error to bump
|
|
113
|
-
* @param {string} [errorCode = 'E_UNEXPECTED']
|
|
114
|
-
* The error code corresponding to the actual error
|
|
115
|
-
* @param {...any} [params]
|
|
116
|
-
* Some additional debugging values
|
|
117
|
-
* @return {YError}
|
|
118
|
-
* The wrapped error
|
|
119
|
-
*/
|
|
120
|
-
YError.bump = function yerrorBump(err, ...params) {
|
|
121
|
-
if (_looksLikeAYError(err)) {
|
|
122
|
-
return YError.wrap.apply(YError, [err, err.code].concat(err.params));
|
|
123
|
-
}
|
|
124
|
-
return YError.wrap.apply(YError, [err].concat(params));
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Allow to print a stack from anything (especially catched
|
|
129
|
-
* errors that may or may not contain errors 🤷).
|
|
130
|
-
* @param {Error} err
|
|
131
|
-
* The error to print
|
|
132
|
-
* @return {string}
|
|
133
|
-
* The stack trace if any
|
|
134
|
-
*/
|
|
135
|
-
export function printStackTrace(err) {
|
|
136
|
-
return typeof err === 'object' && typeof err.stack === 'function'
|
|
137
|
-
? err.stack()
|
|
138
|
-
: `[no_stack_trace]: error is ${
|
|
139
|
-
err != null && typeof err.toString === 'function'
|
|
140
|
-
? err.toString()
|
|
141
|
-
: typeof err
|
|
142
|
-
}`;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// In order to keep compatibility through major versions
|
|
146
|
-
// we have to make kind of an cross major version instanceof
|
|
147
|
-
function _looksLikeAYError(err) {
|
|
148
|
-
return (
|
|
149
|
-
err instanceof YError ||
|
|
150
|
-
(err.constructor &&
|
|
151
|
-
err.constructor.name &&
|
|
152
|
-
err.constructor.name.endsWith('Error') &&
|
|
153
|
-
'string' === typeof err.code &&
|
|
154
|
-
_looksLikeAYErrorCode(err.code) &&
|
|
155
|
-
err.params &&
|
|
156
|
-
err.params instanceof Array)
|
|
157
|
-
);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
function _looksLikeAYErrorCode(str) {
|
|
161
|
-
return /^([A-Z0-9_]+)$/.test(str);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
export default YError;
|
|
165
|
-
export { YError };
|