UNPKG

@fajarnugraha37/error

Version:

Runtime-agnostic error handling library with structured errors, adapters, and validation support for Bun, Node.js, and browsers

31 lines (29 loc) 1.16 kB
type Severity = "info" | "warn" | "error" | "fatal"; interface AppErrorOptions { cause?: unknown; data?: unknown; tags?: string[]; severity?: Severity; status?: number; retryable?: boolean; captureStack?: boolean; } declare class AppError extends Error { readonly code: string; readonly cause?: unknown; readonly data?: unknown; readonly status?: number; readonly tags: readonly string[]; readonly severity: Severity; readonly retryable: boolean; readonly id: string; readonly timestamp: number; constructor(code: string, message?: string, options?: AppErrorOptions); toJSON(): Record<string, unknown>; } declare function error(code: string, message?: string, options?: AppErrorOptions): AppError; declare function wrap(err: unknown, code?: string, options?: Omit<AppErrorOptions, "cause">): AppError; declare function fromUnknown(value: unknown): AppError; declare function isAppError(value: unknown): value is AppError; declare function isCode(err: unknown, code: string): boolean; export { AppError, type AppErrorOptions, type Severity, error, fromUnknown, isAppError, isCode, wrap };