mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 21:10:38 +03:00
55 lines
3.0 KiB
TypeScript
55 lines
3.0 KiB
TypeScript
![]() |
import { ISubstitutionErrorDescription, OperationType, SubstitutionErrorType } from './models/oss';
|
|||
|
|
|||
|
/**
|
|||
|
* Retrieves label for {@link OperationType}.
|
|||
|
*/
|
|||
|
export function labelOperationType(itemType: OperationType): string {
|
|||
|
// prettier-ignore
|
|||
|
switch (itemType) {
|
|||
|
case OperationType.INPUT: return 'Загрузка';
|
|||
|
case OperationType.SYNTHESIS: return 'Синтез';
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* Retrieves description for {@link OperationType}.
|
|||
|
*/
|
|||
|
export function describeOperationType(itemType: OperationType): string {
|
|||
|
// prettier-ignore
|
|||
|
switch (itemType) {
|
|||
|
case OperationType.INPUT: return 'Загрузка концептуальной схемы в ОСС';
|
|||
|
case OperationType.SYNTHESIS: return 'Синтез концептуальных схем';
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* Generates error description for {@link ISubstitutionErrorDescription}.
|
|||
|
*/
|
|||
|
export function describeSubstitutionError(error: ISubstitutionErrorDescription): string {
|
|||
|
switch (error.errorType) {
|
|||
|
case SubstitutionErrorType.invalidIDs:
|
|||
|
return 'Ошибка в идентификаторах схем';
|
|||
|
case SubstitutionErrorType.incorrectCst:
|
|||
|
return `Ошибка ${error.params[0]} -> ${error.params[1]}: некорректное выражение конституенты`;
|
|||
|
case SubstitutionErrorType.invalidBasic:
|
|||
|
return `Ошибка ${error.params[0]} -> ${error.params[1]}: замена структурного понятия базисным множеством`;
|
|||
|
case SubstitutionErrorType.invalidConstant:
|
|||
|
return `Ошибка ${error.params[0]} -> ${error.params[1]}: подстановка константного множества возможна только вместо другого константного`;
|
|||
|
case SubstitutionErrorType.invalidClasses:
|
|||
|
return `Ошибка ${error.params[0]} -> ${error.params[1]}: классы конституент не совпадают`;
|
|||
|
case SubstitutionErrorType.typificationCycle:
|
|||
|
return `Ошибка: цикл подстановок в типизациях ${error.params[0]}`;
|
|||
|
case SubstitutionErrorType.baseSubstitutionNotSet:
|
|||
|
return `Ошибка: типизация не задает множество ${error.params[0]} ∈ ${error.params[1]}`;
|
|||
|
case SubstitutionErrorType.unequalTypification:
|
|||
|
return `Ошибка ${error.params[0]} -> ${error.params[1]}: типизация структурных операндов не совпадает`;
|
|||
|
case SubstitutionErrorType.unequalArgsCount:
|
|||
|
return `Ошибка ${error.params[0]} -> ${error.params[1]}: количество аргументов не совпадает`;
|
|||
|
case SubstitutionErrorType.unequalArgs:
|
|||
|
return `Ошибка ${error.params[0]} -> ${error.params[1]}: типизация аргументов не совпадает`;
|
|||
|
case SubstitutionErrorType.unequalExpressions:
|
|||
|
return `Предупреждение ${error.params[0]} -> ${error.params[1]}: определения понятий не совпадают`;
|
|||
|
}
|
|||
|
return 'UNKNOWN ERROR';
|
|||
|
}
|