error3
Version:
Error3 is proper JS error implementation. It supports error codes, message formatting (e.g. i18n) and nested errors.
25 lines (23 loc) • 687 B
TypeScript
interface IError3 extends Error {
readonly code: string | number;
readonly details: object;
readonly errors: Error[];
}
declare type PlainError = {
code: string | number;
message: string;
details: object;
errors: PlainError[] | object[];
};
declare abstract class Error3<Details, Errors> extends Error implements IError3 {
readonly code: string | number;
readonly name: string;
readonly details: object;
readonly errors: Error[];
constructor(details: Details, errors: Errors);
abstract format(_details: Details, _errors: Errors): string;
valueOf(): PlainError;
toString(): string;
toJSON(): PlainError;
}
export = Error3;