@dev-abhi/errorify
Version:
A utility package for simplified error handling and management in Node.js applications.
54 lines (53 loc) • 2.61 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ServiceTimeoutError = exports.ExternalServiceError = exports.InvalidInputError = exports.OperationFailedError = exports.InvalidStateError = exports.FeatureNotEnabledError = exports.RateLimitExceededError = exports.UnknownError = void 0;
const errorCodes_1 = require("../../utils/errorCodes");
const CustomError_1 = require("../CustomError");
class UnknownError extends CustomError_1.CustomError {
constructor(message = "Unknown Error", details = {}) {
super(message, 500, errorCodes_1.ErrorCodes.UNKNOWN_ERROR, details);
}
}
exports.UnknownError = UnknownError;
class RateLimitExceededError extends CustomError_1.CustomError {
constructor(message = "You're being rate-limited. Please try again later.", details = {}) {
super(message, 429, errorCodes_1.ErrorCodes.RATE_LIMIT_EXCEEDED_ERROR, details);
}
}
exports.RateLimitExceededError = RateLimitExceededError;
class FeatureNotEnabledError extends CustomError_1.CustomError {
constructor(message = "Feature Not Enabled", details = {}) {
super(message, 403, errorCodes_1.ErrorCodes.FEATURE_NOT_ENABLED_ERROR, details);
}
}
exports.FeatureNotEnabledError = FeatureNotEnabledError;
class InvalidStateError extends CustomError_1.CustomError {
constructor(message = "Invalid Application State", details = {}) {
super(message, 400, errorCodes_1.ErrorCodes.INVALID_STATE_ERROR, details);
}
}
exports.InvalidStateError = InvalidStateError;
class OperationFailedError extends CustomError_1.CustomError {
constructor(message = "Operation Failed", details = {}) {
super(message, 500, errorCodes_1.ErrorCodes.OPERATION_FAILED_ERROR, details);
}
}
exports.OperationFailedError = OperationFailedError;
class InvalidInputError extends CustomError_1.CustomError {
constructor(message = "Invalid Input", details = {}) {
super(message, 400, errorCodes_1.ErrorCodes.INVALID_INPUT_ERROR, details);
}
}
exports.InvalidInputError = InvalidInputError;
class ExternalServiceError extends CustomError_1.CustomError {
constructor(message = "External Service Error", details = {}) {
super(message, 502, errorCodes_1.ErrorCodes.EXTERNAL_SERVICE_ERROR, details);
}
}
exports.ExternalServiceError = ExternalServiceError;
class ServiceTimeoutError extends CustomError_1.CustomError {
constructor(message = "Service Timeout Error", details = {}) {
super(message, 504, errorCodes_1.ErrorCodes.SERVICE_TIMEOUT_ERROR, details);
}
}
exports.ServiceTimeoutError = ServiceTimeoutError;
;