@catbee/utils 0.0.8-rc.0 → 0.0.8-rc.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/README.md +25 -1
- package/build/esm/config.d.ts +0 -1
- package/build/esm/config.js +6 -7
- package/build/esm/index.d.ts +0 -1
- package/build/esm/index.js +0 -1
- package/build/esm/servers/server.builder.d.ts +0 -1
- package/build/esm/servers/server.builder.js +99 -147
- package/build/esm/servers/server.d.ts +0 -1
- package/build/esm/servers/server.js +591 -876
- package/build/esm/types/api-response.d.ts +0 -1
- package/build/esm/types/api-response.js +0 -1
- package/build/esm/types/index.d.ts +0 -1
- package/build/esm/types/index.js +0 -1
- package/build/esm/types/server.d.ts +0 -1
- package/build/esm/types/server.js +0 -1
- package/build/esm/utils/array.utils.d.ts +0 -1
- package/build/esm/utils/array.utils.js +48 -86
- package/build/esm/utils/async.utils.d.ts +0 -1
- package/build/esm/utils/async.utils.js +247 -524
- package/build/esm/utils/cache.utils.d.ts +0 -1
- package/build/esm/utils/cache.utils.js +96 -301
- package/build/esm/utils/context-store.utils.d.ts +0 -1
- package/build/esm/utils/context-store.utils.js +62 -79
- package/build/esm/utils/crypto.utils.d.ts +0 -1
- package/build/esm/utils/crypto.utils.js +78 -175
- package/build/esm/utils/date.utils.d.ts +0 -1
- package/build/esm/utils/date.utils.js +47 -53
- package/build/esm/utils/decorators.utils.d.ts +201 -5
- package/build/esm/utils/decorators.utils.js +632 -285
- package/build/esm/utils/dir.utils.d.ts +0 -1
- package/build/esm/utils/dir.utils.js +264 -786
- package/build/esm/utils/env.utils.d.ts +0 -1
- package/build/esm/utils/env.utils.js +180 -271
- package/build/esm/utils/exception.utils.d.ts +0 -1
- package/build/esm/utils/exception.utils.js +112 -289
- package/build/esm/utils/fs.utils.d.ts +0 -1
- package/build/esm/utils/fs.utils.js +169 -401
- package/build/esm/utils/http-status-codes.d.ts +0 -1
- package/build/esm/utils/http-status-codes.js +0 -1
- package/build/esm/utils/id.utils.d.ts +0 -1
- package/build/esm/utils/id.utils.js +5 -9
- package/build/esm/utils/logger.utils.d.ts +0 -1
- package/build/esm/utils/logger.utils.js +34 -71
- package/build/esm/utils/middleware.utils.d.ts +0 -1
- package/build/esm/utils/middleware.utils.js +65 -155
- package/build/esm/utils/obj.utils.d.ts +0 -1
- package/build/esm/utils/obj.utils.js +69 -176
- package/build/esm/utils/performance.utils.d.ts +0 -1
- package/build/esm/utils/performance.utils.js +92 -195
- package/build/esm/utils/request.utils.d.ts +0 -1
- package/build/esm/utils/request.utils.js +41 -74
- package/build/esm/utils/response.utils.d.ts +0 -1
- package/build/esm/utils/response.utils.js +84 -107
- package/build/esm/utils/stream.utils.d.ts +0 -1
- package/build/esm/utils/stream.utils.js +38 -113
- package/build/esm/utils/string.utils.d.ts +0 -1
- package/build/esm/utils/string.utils.js +6 -11
- package/build/esm/utils/type.utils.d.ts +0 -1
- package/build/esm/utils/type.utils.js +8 -12
- package/build/esm/utils/url.utils.d.ts +0 -1
- package/build/esm/utils/url.utils.js +49 -127
- package/build/esm/utils/validate.utils.d.ts +0 -1
- package/build/esm/utils/validate.utils.js +23 -40
- package/package.json +3 -33
- package/build/esm/config.js.map +0 -1
- package/build/esm/index.js.map +0 -1
- package/build/esm/servers/server.builder.js.map +0 -1
- package/build/esm/servers/server.js.map +0 -1
- package/build/esm/types/api-response.js.map +0 -1
- package/build/esm/types/index.js.map +0 -1
- package/build/esm/types/server.js.map +0 -1
- package/build/esm/utils/array.utils.js.map +0 -1
- package/build/esm/utils/async.utils.js.map +0 -1
- package/build/esm/utils/cache.utils.js.map +0 -1
- package/build/esm/utils/context-store.utils.js.map +0 -1
- package/build/esm/utils/crypto.utils.js.map +0 -1
- package/build/esm/utils/date.utils.js.map +0 -1
- package/build/esm/utils/decorators.utils.js.map +0 -1
- package/build/esm/utils/dir.utils.js.map +0 -1
- package/build/esm/utils/env.utils.js.map +0 -1
- package/build/esm/utils/exception.utils.js.map +0 -1
- package/build/esm/utils/fs.utils.js.map +0 -1
- package/build/esm/utils/http-status-codes.js.map +0 -1
- package/build/esm/utils/id.utils.js.map +0 -1
- package/build/esm/utils/logger.utils.js.map +0 -1
- package/build/esm/utils/middleware.utils.js.map +0 -1
- package/build/esm/utils/obj.utils.js.map +0 -1
- package/build/esm/utils/performance.utils.js.map +0 -1
- package/build/esm/utils/request.utils.js.map +0 -1
- package/build/esm/utils/response.utils.js.map +0 -1
- package/build/esm/utils/stream.utils.js.map +0 -1
- package/build/esm/utils/string.utils.js.map +0 -1
- package/build/esm/utils/type.utils.js.map +0 -1
- package/build/esm/utils/url.utils.js.map +0 -1
- package/build/esm/utils/validate.utils.js.map +0 -1
- package/build/esnext/config.d.ts +0 -122
- package/build/esnext/config.js +0 -133
- package/build/esnext/config.js.map +0 -1
- package/build/esnext/index.d.ts +0 -27
- package/build/esnext/index.js +0 -50
- package/build/esnext/index.js.map +0 -1
- package/build/esnext/servers/server.builder.d.ts +0 -508
- package/build/esnext/servers/server.builder.js +0 -657
- package/build/esnext/servers/server.builder.js.map +0 -1
- package/build/esnext/servers/server.d.ts +0 -256
- package/build/esnext/servers/server.js +0 -955
- package/build/esnext/servers/server.js.map +0 -1
- package/build/esnext/types/api-response.d.ts +0 -152
- package/build/esnext/types/api-response.js +0 -34
- package/build/esnext/types/api-response.js.map +0 -1
- package/build/esnext/types/index.d.ts +0 -125
- package/build/esnext/types/index.js +0 -25
- package/build/esnext/types/index.js.map +0 -1
- package/build/esnext/types/server.d.ts +0 -268
- package/build/esnext/types/server.js +0 -25
- package/build/esnext/types/server.js.map +0 -1
- package/build/esnext/utils/array.utils.d.ts +0 -168
- package/build/esnext/utils/array.utils.js +0 -345
- package/build/esnext/utils/array.utils.js.map +0 -1
- package/build/esnext/utils/async.utils.d.ts +0 -265
- package/build/esnext/utils/async.utils.js +0 -620
- package/build/esnext/utils/async.utils.js.map +0 -1
- package/build/esnext/utils/cache.utils.d.ts +0 -153
- package/build/esnext/utils/cache.utils.js +0 -293
- package/build/esnext/utils/cache.utils.js.map +0 -1
- package/build/esnext/utils/context-store.utils.d.ts +0 -189
- package/build/esnext/utils/context-store.utils.js +0 -289
- package/build/esnext/utils/context-store.utils.js.map +0 -1
- package/build/esnext/utils/crypto.utils.d.ts +0 -160
- package/build/esnext/utils/crypto.utils.js +0 -276
- package/build/esnext/utils/crypto.utils.js.map +0 -1
- package/build/esnext/utils/date.utils.d.ts +0 -159
- package/build/esnext/utils/date.utils.js +0 -384
- package/build/esnext/utils/date.utils.js.map +0 -1
- package/build/esnext/utils/decorators.utils.d.ts +0 -315
- package/build/esnext/utils/decorators.utils.js +0 -504
- package/build/esnext/utils/decorators.utils.js.map +0 -1
- package/build/esnext/utils/dir.utils.d.ts +0 -196
- package/build/esnext/utils/dir.utils.js +0 -477
- package/build/esnext/utils/dir.utils.js.map +0 -1
- package/build/esnext/utils/env.utils.d.ts +0 -377
- package/build/esnext/utils/env.utils.js +0 -785
- package/build/esnext/utils/env.utils.js.map +0 -1
- package/build/esnext/utils/exception.utils.d.ts +0 -230
- package/build/esnext/utils/exception.utils.js +0 -381
- package/build/esnext/utils/exception.utils.js.map +0 -1
- package/build/esnext/utils/fs.utils.d.ts +0 -164
- package/build/esnext/utils/fs.utils.js +0 -349
- package/build/esnext/utils/fs.utils.js.map +0 -1
- package/build/esnext/utils/http-status-codes.d.ts +0 -266
- package/build/esnext/utils/http-status-codes.js +0 -295
- package/build/esnext/utils/http-status-codes.js.map +0 -1
- package/build/esnext/utils/id.utils.d.ts +0 -36
- package/build/esnext/utils/id.utils.js +0 -84
- package/build/esnext/utils/id.utils.js.map +0 -1
- package/build/esnext/utils/logger.utils.d.ts +0 -160
- package/build/esnext/utils/logger.utils.js +0 -300
- package/build/esnext/utils/logger.utils.js.map +0 -1
- package/build/esnext/utils/middleware.utils.d.ts +0 -100
- package/build/esnext/utils/middleware.utils.js +0 -236
- package/build/esnext/utils/middleware.utils.js.map +0 -1
- package/build/esnext/utils/obj.utils.d.ts +0 -124
- package/build/esnext/utils/obj.utils.js +0 -413
- package/build/esnext/utils/obj.utils.js.map +0 -1
- package/build/esnext/utils/performance.utils.d.ts +0 -136
- package/build/esnext/utils/performance.utils.js +0 -271
- package/build/esnext/utils/performance.utils.js.map +0 -1
- package/build/esnext/utils/request.utils.d.ts +0 -86
- package/build/esnext/utils/request.utils.js +0 -186
- package/build/esnext/utils/request.utils.js.map +0 -1
- package/build/esnext/utils/response.utils.d.ts +0 -163
- package/build/esnext/utils/response.utils.js +0 -247
- package/build/esnext/utils/response.utils.js.map +0 -1
- package/build/esnext/utils/stream.utils.d.ts +0 -88
- package/build/esnext/utils/stream.utils.js +0 -210
- package/build/esnext/utils/stream.utils.js.map +0 -1
- package/build/esnext/utils/string.utils.d.ts +0 -93
- package/build/esnext/utils/string.utils.js +0 -165
- package/build/esnext/utils/string.utils.js.map +0 -1
- package/build/esnext/utils/type.utils.d.ts +0 -90
- package/build/esnext/utils/type.utils.js +0 -187
- package/build/esnext/utils/type.utils.js.map +0 -1
- package/build/esnext/utils/url.utils.d.ts +0 -141
- package/build/esnext/utils/url.utils.js +0 -304
- package/build/esnext/utils/url.utils.js.map +0 -1
- package/build/esnext/utils/validate.utils.d.ts +0 -177
- package/build/esnext/utils/validate.utils.js +0 -320
- package/build/esnext/utils/validate.utils.js.map +0 -1
- package/build/src/config.d.ts +0 -122
- package/build/src/config.js +0 -138
- package/build/src/config.js.map +0 -1
- package/build/src/index.d.ts +0 -27
- package/build/src/index.js +0 -69
- package/build/src/index.js.map +0 -1
- package/build/src/servers/server.builder.d.ts +0 -508
- package/build/src/servers/server.builder.js +0 -661
- package/build/src/servers/server.builder.js.map +0 -1
- package/build/src/servers/server.d.ts +0 -256
- package/build/src/servers/server.js +0 -962
- package/build/src/servers/server.js.map +0 -1
- package/build/src/types/api-response.d.ts +0 -152
- package/build/src/types/api-response.js +0 -37
- package/build/src/types/api-response.js.map +0 -1
- package/build/src/types/index.d.ts +0 -125
- package/build/src/types/index.js +0 -26
- package/build/src/types/index.js.map +0 -1
- package/build/src/types/server.d.ts +0 -268
- package/build/src/types/server.js +0 -26
- package/build/src/types/server.js.map +0 -1
- package/build/src/utils/array.utils.d.ts +0 -168
- package/build/src/utils/array.utils.js +0 -364
- package/build/src/utils/array.utils.js.map +0 -1
- package/build/src/utils/async.utils.d.ts +0 -265
- package/build/src/utils/async.utils.js +0 -641
- package/build/src/utils/async.utils.js.map +0 -1
- package/build/src/utils/cache.utils.d.ts +0 -153
- package/build/src/utils/cache.utils.js +0 -297
- package/build/src/utils/cache.utils.js.map +0 -1
- package/build/src/utils/context-store.utils.d.ts +0 -189
- package/build/src/utils/context-store.utils.js +0 -296
- package/build/src/utils/context-store.utils.js.map +0 -1
- package/build/src/utils/crypto.utils.d.ts +0 -160
- package/build/src/utils/crypto.utils.js +0 -293
- package/build/src/utils/crypto.utils.js.map +0 -1
- package/build/src/utils/date.utils.d.ts +0 -159
- package/build/src/utils/date.utils.js +0 -396
- package/build/src/utils/date.utils.js.map +0 -1
- package/build/src/utils/decorators.utils.d.ts +0 -315
- package/build/src/utils/decorators.utils.js +0 -516
- package/build/src/utils/decorators.utils.js.map +0 -1
- package/build/src/utils/dir.utils.d.ts +0 -196
- package/build/src/utils/dir.utils.js +0 -501
- package/build/src/utils/dir.utils.js.map +0 -1
- package/build/src/utils/env.utils.d.ts +0 -377
- package/build/src/utils/env.utils.js +0 -789
- package/build/src/utils/env.utils.js.map +0 -1
- package/build/src/utils/exception.utils.d.ts +0 -230
- package/build/src/utils/exception.utils.js +0 -407
- package/build/src/utils/exception.utils.js.map +0 -1
- package/build/src/utils/fs.utils.d.ts +0 -164
- package/build/src/utils/fs.utils.js +0 -372
- package/build/src/utils/fs.utils.js.map +0 -1
- package/build/src/utils/http-status-codes.d.ts +0 -266
- package/build/src/utils/http-status-codes.js +0 -298
- package/build/src/utils/http-status-codes.js.map +0 -1
- package/build/src/utils/id.utils.d.ts +0 -36
- package/build/src/utils/id.utils.js +0 -91
- package/build/src/utils/id.utils.js.map +0 -1
- package/build/src/utils/logger.utils.d.ts +0 -160
- package/build/src/utils/logger.utils.js +0 -346
- package/build/src/utils/logger.utils.js.map +0 -1
- package/build/src/utils/middleware.utils.d.ts +0 -100
- package/build/src/utils/middleware.utils.js +0 -244
- package/build/src/utils/middleware.utils.js.map +0 -1
- package/build/src/utils/obj.utils.d.ts +0 -124
- package/build/src/utils/obj.utils.js +0 -429
- package/build/src/utils/obj.utils.js.map +0 -1
- package/build/src/utils/performance.utils.d.ts +0 -136
- package/build/src/utils/performance.utils.js +0 -278
- package/build/src/utils/performance.utils.js.map +0 -1
- package/build/src/utils/request.utils.d.ts +0 -86
- package/build/src/utils/request.utils.js +0 -195
- package/build/src/utils/request.utils.js.map +0 -1
- package/build/src/utils/response.utils.d.ts +0 -163
- package/build/src/utils/response.utils.js +0 -260
- package/build/src/utils/response.utils.js.map +0 -1
- package/build/src/utils/stream.utils.d.ts +0 -88
- package/build/src/utils/stream.utils.js +0 -218
- package/build/src/utils/stream.utils.js.map +0 -1
- package/build/src/utils/string.utils.d.ts +0 -93
- package/build/src/utils/string.utils.js +0 -179
- package/build/src/utils/string.utils.js.map +0 -1
- package/build/src/utils/type.utils.d.ts +0 -90
- package/build/src/utils/type.utils.js +0 -196
- package/build/src/utils/type.utils.js.map +0 -1
- package/build/src/utils/url.utils.d.ts +0 -141
- package/build/src/utils/url.utils.js +0 -317
- package/build/src/utils/url.utils.js.map +0 -1
- package/build/src/utils/validate.utils.d.ts +0 -177
- package/build/src/utils/validate.utils.js +0 -345
- package/build/src/utils/validate.utils.js.map +0 -1
|
@@ -227,4 +227,3 @@ export declare function getErrorMessage(error: unknown): string;
|
|
|
227
227
|
* @returns A function that always returns or throws an HTTP error.
|
|
228
228
|
*/
|
|
229
229
|
export declare function withErrorHandling<T extends (...args: any[]) => Promise<any>>(handler: T): (...args: Parameters<T>) => Promise<Awaited<ReturnType<T>>>;
|
|
230
|
-
//# sourceMappingURL=exception.utils.d.ts.map
|
|
@@ -21,82 +21,6 @@
|
|
|
21
21
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
22
|
* SOFTWARE.
|
|
23
23
|
*/
|
|
24
|
-
var __extends = (this && this.__extends) || (function () {
|
|
25
|
-
var extendStatics = function (d, b) {
|
|
26
|
-
extendStatics = Object.setPrototypeOf ||
|
|
27
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
28
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
29
|
-
return extendStatics(d, b);
|
|
30
|
-
};
|
|
31
|
-
return function (d, b) {
|
|
32
|
-
if (typeof b !== "function" && b !== null)
|
|
33
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
34
|
-
extendStatics(d, b);
|
|
35
|
-
function __() { this.constructor = d; }
|
|
36
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
37
|
-
};
|
|
38
|
-
})();
|
|
39
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
40
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
41
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
42
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
43
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
44
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
45
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
49
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
50
|
-
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
51
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
52
|
-
function step(op) {
|
|
53
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
54
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
55
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
56
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
57
|
-
switch (op[0]) {
|
|
58
|
-
case 0: case 1: t = op; break;
|
|
59
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
60
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
61
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
62
|
-
default:
|
|
63
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
64
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
65
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
66
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
67
|
-
if (t[2]) _.ops.pop();
|
|
68
|
-
_.trys.pop(); continue;
|
|
69
|
-
}
|
|
70
|
-
op = body.call(thisArg, _);
|
|
71
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
72
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
76
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
77
|
-
if (!m) return o;
|
|
78
|
-
var i = m.call(o), r, ar = [], e;
|
|
79
|
-
try {
|
|
80
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
81
|
-
}
|
|
82
|
-
catch (error) { e = { error: error }; }
|
|
83
|
-
finally {
|
|
84
|
-
try {
|
|
85
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
86
|
-
}
|
|
87
|
-
finally { if (e) throw e.error; }
|
|
88
|
-
}
|
|
89
|
-
return ar;
|
|
90
|
-
};
|
|
91
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
92
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
93
|
-
if (ar || !(i in from)) {
|
|
94
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
95
|
-
ar[i] = from[i];
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
99
|
-
};
|
|
100
24
|
import { HttpStatusCodes } from './http-status-codes';
|
|
101
25
|
import { getLogger } from './logger.utils';
|
|
102
26
|
import { ErrorResponse } from './response.utils';
|
|
@@ -104,331 +28,244 @@ import { ErrorResponse } from './response.utils';
|
|
|
104
28
|
* Generic HTTP error class used for custom exceptions with any status code.
|
|
105
29
|
* Inherit this when you need to throw errors dynamically at runtime.
|
|
106
30
|
*/
|
|
107
|
-
|
|
108
|
-
__extends(HttpError, _super);
|
|
31
|
+
export class HttpError extends ErrorResponse {
|
|
109
32
|
/**
|
|
110
33
|
* Creates a new HTTP error instance.
|
|
111
34
|
* @param status - A valid HTTP status code (e.g., 400, 500).
|
|
112
35
|
* @param message - The error message to return to the client.
|
|
113
36
|
*/
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
return _this;
|
|
37
|
+
constructor(status, message) {
|
|
38
|
+
super(message);
|
|
39
|
+
this.status = status;
|
|
118
40
|
}
|
|
119
|
-
|
|
120
|
-
}(ErrorResponse));
|
|
121
|
-
export { HttpError };
|
|
41
|
+
}
|
|
122
42
|
/**
|
|
123
43
|
* Represents a 500 Internal Server Error.
|
|
124
44
|
* Use this for unexpected backend errors that are not caused by the client.
|
|
125
45
|
*/
|
|
126
|
-
|
|
127
|
-
__extends(InternalServerErrorException, _super);
|
|
46
|
+
export class InternalServerErrorException extends ErrorResponse {
|
|
128
47
|
/**
|
|
129
48
|
* @param message - Optional custom message. Defaults to "Internal server error".
|
|
130
49
|
*/
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
_this.status = HttpStatusCodes.INTERNAL_SERVER_ERROR;
|
|
135
|
-
return _this;
|
|
50
|
+
constructor(message = 'Internal server error') {
|
|
51
|
+
super(message);
|
|
52
|
+
this.status = HttpStatusCodes.INTERNAL_SERVER_ERROR;
|
|
136
53
|
}
|
|
137
|
-
|
|
138
|
-
}(ErrorResponse));
|
|
139
|
-
export { InternalServerErrorException };
|
|
54
|
+
}
|
|
140
55
|
/**
|
|
141
56
|
* Represents a 401 Unauthorized Error.
|
|
142
57
|
* Indicates that authentication is required and has failed or not been provided.
|
|
143
58
|
*/
|
|
144
|
-
|
|
145
|
-
__extends(UnauthorizedException, _super);
|
|
59
|
+
export class UnauthorizedException extends ErrorResponse {
|
|
146
60
|
/**
|
|
147
61
|
* @param message - Optional custom message. Defaults to "Unauthorized".
|
|
148
62
|
*/
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
_this.status = HttpStatusCodes.UNAUTHORIZED;
|
|
153
|
-
return _this;
|
|
63
|
+
constructor(message = 'Unauthorized') {
|
|
64
|
+
super(message);
|
|
65
|
+
this.status = HttpStatusCodes.UNAUTHORIZED;
|
|
154
66
|
}
|
|
155
|
-
|
|
156
|
-
}(ErrorResponse));
|
|
157
|
-
export { UnauthorizedException };
|
|
67
|
+
}
|
|
158
68
|
/**
|
|
159
69
|
* Represents a 400 Bad Request Error.
|
|
160
70
|
* Indicates that the client has sent invalid data (e.g., malformed request body).
|
|
161
71
|
*/
|
|
162
|
-
|
|
163
|
-
__extends(BadRequestException, _super);
|
|
72
|
+
export class BadRequestException extends ErrorResponse {
|
|
164
73
|
/**
|
|
165
74
|
* @param message - Optional custom message. Defaults to "Bad request".
|
|
166
75
|
*/
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
_this.status = HttpStatusCodes.BAD_REQUEST;
|
|
171
|
-
return _this;
|
|
76
|
+
constructor(message = 'Bad request') {
|
|
77
|
+
super(message);
|
|
78
|
+
this.status = HttpStatusCodes.BAD_REQUEST;
|
|
172
79
|
}
|
|
173
|
-
|
|
174
|
-
}(ErrorResponse));
|
|
175
|
-
export { BadRequestException };
|
|
80
|
+
}
|
|
176
81
|
/**
|
|
177
82
|
* Represents a 404 Not Found Error.
|
|
178
83
|
* Used when a requested resource (e.g., user, file) could not be located.
|
|
179
84
|
*/
|
|
180
|
-
|
|
181
|
-
__extends(NotFoundException, _super);
|
|
85
|
+
export class NotFoundException extends ErrorResponse {
|
|
182
86
|
/**
|
|
183
87
|
* @param message - Optional custom message. Defaults to "Resource not found".
|
|
184
88
|
*/
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
_this.status = HttpStatusCodes.NOT_FOUND;
|
|
189
|
-
return _this;
|
|
89
|
+
constructor(message = 'Resource not found') {
|
|
90
|
+
super(message);
|
|
91
|
+
this.status = HttpStatusCodes.NOT_FOUND;
|
|
190
92
|
}
|
|
191
|
-
|
|
192
|
-
}(ErrorResponse));
|
|
193
|
-
export { NotFoundException };
|
|
93
|
+
}
|
|
194
94
|
/**
|
|
195
95
|
* Represents a 403 Forbidden Error.
|
|
196
96
|
* Indicates that the client is authenticated but not allowed to access the resource.
|
|
197
97
|
*/
|
|
198
|
-
|
|
199
|
-
__extends(ForbiddenException, _super);
|
|
98
|
+
export class ForbiddenException extends ErrorResponse {
|
|
200
99
|
/**
|
|
201
100
|
* @param message - Optional custom message. Defaults to "Forbidden".
|
|
202
101
|
*/
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
_this.status = HttpStatusCodes.FORBIDDEN;
|
|
207
|
-
return _this;
|
|
102
|
+
constructor(message = 'Forbidden') {
|
|
103
|
+
super(message);
|
|
104
|
+
this.status = HttpStatusCodes.FORBIDDEN;
|
|
208
105
|
}
|
|
209
|
-
|
|
210
|
-
}(ErrorResponse));
|
|
211
|
-
export { ForbiddenException };
|
|
106
|
+
}
|
|
212
107
|
/**
|
|
213
108
|
* Represents a 409 Conflict Error.
|
|
214
109
|
* Commonly used when a resource already exists or a versioning conflict occurs.
|
|
215
110
|
*/
|
|
216
|
-
|
|
217
|
-
__extends(ConflictException, _super);
|
|
111
|
+
export class ConflictException extends ErrorResponse {
|
|
218
112
|
/**
|
|
219
113
|
* @param message - Optional custom message. Defaults to "Conflict".
|
|
220
114
|
*/
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
_this.status = HttpStatusCodes.CONFLICT;
|
|
225
|
-
return _this;
|
|
115
|
+
constructor(message = 'Conflict') {
|
|
116
|
+
super(message);
|
|
117
|
+
this.status = HttpStatusCodes.CONFLICT;
|
|
226
118
|
}
|
|
227
|
-
|
|
228
|
-
}(ErrorResponse));
|
|
229
|
-
export { ConflictException };
|
|
119
|
+
}
|
|
230
120
|
/**
|
|
231
121
|
* Represents a 502 Bad Gateway Error.
|
|
232
122
|
* Used when the server receives an invalid response from an upstream server.
|
|
233
123
|
*/
|
|
234
|
-
|
|
235
|
-
__extends(BadGatewayException, _super);
|
|
124
|
+
export class BadGatewayException extends ErrorResponse {
|
|
236
125
|
/**
|
|
237
126
|
* @param message - Optional custom message. Defaults to "Bad Gateway".
|
|
238
127
|
*/
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
_this.status = HttpStatusCodes.BAD_GATEWAY;
|
|
243
|
-
return _this;
|
|
128
|
+
constructor(message = 'Bad Gateway') {
|
|
129
|
+
super(message);
|
|
130
|
+
this.status = HttpStatusCodes.BAD_GATEWAY;
|
|
244
131
|
}
|
|
245
|
-
|
|
246
|
-
}(ErrorResponse));
|
|
247
|
-
export { BadGatewayException };
|
|
132
|
+
}
|
|
248
133
|
/**
|
|
249
134
|
* Represents a 429 Too Many Requests Error.
|
|
250
135
|
* Returned when the client has hit a rate limit.
|
|
251
136
|
*/
|
|
252
|
-
|
|
253
|
-
__extends(TooManyRequestsException, _super);
|
|
137
|
+
export class TooManyRequestsException extends ErrorResponse {
|
|
254
138
|
/**
|
|
255
139
|
* @param message - Optional custom message. Defaults to "Too many requests".
|
|
256
140
|
*/
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
_this.status = HttpStatusCodes.TOO_MANY_REQUESTS;
|
|
261
|
-
return _this;
|
|
141
|
+
constructor(message = 'Too many requests') {
|
|
142
|
+
super(message);
|
|
143
|
+
this.status = HttpStatusCodes.TOO_MANY_REQUESTS;
|
|
262
144
|
}
|
|
263
|
-
|
|
264
|
-
}(ErrorResponse));
|
|
265
|
-
export { TooManyRequestsException };
|
|
145
|
+
}
|
|
266
146
|
/**
|
|
267
147
|
* Represents a 503 Service Unavailable Error.
|
|
268
148
|
* Indicates that the server is temporarily unavailable (e.g., for maintenance).
|
|
269
149
|
*/
|
|
270
|
-
|
|
271
|
-
__extends(ServiceUnavailableException, _super);
|
|
150
|
+
export class ServiceUnavailableException extends ErrorResponse {
|
|
272
151
|
/**
|
|
273
152
|
* @param message - Optional custom message. Defaults to "Service Unavailable".
|
|
274
153
|
*/
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
_this.status = HttpStatusCodes.SERVICE_UNAVAILABLE;
|
|
279
|
-
return _this;
|
|
154
|
+
constructor(message = 'Service Unavailable') {
|
|
155
|
+
super(message);
|
|
156
|
+
this.status = HttpStatusCodes.SERVICE_UNAVAILABLE;
|
|
280
157
|
}
|
|
281
|
-
|
|
282
|
-
}(ErrorResponse));
|
|
283
|
-
export { ServiceUnavailableException };
|
|
158
|
+
}
|
|
284
159
|
/**
|
|
285
160
|
* Represents a 504 Gateway Timeout Error.
|
|
286
161
|
* Returned when the server acting as a gateway times out waiting for a response.
|
|
287
162
|
*/
|
|
288
|
-
|
|
289
|
-
__extends(GatewayTimeoutException, _super);
|
|
163
|
+
export class GatewayTimeoutException extends ErrorResponse {
|
|
290
164
|
/**
|
|
291
165
|
* @param message - Optional custom message. Defaults to "Gateway Timeout".
|
|
292
166
|
*/
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
_this.status = HttpStatusCodes.GATEWAY_TIMEOUT;
|
|
297
|
-
return _this;
|
|
167
|
+
constructor(message = 'Gateway Timeout') {
|
|
168
|
+
super(message);
|
|
169
|
+
this.status = HttpStatusCodes.GATEWAY_TIMEOUT;
|
|
298
170
|
}
|
|
299
|
-
|
|
300
|
-
}(ErrorResponse));
|
|
301
|
-
export { GatewayTimeoutException };
|
|
171
|
+
}
|
|
302
172
|
/**
|
|
303
173
|
* Represents a 422 Unprocessable Entity Error.
|
|
304
174
|
* Used when the server understands the content type but cannot process the contained instructions.
|
|
305
175
|
*/
|
|
306
|
-
|
|
307
|
-
|
|
176
|
+
export class UnprocessableEntityException extends ErrorResponse {
|
|
177
|
+
details;
|
|
308
178
|
/**
|
|
309
179
|
* @param message - Optional custom message. Defaults to "Unprocessable Entity".
|
|
310
180
|
* @param details - Optional validation details or additional error context.
|
|
311
181
|
*/
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
_this.status = HttpStatusCodes.UNPROCESSABLE_ENTITY;
|
|
317
|
-
return _this;
|
|
182
|
+
constructor(message = 'Unprocessable Entity', details) {
|
|
183
|
+
super(message);
|
|
184
|
+
this.details = details;
|
|
185
|
+
this.status = HttpStatusCodes.UNPROCESSABLE_ENTITY;
|
|
318
186
|
}
|
|
319
|
-
|
|
320
|
-
}(ErrorResponse));
|
|
321
|
-
export { UnprocessableEntityException };
|
|
187
|
+
}
|
|
322
188
|
/**
|
|
323
189
|
* Represents a 405 Method Not Allowed Error.
|
|
324
190
|
* Used when the request method is not supported for the requested resource.
|
|
325
191
|
*/
|
|
326
|
-
|
|
327
|
-
|
|
192
|
+
export class MethodNotAllowedException extends ErrorResponse {
|
|
193
|
+
allowedMethods;
|
|
328
194
|
/**
|
|
329
195
|
* @param message - Optional custom message. Defaults to "Method Not Allowed".
|
|
330
196
|
* @param allowedMethods - Optional array of allowed HTTP methods.
|
|
331
197
|
*/
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
_this.status = HttpStatusCodes.METHOD_NOT_ALLOWED;
|
|
337
|
-
return _this;
|
|
198
|
+
constructor(message = 'Method Not Allowed', allowedMethods) {
|
|
199
|
+
super(message);
|
|
200
|
+
this.allowedMethods = allowedMethods;
|
|
201
|
+
this.status = HttpStatusCodes.METHOD_NOT_ALLOWED;
|
|
338
202
|
}
|
|
339
|
-
|
|
340
|
-
}(ErrorResponse));
|
|
341
|
-
export { MethodNotAllowedException };
|
|
203
|
+
}
|
|
342
204
|
/**
|
|
343
205
|
* Represents a 406 Not Acceptable Error.
|
|
344
206
|
* Used when the server cannot produce a response matching the client's accepted content types.
|
|
345
207
|
*/
|
|
346
|
-
|
|
347
|
-
__extends(NotAcceptableException, _super);
|
|
208
|
+
export class NotAcceptableException extends ErrorResponse {
|
|
348
209
|
/**
|
|
349
210
|
* @param message - Optional custom message. Defaults to "Not Acceptable".
|
|
350
211
|
*/
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
_this.status = HttpStatusCodes.NOT_ACCEPTABLE;
|
|
355
|
-
return _this;
|
|
212
|
+
constructor(message = 'Not Acceptable') {
|
|
213
|
+
super(message);
|
|
214
|
+
this.status = HttpStatusCodes.NOT_ACCEPTABLE;
|
|
356
215
|
}
|
|
357
|
-
|
|
358
|
-
}(ErrorResponse));
|
|
359
|
-
export { NotAcceptableException };
|
|
216
|
+
}
|
|
360
217
|
/**
|
|
361
218
|
* Represents a 408 Request Timeout Error.
|
|
362
219
|
* Used when the server times out waiting for the client to send a request.
|
|
363
220
|
*/
|
|
364
|
-
|
|
365
|
-
__extends(RequestTimeoutException, _super);
|
|
221
|
+
export class RequestTimeoutException extends ErrorResponse {
|
|
366
222
|
/**
|
|
367
223
|
* @param message - Optional custom message. Defaults to "Request Timeout".
|
|
368
224
|
*/
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
_this.status = HttpStatusCodes.REQUEST_TIMEOUT;
|
|
373
|
-
return _this;
|
|
225
|
+
constructor(message = 'Request Timeout') {
|
|
226
|
+
super(message);
|
|
227
|
+
this.status = HttpStatusCodes.REQUEST_TIMEOUT;
|
|
374
228
|
}
|
|
375
|
-
|
|
376
|
-
}(ErrorResponse));
|
|
377
|
-
export { RequestTimeoutException };
|
|
229
|
+
}
|
|
378
230
|
/**
|
|
379
231
|
* Represents a 415 Unsupported Media Type Error.
|
|
380
232
|
* Used when the request's Content-Type is not supported.
|
|
381
233
|
*/
|
|
382
|
-
|
|
383
|
-
__extends(UnsupportedMediaTypeException, _super);
|
|
234
|
+
export class UnsupportedMediaTypeException extends ErrorResponse {
|
|
384
235
|
/**
|
|
385
236
|
* @param message - Optional custom message. Defaults to "Unsupported Media Type".
|
|
386
237
|
*/
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
_this.status = HttpStatusCodes.UNSUPPORTED_MEDIA_TYPE;
|
|
391
|
-
return _this;
|
|
238
|
+
constructor(message = 'Unsupported Media Type') {
|
|
239
|
+
super(message);
|
|
240
|
+
this.status = HttpStatusCodes.UNSUPPORTED_MEDIA_TYPE;
|
|
392
241
|
}
|
|
393
|
-
|
|
394
|
-
}(ErrorResponse));
|
|
395
|
-
export { UnsupportedMediaTypeException };
|
|
242
|
+
}
|
|
396
243
|
/**
|
|
397
244
|
* Represents a 413 Payload Too Large Error.
|
|
398
245
|
* Used when the request body exceeds server limits.
|
|
399
246
|
*/
|
|
400
|
-
|
|
401
|
-
__extends(PayloadTooLargeException, _super);
|
|
247
|
+
export class PayloadTooLargeException extends ErrorResponse {
|
|
402
248
|
/**
|
|
403
249
|
* @param message - Optional custom message. Defaults to "Payload Too Large".
|
|
404
250
|
*/
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
_this.status = HttpStatusCodes.PAYLOAD_TOO_LARGE;
|
|
409
|
-
return _this;
|
|
251
|
+
constructor(message = 'Payload Too Large') {
|
|
252
|
+
super(message);
|
|
253
|
+
this.status = HttpStatusCodes.PAYLOAD_TOO_LARGE;
|
|
410
254
|
}
|
|
411
|
-
|
|
412
|
-
}(ErrorResponse));
|
|
413
|
-
export { PayloadTooLargeException };
|
|
255
|
+
}
|
|
414
256
|
/**
|
|
415
257
|
* Represents a 507 Insufficient Storage Error.
|
|
416
258
|
* Used when the server has insufficient storage to complete the request.
|
|
417
259
|
*/
|
|
418
|
-
|
|
419
|
-
__extends(InsufficientStorageException, _super);
|
|
260
|
+
export class InsufficientStorageException extends ErrorResponse {
|
|
420
261
|
/**
|
|
421
262
|
* @param message - Optional custom message. Defaults to "Insufficient Storage".
|
|
422
263
|
*/
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
_this.status = HttpStatusCodes.INSUFFICIENT_STORAGE;
|
|
427
|
-
return _this;
|
|
264
|
+
constructor(message = 'Insufficient Storage') {
|
|
265
|
+
super(message);
|
|
266
|
+
this.status = HttpStatusCodes.INSUFFICIENT_STORAGE;
|
|
428
267
|
}
|
|
429
|
-
|
|
430
|
-
}(ErrorResponse));
|
|
431
|
-
export { InsufficientStorageException };
|
|
268
|
+
}
|
|
432
269
|
/**
|
|
433
270
|
* Checks if an error is an instance of HttpError or its subclasses.
|
|
434
271
|
*
|
|
@@ -485,7 +322,7 @@ export function createHttpError(status, message) {
|
|
|
485
322
|
case HttpStatusCodes.INSUFFICIENT_STORAGE:
|
|
486
323
|
return new InsufficientStorageException(message);
|
|
487
324
|
default:
|
|
488
|
-
return new HttpError(status, message ||
|
|
325
|
+
return new HttpError(status, message || `HTTP Error ${status}`);
|
|
489
326
|
}
|
|
490
327
|
}
|
|
491
328
|
/**
|
|
@@ -523,37 +360,23 @@ export function getErrorMessage(error) {
|
|
|
523
360
|
* @returns A function that always returns or throws an HTTP error.
|
|
524
361
|
*/
|
|
525
362
|
export function withErrorHandling(handler) {
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
363
|
+
return async (...args) => {
|
|
364
|
+
try {
|
|
365
|
+
return await handler(...args);
|
|
366
|
+
}
|
|
367
|
+
catch (err) {
|
|
368
|
+
if (isHttpError(err)) {
|
|
369
|
+
throw err;
|
|
370
|
+
}
|
|
371
|
+
// Log the original error (consider using a proper logger)
|
|
372
|
+
getLogger().error({ err }, 'Caught error in handler');
|
|
373
|
+
// Extract status code if it exists, otherwise use 500
|
|
374
|
+
let status = HttpStatusCodes.INTERNAL_SERVER_ERROR;
|
|
375
|
+
if (hasErrorShape(err) && typeof err.status === 'number') {
|
|
376
|
+
status = err.status;
|
|
377
|
+
}
|
|
378
|
+
// Create appropriate HTTP error
|
|
379
|
+
throw createHttpError(status, getErrorMessage(err));
|
|
531
380
|
}
|
|
532
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
533
|
-
var err_1, status_1;
|
|
534
|
-
return __generator(this, function (_a) {
|
|
535
|
-
switch (_a.label) {
|
|
536
|
-
case 0:
|
|
537
|
-
_a.trys.push([0, 2, , 3]);
|
|
538
|
-
return [4 /*yield*/, handler.apply(void 0, __spreadArray([], __read(args), false))];
|
|
539
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
540
|
-
case 2:
|
|
541
|
-
err_1 = _a.sent();
|
|
542
|
-
if (isHttpError(err_1)) {
|
|
543
|
-
throw err_1;
|
|
544
|
-
}
|
|
545
|
-
// Log the original error (consider using a proper logger)
|
|
546
|
-
getLogger().error({ err: err_1 }, 'Caught error in handler');
|
|
547
|
-
status_1 = HttpStatusCodes.INTERNAL_SERVER_ERROR;
|
|
548
|
-
if (hasErrorShape(err_1) && typeof err_1.status === 'number') {
|
|
549
|
-
status_1 = err_1.status;
|
|
550
|
-
}
|
|
551
|
-
// Create appropriate HTTP error
|
|
552
|
-
throw createHttpError(status_1, getErrorMessage(err_1));
|
|
553
|
-
case 3: return [2 /*return*/];
|
|
554
|
-
}
|
|
555
|
-
});
|
|
556
|
-
});
|
|
557
381
|
};
|
|
558
382
|
}
|
|
559
|
-
//# sourceMappingURL=exception.utils.js.map
|
|
@@ -161,4 +161,3 @@ export declare function getFileSize(path: string): Promise<number>;
|
|
|
161
161
|
* @returns {Promise<Buffer | null>} File contents as Buffer or null if reading fails.
|
|
162
162
|
*/
|
|
163
163
|
export declare function readFileBuffer(path: string): Promise<Buffer | null>;
|
|
164
|
-
//# sourceMappingURL=fs.utils.d.ts.map
|