From 14e0bebe798fe54af25a3faad59c7c4f4265741a Mon Sep 17 00:00:00 2001 From: undefined Date: Thu, 6 Oct 2022 03:04:13 +0800 Subject: [PATCH] core: update types --- packages/hydrooj/src/handler/problem.ts | 2 +- packages/hydrooj/src/service/server.ts | 4 ++-- packages/utils/lib/lang.ts | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/hydrooj/src/handler/problem.ts b/packages/hydrooj/src/handler/problem.ts index 89d5f5b6..b4b7b102 100644 --- a/packages/hydrooj/src/handler/problem.ts +++ b/packages/hydrooj/src/handler/problem.ts @@ -508,7 +508,7 @@ export class ProblemSubmitHandler extends ProblemDetailHandler { throw new BadRequestError('Language not allowed.'); } if (pretest) { - if (setting.langs[lang]?.pretest) lang = setting.langs[lang].pretest; + if (setting.langs[lang]?.pretest) lang = setting.langs[lang].pretest as string; if (setting.langs[lang]?.pretest === false) throw new BadRequestError('Cannot run pretest for this language.'); if (!['default', 'fileio', 'remote_judge'].includes(this.response.body.pdoc.config?.type)) { throw new BadRequestError('unable to run pretest'); diff --git a/packages/hydrooj/src/service/server.ts b/packages/hydrooj/src/service/server.ts index d6072387..14d653bf 100644 --- a/packages/hydrooj/src/service/server.ts +++ b/packages/hydrooj/src/service/server.ts @@ -277,8 +277,8 @@ async function handle(ctx: KoaContext, HandlerClass, checker) { } } catch (e) { try { - await bail(`handler/error/${HandlerClass.name.replace(/Handler$/, '')}`, h, e); - await bail('handler/error', h, e); + await serial(`handler/error/${HandlerClass.name.replace(/Handler$/, '')}`, h, e); + await serial('handler/error', h, e); await h.onerror(e); } catch (err) { h.response.code = 500; diff --git a/packages/utils/lib/lang.ts b/packages/utils/lib/lang.ts index 757ff5c5..593b9233 100644 --- a/packages/utils/lib/lang.ts +++ b/packages/utils/lib/lang.ts @@ -14,7 +14,8 @@ export interface LangConfig { hidden: boolean; analysis?: string; remote?: string; - pretest?: string; + pretest?: string | false; + comment?: string | [string, string]; } export function parseLang(config: string): Record {