Promise
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
import { InvalidConversion } from "./base";
|
||||
|
||||
type MayBePromise<T> = T | Promise<T>;
|
||||
|
||||
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>;
|
||||
@@ -74,16 +76,16 @@ r1.userLevel;
|
||||
r2.userID;
|
||||
|
||||
|
||||
function test(req: Request, res: Response){
|
||||
const a0 = ReqLogin()({}, req, res);
|
||||
async function test(req: Request, res: Response){
|
||||
const a0 = await ReqLogin()({}, req, res);
|
||||
if('isInvalid' in a0){
|
||||
return false;
|
||||
}
|
||||
const a1 = ParseUserLevel()(a0, req, res);
|
||||
const a1 = await ParseUserLevel()(a0, req, res);
|
||||
if('isInvalid' in a1){
|
||||
return false;
|
||||
}
|
||||
const a2 = ReqGameLogin()(a1, req, res);
|
||||
const a2 = await ReqGameLogin()(a1, req, res);
|
||||
if('isInvalid' in a2){
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user