This commit is contained in:
2023-08-08 13:20:44 +00:00
parent 507cba34eb
commit ff423189e9
+7 -5
View File
@@ -1,7 +1,9 @@
import { InvalidConversion } from "./base"; import { InvalidConversion } from "./base";
type MayBePromise<T> = T | Promise<T>;
export interface Converter<Out, In extends object = Record<string, never>> { export interface Converter<Out, In extends object = Record<string, never>> {
(inCtx: In, req: Request, res: Response): Out | InvalidConversion; (inCtx: In, req: Request, res: Response): MayBePromise<Out | InvalidConversion>;
} }
type Empty = Record<string, never>; type Empty = Record<string, never>;
@@ -74,16 +76,16 @@ r1.userLevel;
r2.userID; r2.userID;
function test(req: Request, res: Response){ async function test(req: Request, res: Response){
const a0 = ReqLogin()({}, req, res); const a0 = await ReqLogin()({}, req, res);
if('isInvalid' in a0){ if('isInvalid' in a0){
return false; return false;
} }
const a1 = ParseUserLevel()(a0, req, res); const a1 = await ParseUserLevel()(a0, req, res);
if('isInvalid' in a1){ if('isInvalid' in a1){
return false; return false;
} }
const a2 = ReqGameLogin()(a1, req, res); const a2 = await ReqGameLogin()(a1, req, res);
if('isInvalid' in a2){ if('isInvalid' in a2){
return false; return false;
} }