yerror 5.0.0 → 6.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/LICENSE +4 -5
- package/README.md +85 -22
- package/dist/index.js +83 -43
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +112 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index.mocha.js +143 -100
- package/dist/index.mocha.js.map +1 -0
- package/dist/index.mocha.mjs +153 -0
- package/dist/index.mocha.mjs.map +1 -0
- package/package.json +173 -49
- package/src/index.js +52 -4
- package/src/index.mocha.js +2 -2
- package/.gitattributes +0 -2
- package/.nyc_output/00dc2184-5e3c-4e30-a46f-ae7cc1a69a02.json +0 -1
- package/.nyc_output/0ede01fe-53e1-435f-b3eb-1df8f8683022.json +0 -1
- package/.nyc_output/32a94c4b-415d-42f2-80ae-02e2299d2d09.json +0 -1
- package/.nyc_output/5964f491-ff21-4d82-9065-4d98a1cf2a72.json +0 -1
- package/.nyc_output/753f19e8-b00d-40af-86d4-f5c7460a8512.json +0 -1
- package/.nyc_output/7b3668dc-e84a-4597-aa9a-7a9ca79a4a0b.json +0 -1
- package/.nyc_output/97c4112e-25f6-4fa9-8e45-2470696afd0c.json +0 -1
- package/.nyc_output/a41790e4-963e-4810-82b3-ea3f1fd3ed42.json +0 -1
- package/.nyc_output/a711db83-691b-44a5-9cf0-5bd5d791c358.json +0 -1
- package/.nyc_output/a7863a34-92ff-47f2-acd5-268fc48d9114.json +0 -1
- package/.nyc_output/aa7b6383-4b7d-4873-ab12-665ec47b5ea4.json +0 -1
- package/.nyc_output/c1c442d7-7a0e-4982-8526-03f1bd400806.json +0 -1
- package/.nyc_output/c32e5e08-dc5b-4e45-a433-2cf0e9d350c9.json +0 -1
- package/.nyc_output/c3b5498e-d857-46b9-afa5-2ea3fd21bd4e.json +0 -1
- package/.nyc_output/c47902c8-d5f8-489e-b13e-000ea5dc7636.json +0 -1
- package/.nyc_output/cd492b94-ca79-4b8d-8ca3-15ac79ac99f6.json +0 -1
- package/.nyc_output/d371f8f1-bbcf-4712-b71c-c839582c672a.json +0 -1
- package/.nyc_output/fb7d1240-39cc-42b7-835f-6e39d9501a68.json +0 -1
- package/.nyc_output/processinfo/00dc2184-5e3c-4e30-a46f-ae7cc1a69a02.json +0 -1
- package/.nyc_output/processinfo/0ede01fe-53e1-435f-b3eb-1df8f8683022.json +0 -1
- package/.nyc_output/processinfo/32a94c4b-415d-42f2-80ae-02e2299d2d09.json +0 -1
- package/.nyc_output/processinfo/5964f491-ff21-4d82-9065-4d98a1cf2a72.json +0 -1
- package/.nyc_output/processinfo/753f19e8-b00d-40af-86d4-f5c7460a8512.json +0 -1
- package/.nyc_output/processinfo/7b3668dc-e84a-4597-aa9a-7a9ca79a4a0b.json +0 -1
- package/.nyc_output/processinfo/97c4112e-25f6-4fa9-8e45-2470696afd0c.json +0 -1
- package/.nyc_output/processinfo/a41790e4-963e-4810-82b3-ea3f1fd3ed42.json +0 -1
- package/.nyc_output/processinfo/a711db83-691b-44a5-9cf0-5bd5d791c358.json +0 -1
- package/.nyc_output/processinfo/a7863a34-92ff-47f2-acd5-268fc48d9114.json +0 -1
- package/.nyc_output/processinfo/aa7b6383-4b7d-4873-ab12-665ec47b5ea4.json +0 -1
- package/.nyc_output/processinfo/c1c442d7-7a0e-4982-8526-03f1bd400806.json +0 -1
- package/.nyc_output/processinfo/c32e5e08-dc5b-4e45-a433-2cf0e9d350c9.json +0 -1
- package/.nyc_output/processinfo/c3b5498e-d857-46b9-afa5-2ea3fd21bd4e.json +0 -1
- package/.nyc_output/processinfo/c47902c8-d5f8-489e-b13e-000ea5dc7636.json +0 -1
- package/.nyc_output/processinfo/cd492b94-ca79-4b8d-8ca3-15ac79ac99f6.json +0 -1
- package/.nyc_output/processinfo/d371f8f1-bbcf-4712-b71c-c839582c672a.json +0 -1
- package/.nyc_output/processinfo/fb7d1240-39cc-42b7-835f-6e39d9501a68.json +0 -1
- package/.nyc_output/processinfo/index.json +0 -1
- package/.travis.yml +0 -11
- package/karma.conf.js +0 -127
- package/sauce_connect.log +0 -436
package/dist/index.mocha.js
CHANGED
|
@@ -1,158 +1,201 @@
|
|
|
1
1
|
"use strict";
|
|
2
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
|
+
|
|
3
9
|
/* eslint max-nested-callbacks:[0], no-magic-numbers:[0] */
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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)');
|
|
17
23
|
});
|
|
18
|
-
it('Should work without code',
|
|
19
|
-
var err = new
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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());
|
|
24
34
|
});
|
|
25
|
-
it('Should work without new',
|
|
26
|
-
var err = new
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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());
|
|
32
47
|
});
|
|
33
48
|
});
|
|
34
|
-
describe('.wrap()',
|
|
35
|
-
it('Should work with standard errors and a message',
|
|
49
|
+
describe('.wrap()', () => {
|
|
50
|
+
it('Should work with standard errors and a message', () => {
|
|
36
51
|
// eslint-disable-line
|
|
37
|
-
var err =
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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!']);
|
|
41
59
|
|
|
42
60
|
if (Error.captureStackTrace) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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());
|
|
46
65
|
}
|
|
47
66
|
});
|
|
48
|
-
it('Should work with standard errors and an error code',
|
|
49
|
-
var err =
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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, []);
|
|
53
75
|
|
|
54
76
|
if (Error.captureStackTrace) {
|
|
55
|
-
|
|
56
|
-
|
|
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.');
|
|
57
79
|
}
|
|
58
80
|
|
|
59
|
-
|
|
81
|
+
_assert.default.equal(err.name, err.toString());
|
|
60
82
|
});
|
|
61
|
-
it('Should work with standard errors, an error code and params',
|
|
62
|
-
var err =
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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']);
|
|
66
91
|
|
|
67
92
|
if (Error.captureStackTrace) {
|
|
68
|
-
|
|
69
|
-
|
|
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.');
|
|
70
95
|
}
|
|
71
96
|
|
|
72
|
-
|
|
97
|
+
_assert.default.equal(err.name, err.toString());
|
|
73
98
|
});
|
|
74
|
-
it('Should work with several wrapped errors',
|
|
75
|
-
var err =
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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']);
|
|
79
107
|
|
|
80
108
|
if (Error.captureStackTrace) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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.');
|
|
84
112
|
}
|
|
85
113
|
|
|
86
|
-
|
|
114
|
+
_assert.default.equal(err.name, err.toString());
|
|
87
115
|
});
|
|
88
116
|
});
|
|
89
|
-
describe('.cast()',
|
|
90
|
-
it('Should work with standard errors and a message',
|
|
91
|
-
var err =
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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!']);
|
|
95
126
|
|
|
96
127
|
if (Error.captureStackTrace) {
|
|
97
|
-
|
|
98
|
-
|
|
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.');
|
|
99
130
|
}
|
|
100
131
|
|
|
101
|
-
|
|
132
|
+
_assert.default.equal(err.name, err.toString());
|
|
102
133
|
});
|
|
103
|
-
it('Should let YError instances pass through',
|
|
104
|
-
var err =
|
|
105
|
-
|
|
106
|
-
|
|
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']);
|
|
107
140
|
|
|
108
141
|
if (Error.captureStackTrace) {
|
|
109
|
-
|
|
142
|
+
(0, _assert.default)(-1 !== err.stack.indexOf('YError: E_ERROR (arg1, arg2)'), 'Stack contains cast error.');
|
|
110
143
|
}
|
|
111
144
|
|
|
112
|
-
|
|
145
|
+
_assert.default.equal(err.name, err.toString());
|
|
113
146
|
});
|
|
114
147
|
});
|
|
115
|
-
describe('.bump()',
|
|
116
|
-
it('Should work with standard errors and a message',
|
|
117
|
-
var err =
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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!']);
|
|
121
157
|
|
|
122
158
|
if (Error.captureStackTrace) {
|
|
123
|
-
|
|
124
|
-
|
|
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.');
|
|
125
161
|
}
|
|
126
162
|
|
|
127
|
-
|
|
163
|
+
_assert.default.equal(err.name, err.toString());
|
|
128
164
|
});
|
|
129
|
-
it('Should work with YError like errors',
|
|
165
|
+
it('Should work with YError like errors', () => {
|
|
130
166
|
var baseErr = new Error('E_A_NEW_ERROR');
|
|
131
167
|
baseErr.code = 'E_A_NEW_ERROR';
|
|
132
168
|
baseErr.params = ['baseParam1', 'baseParam2'];
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
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']);
|
|
137
177
|
|
|
138
178
|
if (Error.captureStackTrace) {
|
|
139
|
-
|
|
140
|
-
|
|
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.');
|
|
141
181
|
}
|
|
142
182
|
|
|
143
|
-
|
|
183
|
+
_assert.default.equal(err.name, err.toString());
|
|
144
184
|
});
|
|
145
|
-
it('Should work with Y errors and a message',
|
|
146
|
-
var err =
|
|
147
|
-
|
|
148
|
-
|
|
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']);
|
|
149
191
|
|
|
150
192
|
if (Error.captureStackTrace) {
|
|
151
|
-
|
|
152
|
-
|
|
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.');
|
|
153
195
|
}
|
|
154
196
|
|
|
155
|
-
|
|
197
|
+
_assert.default.equal(err.name, err.toString());
|
|
156
198
|
});
|
|
157
199
|
});
|
|
158
|
-
});
|
|
200
|
+
});
|
|
201
|
+
//# sourceMappingURL=index.mocha.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|