@zavudev/sdk 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/client.d.mts +17 -8
- package/client.d.mts.map +1 -1
- package/client.d.ts +17 -8
- package/client.d.ts.map +1 -1
- package/client.js +11 -0
- package/client.js.map +1 -1
- package/client.mjs +11 -0
- package/client.mjs.map +1 -1
- package/core/pagination.d.mts +54 -0
- package/core/pagination.d.mts.map +1 -0
- package/core/pagination.d.ts +54 -0
- package/core/pagination.d.ts.map +1 -0
- package/core/pagination.js +101 -0
- package/core/pagination.js.map +1 -0
- package/core/pagination.mjs +95 -0
- package/core/pagination.mjs.map +1 -0
- package/index.d.mts +1 -0
- package/index.d.mts.map +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/index.mjs +1 -0
- package/index.mjs.map +1 -1
- package/package.json +11 -1
- package/pagination.d.mts +2 -0
- package/pagination.d.mts.map +1 -0
- package/pagination.d.ts +2 -0
- package/pagination.d.ts.map +1 -0
- package/pagination.js +6 -0
- package/pagination.js.map +1 -0
- package/pagination.mjs +2 -0
- package/pagination.mjs.map +1 -0
- package/resources/broadcasts/broadcasts.d.mts +361 -0
- package/resources/broadcasts/broadcasts.d.mts.map +1 -0
- package/resources/broadcasts/broadcasts.d.ts +361 -0
- package/resources/broadcasts/broadcasts.d.ts.map +1 -0
- package/resources/broadcasts/broadcasts.js +131 -0
- package/resources/broadcasts/broadcasts.js.map +1 -0
- package/resources/broadcasts/broadcasts.mjs +126 -0
- package/resources/broadcasts/broadcasts.mjs.map +1 -0
- package/resources/broadcasts/contacts.d.mts +120 -0
- package/resources/broadcasts/contacts.d.mts.map +1 -0
- package/resources/broadcasts/contacts.d.ts +120 -0
- package/resources/broadcasts/contacts.d.ts.map +1 -0
- package/resources/broadcasts/contacts.js +76 -0
- package/resources/broadcasts/contacts.js.map +1 -0
- package/resources/broadcasts/contacts.mjs +72 -0
- package/resources/broadcasts/contacts.mjs.map +1 -0
- package/resources/broadcasts/index.d.mts +3 -0
- package/resources/broadcasts/index.d.mts.map +1 -0
- package/resources/broadcasts/index.d.ts +3 -0
- package/resources/broadcasts/index.d.ts.map +1 -0
- package/resources/broadcasts/index.js +9 -0
- package/resources/broadcasts/index.js.map +1 -0
- package/resources/broadcasts/index.mjs +4 -0
- package/resources/broadcasts/index.mjs.map +1 -0
- package/resources/broadcasts.d.mts +2 -0
- package/resources/broadcasts.d.mts.map +1 -0
- package/resources/broadcasts.d.ts +2 -0
- package/resources/broadcasts.d.ts.map +1 -0
- package/resources/broadcasts.js +6 -0
- package/resources/broadcasts.js.map +1 -0
- package/resources/broadcasts.mjs +3 -0
- package/resources/broadcasts.mjs.map +1 -0
- package/resources/contacts.d.mts +5 -9
- package/resources/contacts.d.mts.map +1 -1
- package/resources/contacts.d.ts +5 -9
- package/resources/contacts.d.ts.map +1 -1
- package/resources/contacts.js +2 -1
- package/resources/contacts.js.map +1 -1
- package/resources/contacts.mjs +2 -1
- package/resources/contacts.mjs.map +1 -1
- package/resources/index.d.mts +5 -4
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +5 -4
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +3 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +1 -0
- package/resources/index.mjs.map +1 -1
- package/resources/messages.d.mts +9 -10
- package/resources/messages.d.mts.map +1 -1
- package/resources/messages.d.ts +9 -10
- package/resources/messages.d.ts.map +1 -1
- package/resources/messages.js +6 -2
- package/resources/messages.js.map +1 -1
- package/resources/messages.mjs +6 -2
- package/resources/messages.mjs.map +1 -1
- package/resources/senders.d.mts +5 -9
- package/resources/senders.d.mts.map +1 -1
- package/resources/senders.d.ts +5 -9
- package/resources/senders.d.ts.map +1 -1
- package/resources/senders.js +2 -1
- package/resources/senders.js.map +1 -1
- package/resources/senders.mjs +2 -1
- package/resources/senders.mjs.map +1 -1
- package/resources/templates.d.mts +9 -10
- package/resources/templates.d.mts.map +1 -1
- package/resources/templates.d.ts +9 -10
- package/resources/templates.d.ts.map +1 -1
- package/resources/templates.js +6 -2
- package/resources/templates.js.map +1 -1
- package/resources/templates.mjs +6 -2
- package/resources/templates.mjs.map +1 -1
- package/src/client.ts +77 -8
- package/src/core/pagination.ts +152 -0
- package/src/index.ts +1 -0
- package/src/pagination.ts +2 -0
- package/src/resources/broadcasts/broadcasts.ts +519 -0
- package/src/resources/broadcasts/contacts.ts +160 -0
- package/src/resources/broadcasts/index.ts +31 -0
- package/src/resources/broadcasts.ts +3 -0
- package/src/resources/contacts.ts +7 -14
- package/src/resources/index.ts +26 -4
- package/src/resources/messages.ts +11 -15
- package/src/resources/senders.ts +7 -14
- package/src/resources/templates.ts +11 -15
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/resources/templates.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/resources/templates.ts"],"names":[],"mappings":"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"}
|
package/resources/templates.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.Templates = void 0;
|
|
5
5
|
const resource_1 = require("../core/resource.js");
|
|
6
|
+
const pagination_1 = require("../core/pagination.js");
|
|
6
7
|
const headers_1 = require("../internal/headers.js");
|
|
7
8
|
const path_1 = require("../internal/utils/path.js");
|
|
8
9
|
class Templates extends resource_1.APIResource {
|
|
@@ -42,11 +43,14 @@ class Templates extends resource_1.APIResource {
|
|
|
42
43
|
*
|
|
43
44
|
* @example
|
|
44
45
|
* ```ts
|
|
45
|
-
*
|
|
46
|
+
* // Automatically fetches more pages as needed.
|
|
47
|
+
* for await (const template of client.templates.list()) {
|
|
48
|
+
* // ...
|
|
49
|
+
* }
|
|
46
50
|
* ```
|
|
47
51
|
*/
|
|
48
52
|
list(query = {}, options) {
|
|
49
|
-
return this._client.
|
|
53
|
+
return this._client.getAPIList('/v1/templates', (pagination_1.Cursor), { query, ...options });
|
|
50
54
|
}
|
|
51
55
|
/**
|
|
52
56
|
* Delete template
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/resources/templates.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAE/C,oDAAmD;AAEnD,oDAA8C;AAE9C,MAAa,SAAU,SAAQ,sBAAW;IACxC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAA0B,EAAE,OAAwB;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,UAAkB,EAAE,OAAwB;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,iBAAiB,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/resources/templates.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAE/C,sDAA4E;AAC5E,oDAAmD;AAEnD,oDAA8C;AAE9C,MAAa,SAAU,SAAQ,sBAAW;IACxC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAA0B,EAAE,OAAwB;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,UAAkB,EAAE,OAAwB;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,iBAAiB,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CACF,QAA+C,EAAE,EACjD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAA,mBAAgB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAkB,EAAE,OAAwB;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,iBAAiB,UAAU,EAAE,EAAE;YAC5D,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF;AAlED,8BAkEC"}
|
package/resources/templates.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
import { APIResource } from "../core/resource.mjs";
|
|
3
|
+
import { Cursor } from "../core/pagination.mjs";
|
|
3
4
|
import { buildHeaders } from "../internal/headers.mjs";
|
|
4
5
|
import { path } from "../internal/utils/path.mjs";
|
|
5
6
|
export class Templates extends APIResource {
|
|
@@ -39,11 +40,14 @@ export class Templates extends APIResource {
|
|
|
39
40
|
*
|
|
40
41
|
* @example
|
|
41
42
|
* ```ts
|
|
42
|
-
*
|
|
43
|
+
* // Automatically fetches more pages as needed.
|
|
44
|
+
* for await (const template of client.templates.list()) {
|
|
45
|
+
* // ...
|
|
46
|
+
* }
|
|
43
47
|
* ```
|
|
44
48
|
*/
|
|
45
49
|
list(query = {}, options) {
|
|
46
|
-
return this._client.
|
|
50
|
+
return this._client.getAPIList('/v1/templates', (Cursor), { query, ...options });
|
|
47
51
|
}
|
|
48
52
|
/**
|
|
49
53
|
* Delete template
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.mjs","sourceRoot":"","sources":["../src/resources/templates.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,SAAU,SAAQ,WAAW;IACxC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAA0B,EAAE,OAAwB;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,UAAkB,EAAE,OAAwB;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,iBAAiB,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"templates.mjs","sourceRoot":"","sources":["../src/resources/templates.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EAAE,MAAM,EAAkC;OAC1C,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,SAAU,SAAQ,WAAW;IACxC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAA0B,EAAE,OAAwB;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,UAAkB,EAAE,OAAwB;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,iBAAiB,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CACF,QAA+C,EAAE,EACjD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAA,MAAgB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAkB,EAAE,OAAwB;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,iBAAiB,UAAU,EAAE,EAAE;YAC5D,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/src/client.ts
CHANGED
|
@@ -13,15 +13,17 @@ import * as Shims from './internal/shims';
|
|
|
13
13
|
import * as Opts from './internal/request-options';
|
|
14
14
|
import { VERSION } from './version';
|
|
15
15
|
import * as Errors from './core/error';
|
|
16
|
+
import * as Pagination from './core/pagination';
|
|
17
|
+
import { AbstractPage, type CursorParams, CursorResponse } from './core/pagination';
|
|
16
18
|
import * as Uploads from './core/uploads';
|
|
17
19
|
import * as API from './resources/index';
|
|
18
20
|
import { APIPromise } from './core/api-promise';
|
|
19
21
|
import {
|
|
20
22
|
Contact,
|
|
21
23
|
ContactListParams,
|
|
22
|
-
ContactListResponse,
|
|
23
24
|
ContactUpdateParams,
|
|
24
25
|
Contacts,
|
|
26
|
+
ContactsCursor,
|
|
25
27
|
} from './resources/contacts';
|
|
26
28
|
import {
|
|
27
29
|
Introspect,
|
|
@@ -34,30 +36,51 @@ import {
|
|
|
34
36
|
Message,
|
|
35
37
|
MessageContent,
|
|
36
38
|
MessageListParams,
|
|
37
|
-
MessageListResponse,
|
|
38
39
|
MessageReactParams,
|
|
39
40
|
MessageResponse,
|
|
40
41
|
MessageSendParams,
|
|
41
42
|
MessageStatus,
|
|
42
43
|
MessageType,
|
|
43
44
|
Messages,
|
|
45
|
+
MessagesCursor,
|
|
44
46
|
} from './resources/messages';
|
|
45
47
|
import {
|
|
46
48
|
Sender,
|
|
47
49
|
SenderCreateParams,
|
|
48
50
|
SenderListParams,
|
|
49
|
-
SenderListResponse,
|
|
50
51
|
SenderUpdateParams,
|
|
51
52
|
Senders,
|
|
53
|
+
SendersCursor,
|
|
52
54
|
} from './resources/senders';
|
|
53
55
|
import {
|
|
54
56
|
Template,
|
|
55
57
|
TemplateCreateParams,
|
|
56
58
|
TemplateListParams,
|
|
57
|
-
TemplateListResponse,
|
|
58
59
|
Templates,
|
|
60
|
+
TemplatesCursor,
|
|
59
61
|
WhatsappCategory,
|
|
60
62
|
} from './resources/templates';
|
|
63
|
+
import {
|
|
64
|
+
Broadcast,
|
|
65
|
+
BroadcastCancelResponse,
|
|
66
|
+
BroadcastChannel,
|
|
67
|
+
BroadcastContact,
|
|
68
|
+
BroadcastContactStatus,
|
|
69
|
+
BroadcastContent,
|
|
70
|
+
BroadcastCreateParams,
|
|
71
|
+
BroadcastCreateResponse,
|
|
72
|
+
BroadcastListParams,
|
|
73
|
+
BroadcastMessageType,
|
|
74
|
+
BroadcastProgress,
|
|
75
|
+
BroadcastRetrieveResponse,
|
|
76
|
+
BroadcastSendParams,
|
|
77
|
+
BroadcastSendResponse,
|
|
78
|
+
BroadcastStatus,
|
|
79
|
+
BroadcastUpdateParams,
|
|
80
|
+
BroadcastUpdateResponse,
|
|
81
|
+
Broadcasts,
|
|
82
|
+
BroadcastsCursor,
|
|
83
|
+
} from './resources/broadcasts/broadcasts';
|
|
61
84
|
import { type Fetch } from './internal/builtin-types';
|
|
62
85
|
import { HeadersLike, NullableHeaders, buildHeaders } from './internal/headers';
|
|
63
86
|
import { FinalRequestOptions, RequestOptions } from './internal/request-options';
|
|
@@ -523,6 +546,25 @@ export class Zavudev {
|
|
|
523
546
|
return { response, options, controller, requestLogID, retryOfRequestLogID, startTime };
|
|
524
547
|
}
|
|
525
548
|
|
|
549
|
+
getAPIList<Item, PageClass extends Pagination.AbstractPage<Item> = Pagination.AbstractPage<Item>>(
|
|
550
|
+
path: string,
|
|
551
|
+
Page: new (...args: any[]) => PageClass,
|
|
552
|
+
opts?: RequestOptions,
|
|
553
|
+
): Pagination.PagePromise<PageClass, Item> {
|
|
554
|
+
return this.requestAPIList(Page, { method: 'get', path, ...opts });
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
requestAPIList<
|
|
558
|
+
Item = unknown,
|
|
559
|
+
PageClass extends Pagination.AbstractPage<Item> = Pagination.AbstractPage<Item>,
|
|
560
|
+
>(
|
|
561
|
+
Page: new (...args: ConstructorParameters<typeof Pagination.AbstractPage>) => PageClass,
|
|
562
|
+
options: FinalRequestOptions,
|
|
563
|
+
): Pagination.PagePromise<PageClass, Item> {
|
|
564
|
+
const request = this.makeRequest(options, null, undefined);
|
|
565
|
+
return new Pagination.PagePromise<PageClass, Item>(this as any as Zavudev, request, Page);
|
|
566
|
+
}
|
|
567
|
+
|
|
526
568
|
async fetchWithTimeout(
|
|
527
569
|
url: RequestInfo,
|
|
528
570
|
init: RequestInit | undefined,
|
|
@@ -759,6 +801,7 @@ export class Zavudev {
|
|
|
759
801
|
templates: API.Templates = new API.Templates(this);
|
|
760
802
|
senders: API.Senders = new API.Senders(this);
|
|
761
803
|
contacts: API.Contacts = new API.Contacts(this);
|
|
804
|
+
broadcasts: API.Broadcasts = new API.Broadcasts(this);
|
|
762
805
|
introspect: API.Introspect = new API.Introspect(this);
|
|
763
806
|
}
|
|
764
807
|
|
|
@@ -766,11 +809,15 @@ Zavudev.Messages = Messages;
|
|
|
766
809
|
Zavudev.Templates = Templates;
|
|
767
810
|
Zavudev.Senders = Senders;
|
|
768
811
|
Zavudev.Contacts = Contacts;
|
|
812
|
+
Zavudev.Broadcasts = Broadcasts;
|
|
769
813
|
Zavudev.Introspect = Introspect;
|
|
770
814
|
|
|
771
815
|
export declare namespace Zavudev {
|
|
772
816
|
export type RequestOptions = Opts.RequestOptions;
|
|
773
817
|
|
|
818
|
+
export import Cursor = Pagination.Cursor;
|
|
819
|
+
export { type CursorParams as CursorParams, type CursorResponse as CursorResponse };
|
|
820
|
+
|
|
774
821
|
export {
|
|
775
822
|
Messages as Messages,
|
|
776
823
|
type Channel as Channel,
|
|
@@ -779,7 +826,7 @@ export declare namespace Zavudev {
|
|
|
779
826
|
type MessageResponse as MessageResponse,
|
|
780
827
|
type MessageStatus as MessageStatus,
|
|
781
828
|
type MessageType as MessageType,
|
|
782
|
-
type
|
|
829
|
+
type MessagesCursor as MessagesCursor,
|
|
783
830
|
type MessageListParams as MessageListParams,
|
|
784
831
|
type MessageReactParams as MessageReactParams,
|
|
785
832
|
type MessageSendParams as MessageSendParams,
|
|
@@ -789,7 +836,7 @@ export declare namespace Zavudev {
|
|
|
789
836
|
Templates as Templates,
|
|
790
837
|
type Template as Template,
|
|
791
838
|
type WhatsappCategory as WhatsappCategory,
|
|
792
|
-
type
|
|
839
|
+
type TemplatesCursor as TemplatesCursor,
|
|
793
840
|
type TemplateCreateParams as TemplateCreateParams,
|
|
794
841
|
type TemplateListParams as TemplateListParams,
|
|
795
842
|
};
|
|
@@ -797,7 +844,7 @@ export declare namespace Zavudev {
|
|
|
797
844
|
export {
|
|
798
845
|
Senders as Senders,
|
|
799
846
|
type Sender as Sender,
|
|
800
|
-
type
|
|
847
|
+
type SendersCursor as SendersCursor,
|
|
801
848
|
type SenderCreateParams as SenderCreateParams,
|
|
802
849
|
type SenderUpdateParams as SenderUpdateParams,
|
|
803
850
|
type SenderListParams as SenderListParams,
|
|
@@ -806,11 +853,33 @@ export declare namespace Zavudev {
|
|
|
806
853
|
export {
|
|
807
854
|
Contacts as Contacts,
|
|
808
855
|
type Contact as Contact,
|
|
809
|
-
type
|
|
856
|
+
type ContactsCursor as ContactsCursor,
|
|
810
857
|
type ContactUpdateParams as ContactUpdateParams,
|
|
811
858
|
type ContactListParams as ContactListParams,
|
|
812
859
|
};
|
|
813
860
|
|
|
861
|
+
export {
|
|
862
|
+
Broadcasts as Broadcasts,
|
|
863
|
+
type Broadcast as Broadcast,
|
|
864
|
+
type BroadcastChannel as BroadcastChannel,
|
|
865
|
+
type BroadcastContact as BroadcastContact,
|
|
866
|
+
type BroadcastContactStatus as BroadcastContactStatus,
|
|
867
|
+
type BroadcastContent as BroadcastContent,
|
|
868
|
+
type BroadcastMessageType as BroadcastMessageType,
|
|
869
|
+
type BroadcastProgress as BroadcastProgress,
|
|
870
|
+
type BroadcastStatus as BroadcastStatus,
|
|
871
|
+
type BroadcastCreateResponse as BroadcastCreateResponse,
|
|
872
|
+
type BroadcastRetrieveResponse as BroadcastRetrieveResponse,
|
|
873
|
+
type BroadcastUpdateResponse as BroadcastUpdateResponse,
|
|
874
|
+
type BroadcastCancelResponse as BroadcastCancelResponse,
|
|
875
|
+
type BroadcastSendResponse as BroadcastSendResponse,
|
|
876
|
+
type BroadcastsCursor as BroadcastsCursor,
|
|
877
|
+
type BroadcastCreateParams as BroadcastCreateParams,
|
|
878
|
+
type BroadcastUpdateParams as BroadcastUpdateParams,
|
|
879
|
+
type BroadcastListParams as BroadcastListParams,
|
|
880
|
+
type BroadcastSendParams as BroadcastSendParams,
|
|
881
|
+
};
|
|
882
|
+
|
|
814
883
|
export {
|
|
815
884
|
Introspect as Introspect,
|
|
816
885
|
type LineType as LineType,
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { ZavudevError } from './error';
|
|
4
|
+
import { FinalRequestOptions } from '../internal/request-options';
|
|
5
|
+
import { defaultParseResponse } from '../internal/parse';
|
|
6
|
+
import { type Zavudev } from '../client';
|
|
7
|
+
import { APIPromise } from './api-promise';
|
|
8
|
+
import { type APIResponseProps } from '../internal/parse';
|
|
9
|
+
import { maybeObj } from '../internal/utils/values';
|
|
10
|
+
|
|
11
|
+
export type PageRequestOptions = Pick<FinalRequestOptions, 'query' | 'headers' | 'body' | 'path' | 'method'>;
|
|
12
|
+
|
|
13
|
+
export abstract class AbstractPage<Item> implements AsyncIterable<Item> {
|
|
14
|
+
#client: Zavudev;
|
|
15
|
+
protected options: FinalRequestOptions;
|
|
16
|
+
|
|
17
|
+
protected response: Response;
|
|
18
|
+
protected body: unknown;
|
|
19
|
+
|
|
20
|
+
constructor(client: Zavudev, response: Response, body: unknown, options: FinalRequestOptions) {
|
|
21
|
+
this.#client = client;
|
|
22
|
+
this.options = options;
|
|
23
|
+
this.response = response;
|
|
24
|
+
this.body = body;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
abstract nextPageRequestOptions(): PageRequestOptions | null;
|
|
28
|
+
|
|
29
|
+
abstract getPaginatedItems(): Item[];
|
|
30
|
+
|
|
31
|
+
hasNextPage(): boolean {
|
|
32
|
+
const items = this.getPaginatedItems();
|
|
33
|
+
if (!items.length) return false;
|
|
34
|
+
return this.nextPageRequestOptions() != null;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
async getNextPage(): Promise<this> {
|
|
38
|
+
const nextOptions = this.nextPageRequestOptions();
|
|
39
|
+
if (!nextOptions) {
|
|
40
|
+
throw new ZavudevError(
|
|
41
|
+
'No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.',
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return await this.#client.requestAPIList(this.constructor as any, nextOptions);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
async *iterPages(): AsyncGenerator<this> {
|
|
49
|
+
let page: this = this;
|
|
50
|
+
yield page;
|
|
51
|
+
while (page.hasNextPage()) {
|
|
52
|
+
page = await page.getNextPage();
|
|
53
|
+
yield page;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
async *[Symbol.asyncIterator](): AsyncGenerator<Item> {
|
|
58
|
+
for await (const page of this.iterPages()) {
|
|
59
|
+
for (const item of page.getPaginatedItems()) {
|
|
60
|
+
yield item;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* This subclass of Promise will resolve to an instantiated Page once the request completes.
|
|
68
|
+
*
|
|
69
|
+
* It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:
|
|
70
|
+
*
|
|
71
|
+
* for await (const item of client.items.list()) {
|
|
72
|
+
* console.log(item)
|
|
73
|
+
* }
|
|
74
|
+
*/
|
|
75
|
+
export class PagePromise<
|
|
76
|
+
PageClass extends AbstractPage<Item>,
|
|
77
|
+
Item = ReturnType<PageClass['getPaginatedItems']>[number],
|
|
78
|
+
>
|
|
79
|
+
extends APIPromise<PageClass>
|
|
80
|
+
implements AsyncIterable<Item>
|
|
81
|
+
{
|
|
82
|
+
constructor(
|
|
83
|
+
client: Zavudev,
|
|
84
|
+
request: Promise<APIResponseProps>,
|
|
85
|
+
Page: new (...args: ConstructorParameters<typeof AbstractPage>) => PageClass,
|
|
86
|
+
) {
|
|
87
|
+
super(
|
|
88
|
+
client,
|
|
89
|
+
request,
|
|
90
|
+
async (client, props) =>
|
|
91
|
+
new Page(client, props.response, await defaultParseResponse(client, props), props.options),
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Allow auto-paginating iteration on an unawaited list call, eg:
|
|
97
|
+
*
|
|
98
|
+
* for await (const item of client.items.list()) {
|
|
99
|
+
* console.log(item)
|
|
100
|
+
* }
|
|
101
|
+
*/
|
|
102
|
+
async *[Symbol.asyncIterator](): AsyncGenerator<Item> {
|
|
103
|
+
const page = await this;
|
|
104
|
+
for await (const item of page) {
|
|
105
|
+
yield item;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export interface CursorResponse<Item> {
|
|
111
|
+
items: Array<Item>;
|
|
112
|
+
|
|
113
|
+
nextCursor: string;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export interface CursorParams {
|
|
117
|
+
cursor?: string;
|
|
118
|
+
|
|
119
|
+
limit?: number;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export class Cursor<Item> extends AbstractPage<Item> implements CursorResponse<Item> {
|
|
123
|
+
items: Array<Item>;
|
|
124
|
+
|
|
125
|
+
nextCursor: string;
|
|
126
|
+
|
|
127
|
+
constructor(client: Zavudev, response: Response, body: CursorResponse<Item>, options: FinalRequestOptions) {
|
|
128
|
+
super(client, response, body, options);
|
|
129
|
+
|
|
130
|
+
this.items = body.items || [];
|
|
131
|
+
this.nextCursor = body.nextCursor || '';
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
getPaginatedItems(): Item[] {
|
|
135
|
+
return this.items ?? [];
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
nextPageRequestOptions(): PageRequestOptions | null {
|
|
139
|
+
const cursor = this.nextCursor;
|
|
140
|
+
if (!cursor) {
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
return {
|
|
145
|
+
...this.options,
|
|
146
|
+
query: {
|
|
147
|
+
...maybeObj(this.options.query),
|
|
148
|
+
cursor,
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -5,6 +5,7 @@ export { Zavudev as default } from './client';
|
|
|
5
5
|
export { type Uploadable, toFile } from './core/uploads';
|
|
6
6
|
export { APIPromise } from './core/api-promise';
|
|
7
7
|
export { Zavudev, type ClientOptions } from './client';
|
|
8
|
+
export { PagePromise } from './core/pagination';
|
|
8
9
|
export {
|
|
9
10
|
ZavudevError,
|
|
10
11
|
APIError,
|