mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-19 09:38:19 +08:00
73 lines
2.7 KiB
TypeScript
73 lines
2.7 KiB
TypeScript
import { STATUS } from '@hydrooj/utils/lib/status';
|
|
|
|
export function normalize(key: string) {
|
|
return key.toUpperCase().replace(/ /g, '_');
|
|
}
|
|
|
|
export const VERDICT = new Proxy<Record<string, STATUS>>({
|
|
RUNTIME_ERROR: STATUS.STATUS_RUNTIME_ERROR,
|
|
WRONG_ANSWER: STATUS.STATUS_WRONG_ANSWER,
|
|
OK: STATUS.STATUS_ACCEPTED,
|
|
COMPILING: STATUS.STATUS_COMPILING,
|
|
TIME_LIMIT_EXCEEDED: STATUS.STATUS_TIME_LIMIT_EXCEEDED,
|
|
MEMORY_LIMIT_EXCEEDED: STATUS.STATUS_MEMORY_LIMIT_EXCEEDED,
|
|
IDLENESS_LIMIT_EXCEEDED: STATUS.STATUS_TIME_LIMIT_EXCEEDED,
|
|
ACCEPTED: STATUS.STATUS_ACCEPTED,
|
|
PRESENTATION_ERROR: STATUS.STATUS_WRONG_ANSWER,
|
|
OUTPUT_LIMIT_EXCEEDED: STATUS.STATUS_OUTPUT_LIMIT_EXCEEDED,
|
|
EXTRA_TEST_PASSED: STATUS.STATUS_ACCEPTED,
|
|
COMPILE_ERROR: STATUS.STATUS_COMPILE_ERROR,
|
|
'RUNNING_&_JUDGING': STATUS.STATUS_JUDGING,
|
|
|
|
// Codeforces
|
|
'HAPPY_NEW_YEAR!': STATUS.STATUS_ACCEPTED,
|
|
|
|
// Vjudge
|
|
QUEUEING: STATUS.STATUS_COMPILING,
|
|
PENDING: STATUS.STATUS_COMPILING,
|
|
SUBMITTED: STATUS.STATUS_COMPILING,
|
|
JUDGING: STATUS.STATUS_JUDGING,
|
|
AC: STATUS.STATUS_ACCEPTED,
|
|
WA: STATUS.STATUS_WRONG_ANSWER,
|
|
RE: STATUS.STATUS_RUNTIME_ERROR,
|
|
CE: STATUS.STATUS_COMPILE_ERROR,
|
|
PE: STATUS.STATUS_WRONG_ANSWER,
|
|
TLE: STATUS.STATUS_TIME_LIMIT_EXCEEDED,
|
|
MLE: STATUS.STATUS_MEMORY_LIMIT_EXCEEDED,
|
|
OLE: STATUS.STATUS_WRONG_ANSWER,
|
|
FAILED_OTHER: STATUS.STATUS_SYSTEM_ERROR,
|
|
SUBMIT_FAILED_PERM: STATUS.STATUS_SYSTEM_ERROR,
|
|
SUBMIT_FAILED_TEMP: STATUS.STATUS_SYSTEM_ERROR,
|
|
|
|
// HustOJ
|
|
等待: STATUS.STATUS_WAITING,
|
|
运行并评判: STATUS.STATUS_JUDGING,
|
|
编译成功: STATUS.STATUS_JUDGING,
|
|
RUNNING_JUDGING: STATUS.STATUS_JUDGING,
|
|
正确: STATUS.STATUS_ACCEPTED,
|
|
格式错误: STATUS.STATUS_WRONG_ANSWER,
|
|
答案错误: STATUS.STATUS_WRONG_ANSWER,
|
|
OUTPUT_LIMIT_EXCEED: STATUS.STATUS_WRONG_ANSWER,
|
|
输出超限: STATUS.STATUS_WRONG_ANSWER,
|
|
运行时错误: STATUS.STATUS_RUNTIME_ERROR,
|
|
DANGEROUS_SYSCALL: STATUS.STATUS_RUNTIME_ERROR,
|
|
TIME_LIMIT_EXCEED: STATUS.STATUS_TIME_LIMIT_EXCEEDED,
|
|
时间超限: STATUS.STATUS_TIME_LIMIT_EXCEEDED,
|
|
MEMORY_LIMIT_EXCEED: STATUS.STATUS_MEMORY_LIMIT_EXCEEDED,
|
|
内存超限: STATUS.STATUS_MEMORY_LIMIT_EXCEEDED,
|
|
COMPILATION_ERROR: STATUS.STATUS_COMPILE_ERROR,
|
|
编译错误: STATUS.STATUS_COMPILE_ERROR,
|
|
RF: STATUS.STATUS_SYSTEM_ERROR,
|
|
SYSTEM_ERROR: STATUS.STATUS_SYSTEM_ERROR,
|
|
SE: STATUS.STATUS_SYSTEM_ERROR,
|
|
未知错误: STATUS.STATUS_SYSTEM_ERROR,
|
|
}, {
|
|
get(self, key) {
|
|
if (typeof key === 'symbol') return null;
|
|
key = normalize(key);
|
|
if (STATUS[key]) return STATUS[key];
|
|
if (self[key]) return self[key];
|
|
return null;
|
|
},
|
|
});
|