UNPKG

1.83 kBTypeScriptView Raw
1import { Connection, Callback } from '../connection';
2import { Query } from '../query';
3import { Stream } from 'stream';
4
5interface BatchRequestParams extends RequestParams {
6 method: string;
7 url: string;
8 richInput?: string | undefined;
9}
10
11interface BatchRequestResult {
12 statusCode: string;
13 result: RequestResult;
14}
15
16interface BatchRequestResults {
17 hasError: boolean;
18 results: BatchRequestResult[];
19}
20
21interface RequestParams {
22 method: string;
23 url: string;
24 body?: string | undefined;
25}
26
27export class RequestResult {}
28
29export class Request<T> implements PromiseLike<T> {
30 constructor(chatter: Chatter, params: RequestParams);
31
32 batchParams(): BatchRequestParams;
33
34 promise(): Promise<T>;
35
36 stream(): Stream;
37
38 then<TResult1, TResult2>(
39 onfulfilled?: ((value: T) => PromiseLike<TResult1> | TResult1) | null,
40 onrejected?: ((reason: any) => PromiseLike<TResult2> | TResult2) | null,
41 ): Promise<TResult1 | TResult2>;
42
43 finally(onfinally?: () => void): Promise<T>;
44
45 thenCall(callback?: (err: Error, records: T) => void): Query<T>;
46}
47
48export class Resource<T> extends Request<T> {
49 constructor(chatter: Chatter, url: string, queryParams?: object);
50
51 create(data: object | string, callback?: Callback<T>): Request<T>;
52
53 del(callback?: Callback<T>): Request<T>;
54
55 delete(callback?: Callback<T>): Request<T>;
56
57 retrieve(callback?: Callback<T>): Request<T>;
58
59 update(data: object, callback?: Callback<T>): Request<T>;
60}
61
62export class Chatter {
63 constructor(conn: Connection);
64
65 batch(callback?: Callback<BatchRequestResults>): Promise<BatchRequestResults>;
66
67 request(params: RequestParams, callback?: Callback<Request<RequestResult>>): Request<RequestResult>;
68
69 resource(url: string, queryParams?: object): Resource<RequestResult>;
70}