UNPKG

1.16 kBJavaScriptView Raw
1const 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
54export default BaseError;