mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +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",
|
"name": "@hydrooj/hydrojudge",
|
||||||
"bin": "bin/hydrojudge.js",
|
"bin": "bin/hydrojudge.js",
|
||||||
"version": "2.3.17",
|
"version": "2.3.18",
|
||||||
"main": "package.json",
|
"main": "package.json",
|
||||||
"author": "undefined <i@undefined.moe>",
|
"author": "undefined <i@undefined.moe>",
|
||||||
"repository": "https://github.com/hydro-dev/Hydro.git",
|
"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 readCases from '../cases';
|
||||||
import judge from '../judge';
|
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 {
|
class JudgeTask {
|
||||||
stat: Record<string, Date>;
|
stat: Record<string, Date>;
|
||||||
session: any;
|
session: any;
|
||||||
@@ -118,14 +131,14 @@ class JudgeTask {
|
|||||||
delete data.message;
|
delete data.message;
|
||||||
}
|
}
|
||||||
if (data.judge_text && typeof data.judge_text !== 'string') {
|
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) {
|
if (data.case?.message !== undefined) {
|
||||||
data.case.judge_text = data.case.message;
|
data.case.judge_text = data.case.message;
|
||||||
delete data.case.message;
|
delete data.case.message;
|
||||||
}
|
}
|
||||||
if (data.case?.judge_text && typeof data.case?.judge_text !== 'string') {
|
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.key = 'next';
|
||||||
data.tag = this.tag;
|
data.tag = this.tag;
|
||||||
|
|||||||
Reference in new issue
Block a user