model-layer
Version:
79 lines (70 loc) • 2.19 kB
text/typescript
// 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`
};
}
}