UNPKG

2.68 kBTypeScriptView Raw
1import { APIResponse, APIResponsePageTokenMeta, APIResponseSuccess, ContentType, HttpMethod, IClient, IConfig, IPaginator, PagePaginatorState, PaginateArgs, PaginatorDeps, PaginatorGuard, PaginatorRequestGenerator, ResourceClientRequestModifiers, Response, SuperAgentError, TokenPaginatorState } from '../definitions';
2import { FatalException } from './errors';
3export declare type SuperAgentRequest = import('superagent').SuperAgentRequest;
4export declare type SuperAgentResponse = import('superagent').Response;
5export declare const ERROR_UNKNOWN_CONTENT_TYPE = "UNKNOWN_CONTENT_TYPE";
6export declare const ERROR_UNKNOWN_RESPONSE_FORMAT = "UNKNOWN_RESPONSE_FORMAT";
7export declare class Client implements IClient {
8 config: IConfig;
9 constructor(config: IConfig);
10 make(method: HttpMethod, path: string, contentType?: ContentType): Promise<{
11 req: SuperAgentRequest;
12 }>;
13 do(req: SuperAgentRequest): Promise<APIResponseSuccess>;
14 paginate<T extends Response<object[]>>(args: PaginateArgs<T>): IPaginator<T>;
15}
16export declare class Paginator<T extends Response<object[]>> implements IPaginator<T, PagePaginatorState> {
17 protected client: IClient;
18 protected reqgen: PaginatorRequestGenerator;
19 protected guard: PaginatorGuard<T>;
20 protected max?: number;
21 readonly state: PagePaginatorState;
22 constructor({ client, reqgen, guard, state, max }: PaginatorDeps<T, PagePaginatorState>);
23 next(): IteratorResult<Promise<T>>;
24 [Symbol.iterator](): this;
25}
26export declare class TokenPaginator<T extends Response<object[]>> implements IPaginator<T, TokenPaginatorState> {
27 protected client: IClient;
28 protected reqgen: PaginatorRequestGenerator;
29 protected guard: PaginatorGuard<T>;
30 protected max?: number;
31 readonly state: TokenPaginatorState;
32 constructor({ client, reqgen, guard, state, max }: PaginatorDeps<T, TokenPaginatorState>);
33 next(): IteratorResult<Promise<T>>;
34 isPageTokenResponseMeta(meta: any): meta is APIResponsePageTokenMeta;
35 [Symbol.iterator](): this;
36}
37export declare abstract class ResourceClient {
38 protected applyModifiers(req: import('superagent').Request, modifiers?: ResourceClientRequestModifiers): void;
39 protected applyAuthentication(req: import('superagent').Request, token: string): void;
40}
41export declare function transformAPIResponse(r: SuperAgentResponse): APIResponse;
42export declare function createFatalAPIFormat(req: SuperAgentRequest, res: APIResponse): FatalException;
43export declare function formatSuperAgentError(e: SuperAgentError): string;
44export declare function formatResponseError(req: SuperAgentRequest, status?: number, body?: object | string): string;