1 | const BaseError = {
|
2 | create(message, internalError) {
|
3 | Error.captureStackTrace(this);
|
4 | const error = Object.assign(new Error, BaseError);
|
5 | if (message) {
|
6 | error.message = message;
|
7 | }
|
8 | if (internalError) {
|
9 | error.internalError = internalError;
|
10 | }
|
11 | return error;
|
12 | },
|
13 |
|
14 | extend(statusCode, defaultMessage, errorCode) {
|
15 | return {
|
16 | statusCode,
|
17 | create(message, internalError) {
|
18 | return Object.assign(
|
19 | BaseError.create(message || defaultMessage, internalError),
|
20 | { statusCode, errorCode }
|
21 | );
|
22 | }
|
23 | };
|
24 | },
|
25 |
|
26 | set internalError(internalError) {
|
27 | if (internalError && internalError.stack) {
|
28 | this.stack += '========================================================================\n\n';
|
29 | this.stack += internalError.stack;
|
30 | }
|
31 | },
|
32 |
|
33 | setErrorCode(errorCode) {
|
34 | this.errorCode = errorCode;
|
35 | return this;
|
36 | },
|
37 |
|
38 | setMessage(message) {
|
39 | this.message = message;
|
40 | return this;
|
41 | },
|
42 |
|
43 | setStatusCode(statusCode) {
|
44 | this.statusCode = statusCode;
|
45 | return this;
|
46 | },
|
47 |
|
48 | setData(data) {
|
49 | this.data = data;
|
50 | return this;
|
51 | }
|
52 | };
|
53 |
|
54 | export default BaseError;
|