mirror of
https://github.com/gromlab-ru/slm-design.git
synced 2026-08-22 15:30:16 +03:00
22 lines
828 B
TypeScript
22 lines
828 B
TypeScript
import type { {{name.pascalCase}}ErrorCode } from '../types/{{name.kebabCase}}-error-code.type'
|
||
|
||
/**
|
||
* Доменная ошибка бизнес-модуля {{name.pascalCase}}.
|
||
*
|
||
* UI/i18n-слой должен использовать `code`, а не `message`, для выбора пользовательского текста.
|
||
*/
|
||
export class {{name.pascalCase}}BusinessError extends Error {
|
||
/** Код доменной ошибки для UI/i18n-слоя. */
|
||
readonly code: {{name.pascalCase}}ErrorCode
|
||
/** Исходная ошибка нижележащей runtime-зависимости. */
|
||
readonly cause: unknown
|
||
|
||
constructor(code: {{name.pascalCase}}ErrorCode, cause: unknown) {
|
||
super(code)
|
||
|
||
this.name = '{{name.pascalCase}}BusinessError'
|
||
this.code = code
|
||
this.cause = cause
|
||
}
|
||
}
|