UNPKG

@httpc/kit

Version:

httpc toolbox for building function-based API with minimal code and end-to-end type safety

35 lines (34 loc) 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ServiceErrorPresets = exports.ServiceError = void 0; const server_1 = require("@httpc/server"); class ServiceError extends server_1.HttpCallError { constructor(error, message, data) { const isInfo = typeof error === "object"; const status = isInfo && error.status || 400; const errorCode = isInfo ? error.errorCode : error; data = isInfo ? error.data : typeof message === "string" ? data : message; message = isInfo ? error.message : typeof message === "string" ? message : undefined; super({ status, errorCode, message, data, }); } } exports.ServiceError = ServiceError; class ServiceErrorPresets { constructor(map = new Map()) { this.map = map; } add(errorCode, errorInfo) { const map = new Map(this.map); map.set(errorCode, { status: 500, ...errorInfo, errorCode }); return new ServiceErrorPresets(map); } get(errorCode) { return this.map.get(errorCode); } } exports.ServiceErrorPresets = ServiceErrorPresets;