// tslint:disable: max-classes-per-file import {BaseError} from "./BaseError"; // Model errors export class UnknownPropertyError extends BaseError<{ propertyName: string }> { getMessage(data: {propertyName: string}) { return { ru: `неизвестное свойство: ${data.propertyName}`, en: `unknown property: ${data.propertyName}`, }; } } export class ModelWithoutStructureError extends BaseError<{ className: string }> { getMessage(data: {className: string}) { return { ru: `не объявлен метод ${ data.className }.structure()`, en: `${ data.className }.structure() is not declared` }; } } export class InvalidKeyError extends BaseError<{key: string}> { getMessage(data: {key: string}) { return { ru: `некорректный ключ: ${ data.key }`, en: `invalid key: ${ data.key }` }; } } export class InvalidValueError extends BaseError<{ key: string, value: string }> { getMessage(data: {key: string, value: any}) { return { ru: `некорректное значение: ${ data.key }: ${ data.value }`, en: `invalid ${ data.key }: ${ data.value }` }; } } export class RequiredError extends BaseError<{ key: string }> { getMessage(data: {key: string}) { return { ru: `пропущено обязательное поле: ${ data.key }`, en: `required ${ data.key }` }; } } export class ConstValueError extends BaseError<{ key: string }> { getMessage(data: {key: string}) { return { ru: `невозможно изменить поле только для чтения: ${ data.key }`, en: `cannot assign to read only property: ${ data.key }` }; } } export class DataShouldBeObjectError extends BaseError { getMessage() { return { ru: `ожидается объект row`, en: `row must be are object` }; } }