Promise
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user