From b07734ad7711f403534b818eb6d5d6dad7a8803e Mon Sep 17 00:00:00 2001 From: undefined Date: Fri, 5 Jan 2024 20:00:18 +0800 Subject: [PATCH] core: fix things with stupid esbuild --- packages/hydrooj/src/error.ts | 42 ++++++++++++++++-------------- packages/hydrooj/src/model/task.ts | 2 +- packages/utils/lib/register.js | 4 +++ 3 files changed, 28 insertions(+), 20 deletions(-) diff --git a/packages/hydrooj/src/error.ts b/packages/hydrooj/src/error.ts index 198a4495b..8578c314d 100644 --- a/packages/hydrooj/src/error.ts +++ b/packages/hydrooj/src/error.ts @@ -5,25 +5,6 @@ interface IHydroError { new(...args: any[]): HydroError } -const Err = (name: string, Class: IHydroError, ...info: Array<(() => string) | string | number>) => { - let msg: () => string; - let code: number; - for (const item of info) { - if (typeof item === 'number') { - code = item; - } else if (typeof item === 'string') { - msg = function () { return item; }; - } else if (typeof item === 'function') { - msg = item; - } - } - const HydroError = class extends Class { }; - HydroError.prototype.name = name; - if (msg) HydroError.prototype.msg = msg; - if (code) HydroError.prototype.code = code; - return HydroError; -}; - export class HydroError extends Error { params: any[]; code: number; @@ -42,6 +23,29 @@ export class HydroError extends Error { } } +const Err = (name: string, Class: IHydroError, ...info: Array<(() => string) | string | number>) => { + let msg: () => string; + let code: number; + for (const item of info) { + if (typeof item === 'number') { + code = item; + } else if (typeof item === 'string') { + msg = function () { return item; }; + } else if (typeof item === 'function') { + msg = item; + } + } + // eslint-disable-next-line @typescript-eslint/no-shadow + return class HydroError extends Class { + name = name; + constructor(...args: any[]) { + super(...args); + if (msg) this.msg = msg; + if (code) this.code = code; + } + }; +}; + export const UserFacingError = Err('UserFacingError', HydroError, 'UserFacingError', 400); export const SystemError = Err('SystemError', HydroError, 'SystemError', 500); diff --git a/packages/hydrooj/src/model/task.ts b/packages/hydrooj/src/model/task.ts index 4bc3c498e..5adb9f959 100644 --- a/packages/hydrooj/src/model/task.ts +++ b/packages/hydrooj/src/model/task.ts @@ -95,7 +95,7 @@ class TaskModel { static getFirst = getFirst; - static async consume(query: any, cb: Function, destoryOnError = true) { + static consume(query: any, cb: Function, destoryOnError = true) { return new Consumer(query, cb, destoryOnError); } } diff --git a/packages/utils/lib/register.js b/packages/utils/lib/register.js index 55e79a168..2f97e4656 100644 --- a/packages/utils/lib/register.js +++ b/packages/utils/lib/register.js @@ -36,6 +36,10 @@ function transform(filename) { }); if (result.warnings.length) console.warn(result.warnings); map[filename] = result.map; + if (process.env.LOADER_DUMP_CODE && filename.endsWith(`/${process.env.LOADER_DUMP_CODE}`)) { + console.log(`-----${filename}-----`); + console.log(result.code.split('/# sourceMappingURL=')[0]); + } return result.code; } const _script = new vm.Script('"Hydro"', { produceCachedData: true });