UNPKG

@rnaga/wp-node

Version:

👉 **[View Full Documentation at rnaga.github.io/wp-node →](https://rnaga.github.io/wp-node/)**

45 lines (44 loc) • 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CrudError = exports.StatusCodeMapper = exports.StatusMessage = void 0; var StatusMessage; (function (StatusMessage) { StatusMessage["BAD_REQUEST"] = "BAD_REQUEST"; StatusMessage["UNAUTHORIZED"] = "UNAUTHORIZED"; StatusMessage["NOT_FOUND"] = "NOT_FOUND"; StatusMessage["INTERNAL_SERVER_ERROR"] = "INTERNAL_SERVER_ERROR"; })(StatusMessage || (exports.StatusMessage = StatusMessage = {})); class StatusCodeMapper { static statusMap = { [StatusMessage.BAD_REQUEST]: 400, [StatusMessage.UNAUTHORIZED]: 401, [StatusMessage.NOT_FOUND]: 404, [StatusMessage.INTERNAL_SERVER_ERROR]: 500, }; static reverseStatusMap = Object.fromEntries(Object.entries(StatusCodeMapper.statusMap).map(([key, value]) => [ value, key, ])); static getCode(message) { return this.statusMap[message] || 500; // Default to 500 if not found } static getMessage(statusCode) { return (this.reverseStatusMap[statusCode] ?? StatusMessage.INTERNAL_SERVER_ERROR); } } exports.StatusCodeMapper = StatusCodeMapper; class CustomError extends Error { statusCode; constructor(message, statusMessage) { super(message); this.statusCode = StatusCodeMapper.getCode(statusMessage); Error.captureStackTrace(this, this.constructor); } } class CrudError extends CustomError { constructor(statusMessage = StatusMessage.INTERNAL_SERVER_ERROR, detail) { super(`Error: ${detail}`, statusMessage); Object.setPrototypeOf(this, CrudError.prototype); } } exports.CrudError = CrudError;