1 | const isObject = require('is-object')
|
2 |
|
3 | const ErrorCodes = {
|
4 | PARSEERROR: {
|
5 | code: -32700,
|
6 | message: "Parse error"
|
7 | },
|
8 | INVALIDREQUEST: {
|
9 | code: -32600,
|
10 | message: "Invalid Request"
|
11 | },
|
12 | METHODNOTFOUND: {
|
13 | code: -32601,
|
14 | message: "Method not found"
|
15 | },
|
16 | INVALIDPARAMS: {
|
17 | code: -32602,
|
18 | message: "Invalid params"
|
19 | },
|
20 | INTERNALERROR: {
|
21 | code: -32603,
|
22 | message: "Internal error"
|
23 | }
|
24 | }
|
25 |
|
26 |
|
27 |
|
28 | class CustomError extends Error {
|
29 | constructor(message = ErrorCodes.INTERNALERROR.message, data = null, code = ErrorCodes.INTERNALERROR.code) {
|
30 |
|
31 | if (isObject(message)) {
|
32 | super(message.message)
|
33 | this.code = message.code
|
34 | this.data = message.data
|
35 | } else {
|
36 | super(message)
|
37 | this.code = code
|
38 | this.data = data
|
39 | }
|
40 | }
|
41 | }
|
42 |
|
43 | module.exports = {
|
44 | CustomError,
|
45 | ErrorCodes
|
46 | } |
\ | No newline at end of file |