mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-17 09:36:08 +08:00
judge: add format func
This commit is contained in:
1 parent
07d7a38a1b
commit
e9268e120e
2 files changed
+16
-3
No files matched your search
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@hydrooj/hydrojudge",
|
||||
"bin": "bin/hydrojudge.js",
|
||||
"version": "2.3.17",
|
||||
"version": "2.3.18",
|
||||
"main": "package.json",
|
||||
"author": "undefined <i@undefined.moe>",
|
||||
"repository": "https://github.com/hydro-dev/Hydro.git",
|
||||
|
||||
@@ -14,6 +14,19 @@ import { STATUS_COMPILE_ERROR, STATUS_SYSTEM_ERROR } from '../status';
|
||||
import readCases from '../cases';
|
||||
import judge from '../judge';
|
||||
|
||||
function formatStr(content: string, ...args) {
|
||||
let result = content;
|
||||
if (args.length > 0) {
|
||||
for (const key in args) {
|
||||
if (args[key] !== undefined) {
|
||||
const reg = new RegExp(`(\\{${key}\\})`, 'g');
|
||||
result = result.replace(reg, args[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
class JudgeTask {
|
||||
stat: Record<string, Date>;
|
||||
session: any;
|
||||
@@ -118,14 +131,14 @@ class JudgeTask {
|
||||
delete data.message;
|
||||
}
|
||||
if (data.judge_text && typeof data.judge_text !== 'string') {
|
||||
data.judge_text = `${data.judge_text.message} ${JSON.stringify(data.judge_text.params || {})}`;
|
||||
data.judge_text = formatStr(data.judge_text.message, ...data.judge_text.params);
|
||||
}
|
||||
if (data.case?.message !== undefined) {
|
||||
data.case.judge_text = data.case.message;
|
||||
delete data.case.message;
|
||||
}
|
||||
if (data.case?.judge_text && typeof data.case?.judge_text !== 'string') {
|
||||
data.case.judge_text = `${data.case.judge_text.message} ${JSON.stringify(data.case.judge_text.params || {})}`;
|
||||
data.case.judge_text = formatStr(data.case.judge_text.message, ...data.case.judge_text.params);
|
||||
}
|
||||
data.key = 'next';
|
||||
data.tag = this.tag;
|
||||
|
||||
Reference in new issue
Block a user