api-simplex-handler
Version:
一个api封装解析器
48 lines (47 loc) • 2.25 kB
TypeScript
import { IApiHandler } from "./IApiHandler";
import { IApiParamsCollection } from "./IApiParamsCollection";
import { IApi } from "./IApi";
import { ExceptionFunction, ExpectFunction, FailFunction, GeneralObject, ObjectMapping, ResolveParams, ResponseHandlerDefineFunction, ResponseHandlerFunction, SendHandlerResponse, SuccessFunction } from "./TypeDefine";
import { ISendResponse } from "./ISendResponse";
declare abstract class ApiHandler<T extends IApi> implements IApiHandler<T['params']> {
api: T;
expect: ExpectFunction;
success: SuccessFunction;
exception: ExceptionFunction;
fail: FailFunction;
private cache;
private argsQueue;
private limitSet;
private beforeList;
private afterList;
private guardList;
private completeList;
getURL(): string;
composeURL(args: ResolveParams<T['params']>): string;
protected constructor(api: T, responseHandlerDefineFunction: ResponseHandlerDefineFunction);
private analysisHanger;
abstract send(args: ResolveParams<T['params']>): Promise<ISendResponse<any>>;
clearCache(): void;
private saveCacheHandler;
private cacheHandler;
sendNotSuccessTips(args: ResolveParams<T['params']>): Promise<SendHandlerResponse>;
private startNext;
private sendLimit;
private hangerBefore;
private hangerComplete;
private hangerAfter;
private hangerGuard;
sendHandler(args: ResolveParams<T['params']>, responseHandlerFunction?: ResponseHandlerFunction): Promise<SendHandlerResponse>;
protected processResponse(define: Function, custom: Function | undefined | null, ...args: any[]): void;
private static filteredData;
static toQueryString(data: GeneralObject): string;
static toPathString(data: GeneralObject): string;
static paramsToObject(params: string[], args: ObjectMapping<string, any>): ObjectMapping<string, any>;
static assemblyParameters(params: string[], args: ObjectMapping<string, any> | undefined, api: IApi): string | ObjectMapping<string, any> | undefined;
static assemblyParametersToUnion(params: IApiParamsCollection, args: ObjectMapping<string, any> | undefined, api: IApi): {
body: {};
query: string;
path: string;
};
}
export { ApiHandler };