backend-error 1.1.1 → 1.2.1

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 CHANGED
@@ -81,6 +81,23 @@ BackendError.Conflict("..."); // 409, showUser: true
81
81
  BackendError.UnprocessableEntity("..."); // 422, showUser: true
82
82
  BackendError.Internal("..."); // 500, showUser: false
83
83
  BackendError.ServiceUnavailable("..."); // 503, showUser: false
84
+ BackendError.ExternalAPI("..."); // 502, showUser: true
85
+ ```
86
+
87
+ ### External / upstream errors
88
+
89
+ Use `ExternalAPI` for failures originating from upstream services (Stripe, bank APIs, HR systems etc). It defaults to HTTP `502 Bad Gateway`, `showUser: true` (so the user gets a helpful message), and `severity: "warning"`.
90
+
91
+ Example:
92
+
93
+ ```ts
94
+ try {
95
+ // call an external API
96
+ await chargeCard();
97
+ } catch (err) {
98
+ // Indicate the error came from an external API — user can be informed
99
+ throw BackendError.ExternalAPI("Payment provider unavailable"); // 502, showUser: true
100
+ }
84
101
  ```
85
102
 
86
103
  ---
@@ -109,6 +126,14 @@ app.get("/user/:id", async (req, res) => {
109
126
 
110
127
  ## 🧩 Types
111
128
 
129
+ The package re-exports TypeScript types so you get full typings when consuming the package. Import types like this:
130
+
131
+ ```ts
132
+ import type { BackendErrorOptions, Severity } from "backend-error";
133
+ ```
134
+
135
+ For reference, the exported types look like:
136
+
112
137
  ```ts
113
138
  export type Severity = "info" | "warning" | "error" | "critical";
114
139
 
@@ -1,60 +1,45 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.BackendError = void 0;
19
- var BackendError = /** @class */ (function (_super) {
20
- __extends(BackendError, _super);
21
- function BackendError(options) {
22
- var _this = this;
23
- var _a, _b, _c;
24
- _this = _super.call(this, options.message) || this;
25
- _this.name = "BackendError";
26
- _this.isOperational = (_a = options.isOperational) !== null && _a !== void 0 ? _a : true;
27
- _this.showUser = (_b = options.showUser) !== null && _b !== void 0 ? _b : true;
28
- _this.severity = (_c = options.severity) !== null && _c !== void 0 ? _c : "error";
29
- _this.code = options.code;
30
- _this.data = options.data;
31
- Object.setPrototypeOf(_this, BackendError.prototype);
32
- return _this;
33
- }
34
- BackendError.BadRequest = function (msg) {
35
- return new BackendError({ message: msg, code: 400, severity: "warning", showUser: true });
36
- };
37
- BackendError.Unauthorized = function (msg) {
38
- return new BackendError({ message: msg, code: 401, severity: "warning", showUser: true });
39
- };
40
- BackendError.Forbidden = function (msg) {
41
- return new BackendError({ message: msg, code: 403, severity: "warning", showUser: true });
42
- };
43
- BackendError.NotFound = function (msg) {
44
- return new BackendError({ message: msg, code: 404, severity: "warning", showUser: true });
45
- };
46
- BackendError.Conflict = function (msg) {
47
- return new BackendError({ message: msg, code: 409, severity: "warning", showUser: true });
48
- };
49
- BackendError.UnprocessableEntity = function (msg) {
50
- return new BackendError({ message: msg, code: 422, severity: "warning", showUser: true });
51
- };
52
- BackendError.Internal = function (msg) {
53
- return new BackendError({ message: msg, code: 500, severity: "critical", showUser: false });
54
- };
55
- BackendError.ServiceUnavailable = function (msg) {
56
- return new BackendError({ message: msg, code: 503, severity: "critical", showUser: false });
57
- };
58
- return BackendError;
59
- }(Error));
60
- exports.BackendError = BackendError;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BackendError = void 0;
4
+ class BackendError extends Error {
5
+ constructor(options) {
6
+ var _a, _b, _c;
7
+ super(options.message);
8
+ this.name = "BackendError";
9
+ this.isOperational = (_a = options.isOperational) !== null && _a !== void 0 ? _a : true;
10
+ this.showUser = (_b = options.showUser) !== null && _b !== void 0 ? _b : true;
11
+ this.severity = (_c = options.severity) !== null && _c !== void 0 ? _c : "error";
12
+ this.code = options.code;
13
+ this.data = options.data;
14
+ Object.setPrototypeOf(this, BackendError.prototype);
15
+ }
16
+ static BadRequest(msg) {
17
+ return new BackendError({ message: msg, code: 400, severity: "warning", showUser: true });
18
+ }
19
+ static Unauthorized(msg) {
20
+ return new BackendError({ message: msg, code: 401, severity: "warning", showUser: true });
21
+ }
22
+ static Forbidden(msg) {
23
+ return new BackendError({ message: msg, code: 403, severity: "warning", showUser: true });
24
+ }
25
+ static NotFound(msg) {
26
+ return new BackendError({ message: msg, code: 404, severity: "warning", showUser: true });
27
+ }
28
+ static Conflict(msg) {
29
+ return new BackendError({ message: msg, code: 409, severity: "warning", showUser: true });
30
+ }
31
+ static UnprocessableEntity(msg) {
32
+ return new BackendError({ message: msg, code: 422, severity: "warning", showUser: true });
33
+ }
34
+ static Internal(msg) {
35
+ return new BackendError({ message: msg, code: 500, severity: "critical", showUser: false });
36
+ }
37
+ static ExternalAPI(msg, code = 502) {
38
+ return new BackendError({ message: msg, code, severity: "warning", showUser: true });
39
+ }
40
+ static ServiceUnavailable(msg) {
41
+ return new BackendError({ message: msg, code: 503, severity: "critical", showUser: false });
42
+ }
43
+ }
44
+ exports.BackendError = BackendError;
45
+ //# sourceMappingURL=BackendError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackendError.js","sourceRoot":"","sources":["../../src/core/BackendError.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAa,SAAQ,KAAK;IAOrC,YAAY,OAA4B;;QACtC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAE3B,IAAI,CAAC,aAAa,GAAG,MAAA,OAAO,CAAC,aAAa,mCAAI,IAAI,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,IAAI,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,OAAO,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAW;QAC3B,OAAO,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,GAAW;QAC7B,OAAO,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,GAAW;QAC1B,OAAO,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAW;QACzB,OAAO,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAW;QACzB,OAAO,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,GAAW;QACpC,OAAO,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAW;QACzB,OAAO,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,GAAW,EAAE,OAAe,GAAG;QAChD,OAAO,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,GAAW;QACnC,OAAO,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9F,CAAC;CACF;AAvDD,oCAuDC"}
@@ -1,52 +1,47 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.httpErrorFormatter = void 0;
15
- var BackendError_1 = require("./BackendError");
16
- function isValidStatusCode(code) {
17
- return typeof code === "number" && Number.isInteger(code) && code >= 100 && code <= 599;
18
- }
19
- function httpErrorFormatter(err) {
20
- // Handle your custom BackendError type
21
- if (err instanceof BackendError_1.BackendError) {
22
- var status_1 = isValidStatusCode(err.code) ? err.code : 400;
23
- // If developer explicitly set showUser, trust that; otherwise default: true for 4xx, false for 5xx
24
- var showUser_1 = typeof err.showUser === "boolean" ? err.showUser : status_1 < 500;
25
- var message_1 = err.message || "Error";
26
- // If showUser is true, return detailed info including data, code, severity; else generic message
27
- var body_1 = showUser_1
28
- ? __assign(__assign({ message: message_1 }, (err.data !== undefined && { data: err.data })), { code: status_1, severity: err.severity }) : { message: "Internal Server Error" };
29
- return { status: status_1, body: body_1, showUser: showUser_1, message: message_1 };
30
- }
31
- // Handle generic Error or string or unknown
32
- var status = 500;
33
- var message = "Internal Server Error";
34
- var showUser = false;
35
- if (err instanceof Error) {
36
- message = err.message;
37
- // Try to extract HTTP status code from common fields 'status' or 'code'
38
- var maybeStatus = err.status || err.code;
39
- if (isValidStatusCode(maybeStatus)) {
40
- status = maybeStatus;
41
- showUser = status < 500; // show message for 4xx errors by default
42
- }
43
- }
44
- else if (typeof err === "string") {
45
- message = err;
46
- status = 400;
47
- showUser = true;
48
- }
49
- var body = showUser ? { message: message } : { message: "Internal Server Error" };
50
- return { status: status, body: body, showUser: showUser, message: message };
51
- }
52
- exports.httpErrorFormatter = httpErrorFormatter;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.httpErrorFormatter = httpErrorFormatter;
4
+ const BackendError_1 = require("./BackendError");
5
+ function isValidStatusCode(code) {
6
+ return typeof code === "number" && Number.isInteger(code) && code >= 100 && code <= 599;
7
+ }
8
+ function httpErrorFormatter(err) {
9
+ // Handle your custom BackendError type
10
+ if (err instanceof BackendError_1.BackendError) {
11
+ const status = isValidStatusCode(err.code) ? err.code : 400;
12
+ // If developer explicitly set showUser, trust that; otherwise default: true for 4xx, false for 5xx
13
+ const showUser = typeof err.showUser === "boolean" ? err.showUser : status < 500;
14
+ const message = err.message || "Error";
15
+ // If showUser is true, return detailed info including data, code, severity; else generic message
16
+ const body = showUser
17
+ ? {
18
+ message,
19
+ ...(err.data !== undefined && { data: err.data }),
20
+ code: status,
21
+ severity: err.severity,
22
+ }
23
+ : { message: "Internal Server Error" };
24
+ return { status, body, showUser, message };
25
+ }
26
+ // Handle generic Error or string or unknown
27
+ let status = 500;
28
+ let message = "Internal Server Error";
29
+ let showUser = false;
30
+ if (err instanceof Error) {
31
+ message = err.message;
32
+ // Try to extract HTTP status code from common fields 'status' or 'code'
33
+ const maybeStatus = err.status || err.code;
34
+ if (isValidStatusCode(maybeStatus)) {
35
+ status = maybeStatus;
36
+ showUser = status < 500; // show message for 4xx errors by default
37
+ }
38
+ }
39
+ else if (typeof err === "string") {
40
+ message = err;
41
+ status = 400;
42
+ showUser = true;
43
+ }
44
+ const body = showUser ? { message } : { message: "Internal Server Error" };
45
+ return { status, body, showUser, message };
46
+ }
47
+ //# sourceMappingURL=httpErrorFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpErrorFormatter.js","sourceRoot":"","sources":["../../src/core/httpErrorFormatter.ts"],"names":[],"mappings":";;AAMA,gDAmDC;AAzDD,iDAA8C;AAE9C,SAAS,iBAAiB,CAAC,IAAa;IACtC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;AAC1F,CAAC;AAED,SAAgB,kBAAkB,CAAC,GAAY;IAM7C,uCAAuC;IACvC,IAAI,GAAG,YAAY,2BAAY,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAE5D,mGAAmG;QACnG,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;QAEjF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;QAEvC,iGAAiG;QACjG,MAAM,IAAI,GAAG,QAAQ;YACnB,CAAC,CAAC;gBACE,OAAO;gBACP,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjD,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB;YACH,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;QAEzC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;IAED,4CAA4C;IAC5C,IAAI,MAAM,GAAG,GAAG,CAAC;IACjB,IAAI,OAAO,GAAG,uBAAuB,CAAC;IACtC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAEtB,wEAAwE;QACxE,MAAM,WAAW,GAAI,GAAW,CAAC,MAAM,IAAK,GAAW,CAAC,IAAI,CAAC;QAC7D,IAAI,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,MAAM,GAAG,WAAW,CAAC;YACrB,QAAQ,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,yCAAyC;QACpE,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,GAAG,GAAG,CAAC;QACd,MAAM,GAAG,GAAG,CAAC;QACb,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;IAE3E,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC7C,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.httpErrorFormatter = exports.BackendError = void 0;
4
- var BackendError_1 = require("./core/BackendError");
5
- Object.defineProperty(exports, "BackendError", { enumerable: true, get: function () { return BackendError_1.BackendError; } });
6
- var httpErrorFormatter_1 = require("./core/httpErrorFormatter");
7
- Object.defineProperty(exports, "httpErrorFormatter", { enumerable: true, get: function () { return httpErrorFormatter_1.httpErrorFormatter; } });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.httpErrorFormatter = exports.BackendError = void 0;
4
+ var BackendError_1 = require("./core/BackendError");
5
+ Object.defineProperty(exports, "BackendError", { enumerable: true, get: function () { return BackendError_1.BackendError; } });
6
+ var httpErrorFormatter_1 = require("./core/httpErrorFormatter");
7
+ Object.defineProperty(exports, "httpErrorFormatter", { enumerable: true, get: function () { return httpErrorFormatter_1.httpErrorFormatter; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,oDAAmD;AAA1C,4GAAA,YAAY,OAAA;AACrB,gEAA+D;AAAtD,wHAAA,kBAAkB,OAAA"}
@@ -1,2 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Types.js","sourceRoot":"","sources":["../../src/interfaces/Types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import { BackendErrorOptions, Severity } from "../interfaces/Types";
2
+ export declare class BackendError extends Error {
3
+ isOperational: boolean;
4
+ showUser: boolean;
5
+ severity: Severity;
6
+ code?: number;
7
+ data?: any;
8
+ constructor(options: BackendErrorOptions);
9
+ static BadRequest(msg: string): BackendError;
10
+ static Unauthorized(msg: string): BackendError;
11
+ static Forbidden(msg: string): BackendError;
12
+ static NotFound(msg: string): BackendError;
13
+ static Conflict(msg: string): BackendError;
14
+ static UnprocessableEntity(msg: string): BackendError;
15
+ static Internal(msg: string): BackendError;
16
+ static ExternalAPI(msg: string, code?: number): BackendError;
17
+ static ServiceUnavailable(msg: string): BackendError;
18
+ }
19
+ //# sourceMappingURL=BackendError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackendError.d.ts","sourceRoot":"","sources":["../../../src/core/BackendError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpE,qBAAa,YAAa,SAAQ,KAAK;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,GAAG,CAAC;gBAEN,OAAO,EAAE,mBAAmB;IAaxC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM;IAI/B,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM;IAI5B,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAI3B,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAI3B,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM;IAItC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAI3B,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAY;IAIlD,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM;CAGtC"}
@@ -0,0 +1,7 @@
1
+ export declare function httpErrorFormatter(err: unknown): {
2
+ status: number;
3
+ body: Record<string, any>;
4
+ showUser: boolean;
5
+ message: string;
6
+ };
7
+ //# sourceMappingURL=httpErrorFormatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpErrorFormatter.d.ts","sourceRoot":"","sources":["../../../src/core/httpErrorFormatter.ts"],"names":[],"mappings":"AAMA,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CA8CA"}
@@ -0,0 +1,4 @@
1
+ export { BackendError } from "./core/BackendError";
2
+ export { httpErrorFormatter } from "./core/httpErrorFormatter";
3
+ export type { BackendErrorOptions, Severity } from "./interfaces/Types";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export type Severity = "info" | "warning" | "error" | "critical";
2
+ export interface BackendErrorOptions {
3
+ message: string;
4
+ isOperational?: boolean;
5
+ showUser?: boolean;
6
+ severity?: Severity;
7
+ code?: number;
8
+ data?: any;
9
+ }
10
+ //# sourceMappingURL=Types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../../src/interfaces/Types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.1",
2
+ "version": "1.2.1",
3
3
  "name": "backend-error",
4
4
  "license": "MIT",
5
5
  "keywords": [
@@ -27,15 +27,14 @@
27
27
  "description": "Simple Error handling library.",
28
28
  "repository": {
29
29
  "type": "git",
30
- "url": "https://github.com/eriksturesson/backendError"
30
+ "url": "git+https://github.com/eriksturesson/backendError.git"
31
31
  },
32
32
  "bugs": {
33
33
  "email": "hej@eriksturesson.se",
34
34
  "url": "https://github.com/eriksturesson/backendError/issues"
35
35
  },
36
36
  "engines": {
37
- "npm": "^10.0.0",
38
- "node": "^22.0.0"
37
+ "node": ">=16"
39
38
  },
40
39
  "main": "dist/index.js",
41
40
  "types": "dist/index.d.ts",