@xilil/error-codes
Version:
统一错误码管理库 - 支持多语言、类型安全的错误处理工具
24 lines • 1.92 kB
TypeScript
import { ErrorCode, ErrorCodeConfig, SupportedLanguage, ErrorResponse, SuccessResponse, ErrorKey } from '../types';
export declare function getErrorCode(errorKey: ErrorKey, language?: SupportedLanguage): ErrorCode;
export declare function createErrorResponse(errorKey: ErrorKey, language?: SupportedLanguage, path?: string, data?: any): ErrorResponse;
export declare function createSuccessResponse<T = any>(data: T, message?: string, language?: SupportedLanguage): SuccessResponse<T>;
export declare class AppError extends Error {
readonly code: number;
readonly statusCode: number;
readonly isOperational: boolean;
readonly errorKey: ErrorKey;
readonly language?: SupportedLanguage | undefined;
readonly details?: any;
constructor(errorKey: ErrorKey, language?: SupportedLanguage, isOperational?: boolean, details?: any);
}
export declare function isOperationalError(error: Error): boolean;
export declare function getStatusCode(errorKey: ErrorKey): number;
export declare function getAllErrorCodes(): Record<string, ErrorCodeConfig>;
export declare function findErrorKeyByCode(code: number): string | undefined;
export declare function isValidErrorKey(errorKey: string): errorKey is ErrorKey;
export declare function expressErrorHandler(defaultLanguage?: SupportedLanguage, enableStackTrace?: boolean): (error: any, req: any, res: any, next: any) => any;
export declare function asyncHandler(fn: (req: any, res: any, next: any) => Promise<any>): (req: any, res: any, next: any) => void;
export declare function throwError(errorKey: ErrorKey, details?: any, language?: SupportedLanguage): never;
export declare function throwIf(condition: boolean, errorKey: ErrorKey, details?: any, language?: SupportedLanguage): void;
export declare function assert(condition: boolean, errorKey: ErrorKey, details?: any, language?: SupportedLanguage): asserts condition;
//# sourceMappingURL=index.d.ts.map