@fab33/fab-errors
Version:
Modern error handling library with typed contexts, Error.cause chains, and ErrorSpecs
60 lines • 3.21 kB
TypeScript
/**
* @file src/base-specs.ts
* @description Предоставляет несколько базовых спецификаций ошибок (ErrorSpec) в качестве примеров.
* @version 1.0.1
* @date 2025-05-30
* @updated Заменены типы 'any' на 'unknown' в контекстах. Добавлена пустая строка в конце файла.
*
* HISTORY:
* v1.0.1 (2025-05-30): Заменены 'any' на 'unknown' в контекстах, eol-last.
* v1.0.0 (2025-05-29): Начальная реализация базовых ErrorSpec.
*/
import type { ErrorSpec } from './error-spec.js';
/** Контекст для ошибки невалидного аргумента. */
export interface InvalidArgumentContext {
argumentName: string;
argumentValue?: unknown;
reason: string;
expected?: string;
}
/** Контекст для ошибки провала операции. */
export interface OperationFailedContext {
operationName: string;
reason?: string;
details?: Record<string, unknown>;
}
/** Контекст для ошибки "не реализовано". */
export interface NotImplementedContext {
featureName: string;
plannedVersion?: string;
}
/** Контекст для неожиданной ошибки. */
export interface UnexpectedErrorContext {
situation: string;
details?: Record<string, unknown>;
}
/**
* Спецификация для ошибки: Невалидный аргумент.
* Указывает на то, что предоставленный аргумент функции или методу
* не соответствует ожиданиям (неправильный тип, значение вне диапазона и т.д.).
*/
export declare const INVALID_ARGUMENT_SPEC: ErrorSpec<InvalidArgumentContext>;
/**
* Спецификация для ошибки: Операция не удалась.
* Общая ошибка, указывающая на то, что выполнение некоторой операции
* завершилось неудачей по неопределенной или внутренней причине.
* Более специфичные ошибки операции должны наследоваться или уточнять эту.
*/
export declare const OPERATION_FAILED_SPEC: ErrorSpec<OperationFailedContext>;
/**
* Спецификация для ошибки: Функциональность не реализована.
* Указывает на попытку вызова функциональности, которая еще не была реализована.
*/
export declare const NOT_IMPLEMENTED_SPEC: ErrorSpec<NotImplementedContext>;
/**
* Спецификация для ошибки: Неожиданная ошибка.
* Используется для перехвата и логирования ошибок, которые не были
* предвидены или обработаны более специфичным образом.
*/
export declare const UNEXPECTED_ERROR_SPEC: ErrorSpec<UnexpectedErrorContext>;
//# sourceMappingURL=base-specs.d.ts.map