안이쁜데

This commit is contained in:
2023-08-08 16:08:23 +00:00
parent bf35eb4c09
commit c7d0702e66
2 changed files with 19 additions and 9 deletions
+9 -3
View File
@@ -1,4 +1,4 @@
import { GET } from "../defs";
import { ngGET } from "../defs";
import type { structure } from "../../apiStructure/sammoRootAPI";
import type { ExtractError, ExtractQuery, ExtractResponse } from "../../apiStructure/defs";
@@ -7,11 +7,17 @@ type RType = ExtractResponse<BaseAPI>;
type EType = ExtractError<BaseAPI>;
type QType = ExtractQuery<BaseAPI>;
export class ReqNonce extends GET<RType, EType, QType>{
/*export class ReqNonce extends GET<RType, EType, QType>{
readonly argValidator = undefined;
readonly procDecorator = [] as const;
protected ReqNonce = Symbol("ReqNonce");//TODO: remove this
protected override async api(query: QType): Promise<RType | EType | true> {
throw new Error("Method not implemented.");
}
}
}*/
export const ReqNonce = ngGET<RType, EType, QType>(undefined)([] as const)(
(query, ctx, req, res) => {
throw new Error("Method not implemented.");
}
);
+10 -6
View File
@@ -208,12 +208,16 @@ function ngGenerateAPI<R extends ValidResponse, E extends InvalidResponse, Q ext
);
}
export function ngGET<R extends ValidResponse, E extends InvalidResponse, Q extends RawArgType, PD extends ProcDecoratorChain>(args: {
argValidator?: ValidatorType<Q>,
procDecoratorChain: PD,
callback: (query: Q, ctx: ResolveChain<PD>, expressReq: Request, expressRes: Response) => Promise<R | E | true>,
}): ngAPIExecuter<R, E, Q, PD>{
return ngGenerateAPI<R, E, Q, PD>('get', args);
export function ngGET<R extends ValidResponse, E extends InvalidResponse, Q extends RawArgType>(argValidator?: ValidatorType<Q>){
return <PD extends ProcDecoratorChain>(procDecoratorChain: PD) => {
return (callback: (query: Q, ctx: ResolveChain<PD>, expressReq: Request, expressRes: Response) => Promise<R | E | true>) => {
return ngGenerateAPI<R, E, Q, PD>('get', {
argValidator,
procDecoratorChain,
callback,
});
}
}
}
interface ngGET<R extends ValidResponse, E extends InvalidResponse, Q extends RawArgType, PD extends ProcDecoratorChain> extends ngAPIExecuter<R, E, Q, PD>{