UNPKG

@sentzunhat/zacatl

Version:

A modular, high-performance TypeScript microservice framework for Node.js, featuring layered architecture, dependency injection, and robust validation for building scalable APIs and distributed systems.

57 lines 1.86 kB
import type { Optional } from '../utils/optionals'; export type HttpStatusCode = 200 | 201 | 204 | 400 | 401 | 403 | 404 | 422 | 500 | 502 | 503; export type StatusCodeString = 'invalid'; export type ErrorCode = Optional<HttpStatusCode | StatusCodeString>; export interface CustomErrorsArgs { message: string; reason?: Optional<string>; metadata?: Optional<Record<string, unknown>>; error?: Optional<Error>; component?: Optional<string>; operation?: Optional<string>; } export interface CustomErrorArgs { message: string; code?: ErrorCode; reason?: Optional<string>; metadata?: Optional<Record<string, unknown>>; error?: Optional<Error>; component?: Optional<string>; operation?: Optional<string>; } export declare class CustomError extends Error { readonly custom: boolean; readonly code: ErrorCode; readonly reason?: Optional<string>; readonly metadata?: Optional<Record<string, unknown>>; readonly error?: Optional<Error>; readonly time: Date; readonly id: string; readonly correlationId: string; readonly component?: Optional<string>; readonly operation?: Optional<string>; constructor({ message, code, reason, metadata, error, correlationId, component, operation, }: CustomErrorArgs & { correlationId?: string; }); toJSON(): { name: string; message: string; code?: ErrorCode; reason?: string; metadata?: Record<string, unknown>; component?: string; operation?: string; error?: { name: string; message: string; stack?: string; }; time: string; id: string; correlationId: string; stack?: string | undefined; custom: boolean; }; toString(): string; } //# sourceMappingURL=custom.d.ts.map