1 | import { Stream } from "stream";
|
2 | import { Callback, Connection } from "../connection";
|
3 | import { Query } from "../query";
|
4 |
|
5 | interface BatchRequestParams extends RequestParams {
|
6 | method: string;
|
7 | url: string;
|
8 | richInput?: string | undefined;
|
9 | }
|
10 |
|
11 | interface BatchRequestResult {
|
12 | statusCode: string;
|
13 | result: RequestResult;
|
14 | }
|
15 |
|
16 | interface BatchRequestResults {
|
17 | hasError: boolean;
|
18 | results: BatchRequestResult[];
|
19 | }
|
20 |
|
21 | interface RequestParams {
|
22 | method: string;
|
23 | url: string;
|
24 | body?: string | undefined;
|
25 | }
|
26 |
|
27 | export class RequestResult {}
|
28 |
|
29 | export 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 |
|
48 | export 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 |
|
62 | export 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 | }
|