diff --git a/helpers/Status.ts b/helpers/Status.ts index 7619fcb..cae5bc5 100644 --- a/helpers/Status.ts +++ b/helpers/Status.ts @@ -62,7 +62,7 @@ export const enum Status { } -export function getReasonPhrase(status: Status | number): string { +export function getReasonPhrase(status: number): string { switch (status) { case Status.S100_Continue: return 'Continue'; diff --git a/routers/MaskRouter.ts b/routers/MaskRouter.ts index 359162b..315a35c 100644 --- a/routers/MaskRouter.ts +++ b/routers/MaskRouter.ts @@ -143,7 +143,12 @@ export class MaskRouter extends Router implements IRouter { }; const name = groups.name; - const defaultValue = groups.defaultValue ?? null; + + const defaultValue = (v => { + if (v !== null && v !== '') return v; + return null; + })(groups.defaultValue?.trim() ?? null); + const expression = (v => { if (v !== null) { try { diff --git a/routers/RouterList.ts b/routers/RouterList.ts index fc15942..aa4bbbd 100644 --- a/routers/RouterList.ts +++ b/routers/RouterList.ts @@ -144,7 +144,7 @@ export class RouterList implements IRouter { } - setError(status: Status | number, serveResponse: ServeResponseType): void { + setError(status: number, serveResponse: ServeResponseType): void { if (Number.isInteger(status)) { throw new Error("Status must be integer."); } @@ -153,7 +153,7 @@ export class RouterList implements IRouter { } - async getErrorReponse(status: Status | number, req: Request, params: Record = {}): Promise { + async getErrorReponse(status: number, req: Request, params: Record = {}): Promise { const serveResponse = this.#errors.get(status); const phrase = getReasonPhrase(status); diff --git a/tests/MaskRouter.test.ts b/tests/MaskRouter.test.ts index 91238cc..692cc35 100644 --- a/tests/MaskRouter.test.ts +++ b/tests/MaskRouter.test.ts @@ -151,6 +151,12 @@ Deno.test("MaskRouter::parseParams", async () => { action: "default", }, }, + { + mask: "[]", + pathname: "", + expectation: { + }, + }, ];