UNPKG

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