UNPKG

6.3 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.convert = exports.errors = exports.Unavailable = exports.BadGateway = exports.NotImplemented = exports.GeneralError = exports.TooManyRequests = exports.Unprocessable = exports.LengthRequired = exports.Gone = exports.Conflict = exports.Timeout = exports.NotAcceptable = exports.MethodNotAllowed = exports.NotFound = exports.Forbidden = exports.PaymentError = exports.NotAuthenticated = exports.BadRequest = exports.FeathersError = void 0;
4class FeathersError extends Error {
5 constructor(err, name, code, className, _data) {
6 let msg = typeof err === 'string' ? err : 'Error';
7 const properties = {
8 name,
9 code,
10 className,
11 type: 'FeathersError'
12 };
13 if (Array.isArray(_data)) {
14 properties.data = _data;
15 }
16 else if (typeof err === 'object' || _data !== undefined) {
17 const { message, errors, ...rest } = err !== null && typeof err === 'object' ? err : _data;
18 msg = message || msg;
19 properties.errors = errors;
20 properties.data = rest;
21 }
22 super(msg);
23 Object.assign(this, properties);
24 }
25 toJSON() {
26 const result = {
27 name: this.name,
28 message: this.message,
29 code: this.code,
30 className: this.className
31 };
32 if (this.data !== undefined) {
33 result.data = this.data;
34 }
35 if (this.errors !== undefined) {
36 result.errors = this.errors;
37 }
38 return result;
39 }
40}
41exports.FeathersError = FeathersError;
42class BadRequest extends FeathersError {
43 constructor(message, data) {
44 super(message, 'BadRequest', 400, 'bad-request', data);
45 }
46}
47exports.BadRequest = BadRequest;
48// 401 - Not Authenticated
49class NotAuthenticated extends FeathersError {
50 constructor(message, data) {
51 super(message, 'NotAuthenticated', 401, 'not-authenticated', data);
52 }
53}
54exports.NotAuthenticated = NotAuthenticated;
55// 402 - Payment Error
56class PaymentError extends FeathersError {
57 constructor(message, data) {
58 super(message, 'PaymentError', 402, 'payment-error', data);
59 }
60}
61exports.PaymentError = PaymentError;
62// 403 - Forbidden
63class Forbidden extends FeathersError {
64 constructor(message, data) {
65 super(message, 'Forbidden', 403, 'forbidden', data);
66 }
67}
68exports.Forbidden = Forbidden;
69// 404 - Not Found
70class NotFound extends FeathersError {
71 constructor(message, data) {
72 super(message, 'NotFound', 404, 'not-found', data);
73 }
74}
75exports.NotFound = NotFound;
76// 405 - Method Not Allowed
77class MethodNotAllowed extends FeathersError {
78 constructor(message, data) {
79 super(message, 'MethodNotAllowed', 405, 'method-not-allowed', data);
80 }
81}
82exports.MethodNotAllowed = MethodNotAllowed;
83// 406 - Not Acceptable
84class NotAcceptable extends FeathersError {
85 constructor(message, data) {
86 super(message, 'NotAcceptable', 406, 'not-acceptable', data);
87 }
88}
89exports.NotAcceptable = NotAcceptable;
90// 408 - Timeout
91class Timeout extends FeathersError {
92 constructor(message, data) {
93 super(message, 'Timeout', 408, 'timeout', data);
94 }
95}
96exports.Timeout = Timeout;
97// 409 - Conflict
98class Conflict extends FeathersError {
99 constructor(message, data) {
100 super(message, 'Conflict', 409, 'conflict', data);
101 }
102}
103exports.Conflict = Conflict;
104// 410 - Gone
105class Gone extends FeathersError {
106 constructor(message, data) {
107 super(message, 'Gone', 410, 'gone', data);
108 }
109}
110exports.Gone = Gone;
111// 411 - Length Required
112class LengthRequired extends FeathersError {
113 constructor(message, data) {
114 super(message, 'LengthRequired', 411, 'length-required', data);
115 }
116}
117exports.LengthRequired = LengthRequired;
118// 422 Unprocessable
119class Unprocessable extends FeathersError {
120 constructor(message, data) {
121 super(message, 'Unprocessable', 422, 'unprocessable', data);
122 }
123}
124exports.Unprocessable = Unprocessable;
125// 429 Too Many Requests
126class TooManyRequests extends FeathersError {
127 constructor(message, data) {
128 super(message, 'TooManyRequests', 429, 'too-many-requests', data);
129 }
130}
131exports.TooManyRequests = TooManyRequests;
132// 500 - General Error
133class GeneralError extends FeathersError {
134 constructor(message, data) {
135 super(message, 'GeneralError', 500, 'general-error', data);
136 }
137}
138exports.GeneralError = GeneralError;
139// 501 - Not Implemented
140class NotImplemented extends FeathersError {
141 constructor(message, data) {
142 super(message, 'NotImplemented', 501, 'not-implemented', data);
143 }
144}
145exports.NotImplemented = NotImplemented;
146// 502 - Bad Gateway
147class BadGateway extends FeathersError {
148 constructor(message, data) {
149 super(message, 'BadGateway', 502, 'bad-gateway', data);
150 }
151}
152exports.BadGateway = BadGateway;
153// 503 - Unavailable
154class Unavailable extends FeathersError {
155 constructor(message, data) {
156 super(message, 'Unavailable', 503, 'unavailable', data);
157 }
158}
159exports.Unavailable = Unavailable;
160exports.errors = {
161 FeathersError,
162 BadRequest,
163 NotAuthenticated,
164 PaymentError,
165 Forbidden,
166 NotFound,
167 MethodNotAllowed,
168 NotAcceptable,
169 Timeout,
170 Conflict,
171 LengthRequired,
172 Unprocessable,
173 TooManyRequests,
174 GeneralError,
175 NotImplemented,
176 BadGateway,
177 Unavailable,
178 400: BadRequest,
179 401: NotAuthenticated,
180 402: PaymentError,
181 403: Forbidden,
182 404: NotFound,
183 405: MethodNotAllowed,
184 406: NotAcceptable,
185 408: Timeout,
186 409: Conflict,
187 410: Gone,
188 411: LengthRequired,
189 422: Unprocessable,
190 429: TooManyRequests,
191 500: GeneralError,
192 501: NotImplemented,
193 502: BadGateway,
194 503: Unavailable
195};
196function convert(error) {
197 if (!error) {
198 return error;
199 }
200 const FeathersError = exports.errors[error.name];
201 const result = FeathersError
202 ? new FeathersError(error.message, error.data)
203 : new Error(error.message || error);
204 if (typeof error === 'object') {
205 Object.assign(result, error);
206 }
207 return result;
208}
209exports.convert = convert;
210//# sourceMappingURL=index.js.map
\No newline at end of file