increase 0.8.1 → 0.9.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 +23 -0
- package/README.md +29 -9
- package/_shims/fetch.d.ts +8 -1
- package/_shims/fetch.node.d.ts +11 -1
- package/core.d.ts +75 -27
- package/core.d.ts.map +1 -1
- package/core.js +112 -49
- package/core.js.map +1 -1
- package/core.mjs +108 -49
- package/core.mjs.map +1 -1
- package/package.json +1 -1
- package/pagination.d.ts +2 -2
- package/pagination.d.ts.map +1 -1
- package/pagination.js +4 -4
- package/pagination.js.map +1 -1
- package/pagination.mjs +4 -4
- package/pagination.mjs.map +1 -1
- package/resources/account-numbers.d.ts +8 -8
- package/resources/account-numbers.d.ts.map +1 -1
- package/resources/account-numbers.js.map +1 -1
- package/resources/account-numbers.mjs.map +1 -1
- package/resources/account-statements.d.ts +3 -6
- package/resources/account-statements.d.ts.map +1 -1
- package/resources/account-statements.js.map +1 -1
- package/resources/account-statements.mjs.map +1 -1
- package/resources/account-transfers.d.ts +6 -18
- package/resources/account-transfers.d.ts.map +1 -1
- package/resources/account-transfers.js.map +1 -1
- package/resources/account-transfers.mjs.map +1 -1
- package/resources/accounts.d.ts +6 -6
- package/resources/accounts.d.ts.map +1 -1
- package/resources/ach-prenotifications.d.ts +51 -7
- package/resources/ach-prenotifications.d.ts.map +1 -1
- package/resources/ach-prenotifications.js.map +1 -1
- package/resources/ach-prenotifications.mjs.map +1 -1
- package/resources/ach-transfers.d.ts +16 -9
- package/resources/ach-transfers.d.ts.map +1 -1
- package/resources/ach-transfers.js.map +1 -1
- package/resources/ach-transfers.mjs.map +1 -1
- package/resources/balance-lookups.d.ts +1 -1
- package/resources/balance-lookups.d.ts.map +1 -1
- package/resources/bookkeeping-accounts.d.ts +3 -3
- package/resources/bookkeeping-accounts.d.ts.map +1 -1
- package/resources/bookkeeping-entries.d.ts +2 -2
- package/resources/bookkeeping-entries.d.ts.map +1 -1
- package/resources/bookkeeping-entry-sets.d.ts +1 -1
- package/resources/bookkeeping-entry-sets.d.ts.map +1 -1
- package/resources/card-disputes.d.ts +7 -7
- package/resources/card-disputes.d.ts.map +1 -1
- package/resources/card-disputes.js.map +1 -1
- package/resources/card-disputes.mjs.map +1 -1
- package/resources/card-profiles.d.ts +15 -7
- package/resources/card-profiles.d.ts.map +1 -1
- package/resources/card-profiles.js +6 -0
- package/resources/card-profiles.js.map +1 -1
- package/resources/card-profiles.mjs +6 -0
- package/resources/card-profiles.mjs.map +1 -1
- package/resources/card-purchase-supplements.d.ts +3 -3
- package/resources/card-purchase-supplements.d.ts.map +1 -1
- package/resources/cards.d.ts +6 -13
- package/resources/cards.d.ts.map +1 -1
- package/resources/cards.js.map +1 -1
- package/resources/cards.mjs.map +1 -1
- package/resources/check-deposits.d.ts +7 -7
- package/resources/check-deposits.d.ts.map +1 -1
- package/resources/check-deposits.js.map +1 -1
- package/resources/check-deposits.mjs.map +1 -1
- package/resources/check-transfers.d.ts +15 -10
- package/resources/check-transfers.d.ts.map +1 -1
- package/resources/check-transfers.js.map +1 -1
- package/resources/check-transfers.mjs.map +1 -1
- package/resources/declined-transactions.d.ts +25 -28
- package/resources/declined-transactions.d.ts.map +1 -1
- package/resources/declined-transactions.js.map +1 -1
- package/resources/declined-transactions.mjs.map +1 -1
- package/resources/digital-wallet-tokens.d.ts +3 -6
- package/resources/digital-wallet-tokens.d.ts.map +1 -1
- package/resources/digital-wallet-tokens.js.map +1 -1
- package/resources/digital-wallet-tokens.mjs.map +1 -1
- package/resources/documents.d.ts +3 -3
- package/resources/documents.d.ts.map +1 -1
- package/resources/entities/beneficial-owners.d.ts +4 -8
- package/resources/entities/beneficial-owners.d.ts.map +1 -1
- package/resources/entities/beneficial-owners.js.map +1 -1
- package/resources/entities/beneficial-owners.mjs.map +1 -1
- package/resources/entities/entities.d.ts +11 -11
- package/resources/entities/entities.d.ts.map +1 -1
- package/resources/entities/entities.js +6 -0
- package/resources/entities/entities.js.map +1 -1
- package/resources/entities/entities.mjs +6 -0
- package/resources/entities/entities.mjs.map +1 -1
- package/resources/entities/supplemental-documents.d.ts +2 -2
- package/resources/entities/supplemental-documents.d.ts.map +1 -1
- package/resources/event-subscriptions.d.ts +5 -8
- package/resources/event-subscriptions.d.ts.map +1 -1
- package/resources/event-subscriptions.js.map +1 -1
- package/resources/event-subscriptions.mjs.map +1 -1
- package/resources/events.d.ts +7 -5
- package/resources/events.d.ts.map +1 -1
- package/resources/events.js.map +1 -1
- package/resources/events.mjs.map +1 -1
- package/resources/exports.d.ts +4 -4
- package/resources/exports.d.ts.map +1 -1
- package/resources/external-accounts.d.ts +5 -11
- package/resources/external-accounts.d.ts.map +1 -1
- package/resources/external-accounts.js.map +1 -1
- package/resources/external-accounts.mjs.map +1 -1
- package/resources/files.d.ts +9 -4
- package/resources/files.d.ts.map +1 -1
- package/resources/files.js +2 -2
- package/resources/files.js.map +1 -1
- package/resources/files.mjs +2 -2
- package/resources/files.mjs.map +1 -1
- package/resources/groups.d.ts +1 -1
- package/resources/groups.d.ts.map +1 -1
- package/resources/inbound-ach-transfer-returns.d.ts +6 -4
- package/resources/inbound-ach-transfer-returns.d.ts.map +1 -1
- package/resources/inbound-ach-transfer-returns.js.map +1 -1
- package/resources/inbound-ach-transfer-returns.mjs.map +1 -1
- package/resources/inbound-wire-drawdown-requests.d.ts +5 -3
- package/resources/inbound-wire-drawdown-requests.d.ts.map +1 -1
- package/resources/inbound-wire-drawdown-requests.js.map +1 -1
- package/resources/inbound-wire-drawdown-requests.mjs.map +1 -1
- package/resources/limits.d.ts +5 -9
- package/resources/limits.d.ts.map +1 -1
- package/resources/limits.js.map +1 -1
- package/resources/limits.mjs.map +1 -1
- package/resources/oauth-connections.d.ts +3 -6
- package/resources/oauth-connections.d.ts.map +1 -1
- package/resources/oauth-connections.js.map +1 -1
- package/resources/oauth-connections.mjs.map +1 -1
- package/resources/pending-transactions.d.ts +28 -37
- package/resources/pending-transactions.d.ts.map +1 -1
- package/resources/pending-transactions.js.map +1 -1
- package/resources/pending-transactions.mjs.map +1 -1
- package/resources/programs.d.ts +3 -3
- package/resources/programs.d.ts.map +1 -1
- package/resources/real-time-decisions.d.ts +2 -5
- package/resources/real-time-decisions.d.ts.map +1 -1
- package/resources/real-time-decisions.js.map +1 -1
- package/resources/real-time-decisions.mjs.map +1 -1
- package/resources/real-time-payments-transfers.d.ts +6 -4
- package/resources/real-time-payments-transfers.d.ts.map +1 -1
- package/resources/real-time-payments-transfers.js.map +1 -1
- package/resources/real-time-payments-transfers.mjs.map +1 -1
- package/resources/routing-numbers.d.ts +4 -1
- package/resources/routing-numbers.d.ts.map +1 -1
- package/resources/routing-numbers.js.map +1 -1
- package/resources/routing-numbers.mjs.map +1 -1
- package/resources/simulations/account-statements.d.ts +1 -1
- package/resources/simulations/account-statements.d.ts.map +1 -1
- package/resources/simulations/account-transfers.d.ts +1 -1
- package/resources/simulations/account-transfers.d.ts.map +1 -1
- package/resources/simulations/ach-transfers.d.ts +124 -138
- package/resources/simulations/ach-transfers.d.ts.map +1 -1
- package/resources/simulations/ach-transfers.js.map +1 -1
- package/resources/simulations/ach-transfers.mjs.map +1 -1
- package/resources/simulations/card-disputes.d.ts +1 -1
- package/resources/simulations/card-disputes.d.ts.map +1 -1
- package/resources/simulations/card-profiles.d.ts +1 -4
- package/resources/simulations/card-profiles.d.ts.map +1 -1
- package/resources/simulations/card-profiles.js.map +1 -1
- package/resources/simulations/card-profiles.mjs.map +1 -1
- package/resources/simulations/card-refunds.d.ts +1 -1
- package/resources/simulations/card-refunds.d.ts.map +1 -1
- package/resources/simulations/cards.d.ts +49 -58
- package/resources/simulations/cards.d.ts.map +1 -1
- package/resources/simulations/cards.js.map +1 -1
- package/resources/simulations/cards.mjs.map +1 -1
- package/resources/simulations/check-deposits.d.ts +3 -12
- package/resources/simulations/check-deposits.d.ts.map +1 -1
- package/resources/simulations/check-transfers.d.ts +2 -2
- package/resources/simulations/check-transfers.d.ts.map +1 -1
- package/resources/simulations/digital-wallet-token-requests.d.ts +1 -1
- package/resources/simulations/digital-wallet-token-requests.d.ts.map +1 -1
- package/resources/simulations/documents.d.ts +1 -4
- package/resources/simulations/documents.d.ts.map +1 -1
- package/resources/simulations/documents.js.map +1 -1
- package/resources/simulations/documents.mjs.map +1 -1
- package/resources/simulations/inbound-funds-holds.d.ts +1 -1
- package/resources/simulations/inbound-funds-holds.d.ts.map +1 -1
- package/resources/simulations/inbound-wire-drawdown-requests.d.ts +1 -1
- package/resources/simulations/inbound-wire-drawdown-requests.d.ts.map +1 -1
- package/resources/simulations/interest-payments.d.ts +100 -108
- package/resources/simulations/interest-payments.d.ts.map +1 -1
- package/resources/simulations/interest-payments.js.map +1 -1
- package/resources/simulations/interest-payments.mjs.map +1 -1
- package/resources/simulations/programs.d.ts +1 -4
- package/resources/simulations/programs.d.ts.map +1 -1
- package/resources/simulations/programs.js.map +1 -1
- package/resources/simulations/programs.mjs.map +1 -1
- package/resources/simulations/real-time-payments-transfers.d.ts +123 -134
- package/resources/simulations/real-time-payments-transfers.d.ts.map +1 -1
- package/resources/simulations/real-time-payments-transfers.js.map +1 -1
- package/resources/simulations/real-time-payments-transfers.mjs.map +1 -1
- package/resources/simulations/wire-transfers.d.ts +100 -108
- package/resources/simulations/wire-transfers.d.ts.map +1 -1
- package/resources/simulations/wire-transfers.js.map +1 -1
- package/resources/simulations/wire-transfers.mjs.map +1 -1
- package/resources/transactions.d.ts +105 -110
- package/resources/transactions.d.ts.map +1 -1
- package/resources/transactions.js.map +1 -1
- package/resources/transactions.mjs.map +1 -1
- package/resources/wire-drawdown-requests.d.ts +4 -4
- package/resources/wire-drawdown-requests.d.ts.map +1 -1
- package/resources/wire-transfers.d.ts +11 -11
- package/resources/wire-transfers.d.ts.map +1 -1
- package/resources/wire-transfers.js.map +1 -1
- package/resources/wire-transfers.mjs.map +1 -1
- package/src/_shims/fetch.d.ts +8 -1
- package/src/_shims/fetch.node.d.ts +11 -1
- package/src/core.ts +167 -70
- package/src/pagination.ts +5 -5
- package/src/resources/account-numbers.ts +9 -9
- package/src/resources/account-statements.ts +4 -7
- package/src/resources/account-transfers.ts +7 -19
- package/src/resources/accounts.ts +7 -7
- package/src/resources/ach-prenotifications.ts +56 -8
- package/src/resources/ach-transfers.ts +18 -10
- package/src/resources/balance-lookups.ts +1 -1
- package/src/resources/bookkeeping-accounts.ts +4 -4
- package/src/resources/bookkeeping-entries.ts +3 -3
- package/src/resources/bookkeeping-entry-sets.ts +1 -1
- package/src/resources/card-disputes.ts +8 -8
- package/src/resources/card-profiles.ts +20 -8
- package/src/resources/card-purchase-supplements.ts +4 -4
- package/src/resources/cards.ts +7 -14
- package/src/resources/check-deposits.ts +8 -8
- package/src/resources/check-transfers.ts +17 -11
- package/src/resources/declined-transactions.ts +26 -29
- package/src/resources/digital-wallet-tokens.ts +4 -7
- package/src/resources/documents.ts +4 -4
- package/src/resources/entities/beneficial-owners.ts +4 -8
- package/src/resources/entities/entities.ts +15 -12
- package/src/resources/entities/supplemental-documents.ts +2 -2
- package/src/resources/event-subscriptions.ts +6 -9
- package/src/resources/events.ts +8 -6
- package/src/resources/exports.ts +5 -5
- package/src/resources/external-accounts.ts +6 -12
- package/src/resources/files.ts +11 -6
- package/src/resources/groups.ts +1 -1
- package/src/resources/inbound-ach-transfer-returns.ts +7 -5
- package/src/resources/inbound-wire-drawdown-requests.ts +6 -4
- package/src/resources/limits.ts +6 -10
- package/src/resources/oauth-connections.ts +4 -7
- package/src/resources/pending-transactions.ts +29 -38
- package/src/resources/programs.ts +4 -4
- package/src/resources/real-time-decisions.ts +2 -5
- package/src/resources/real-time-payments-transfers.ts +7 -5
- package/src/resources/routing-numbers.ts +4 -1
- package/src/resources/simulations/account-statements.ts +1 -1
- package/src/resources/simulations/account-transfers.ts +1 -1
- package/src/resources/simulations/ach-transfers.ts +124 -138
- package/src/resources/simulations/card-disputes.ts +1 -1
- package/src/resources/simulations/card-profiles.ts +1 -4
- package/src/resources/simulations/card-refunds.ts +1 -1
- package/src/resources/simulations/cards.ts +49 -58
- package/src/resources/simulations/check-deposits.ts +3 -3
- package/src/resources/simulations/check-transfers.ts +2 -2
- package/src/resources/simulations/digital-wallet-token-requests.ts +1 -1
- package/src/resources/simulations/documents.ts +1 -4
- package/src/resources/simulations/inbound-funds-holds.ts +1 -1
- package/src/resources/simulations/inbound-wire-drawdown-requests.ts +1 -1
- package/src/resources/simulations/interest-payments.ts +100 -108
- package/src/resources/simulations/programs.ts +1 -4
- package/src/resources/simulations/real-time-payments-transfers.ts +123 -134
- package/src/resources/simulations/wire-transfers.ts +100 -108
- package/src/resources/transactions.ts +106 -111
- package/src/resources/wire-drawdown-requests.ts +5 -5
- package/src/resources/wire-transfers.ts +12 -12
- package/src/version.ts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.9.0](https://github.com/Increase/increase-node/compare/v0.8.1...v0.9.0) (2023-08-11)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* **client:** support accessing raw response + remove deprecated features ([#104](https://github.com/Increase/increase-node/issues/104))
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* **api:** updates ([#106](https://github.com/Increase/increase-node/issues/106)) ([3ba4626](https://github.com/Increase/increase-node/commit/3ba46267c7f1f56f141b0ebaef9f92cf2d3bf3fd))
|
|
13
|
+
* **client:** support accessing raw response + remove deprecated features ([#104](https://github.com/Increase/increase-node/issues/104)) ([b4f3164](https://github.com/Increase/increase-node/commit/b4f3164ed9a134dc95e1e0a62e86f414c7e9e3d1))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Documentation
|
|
17
|
+
|
|
18
|
+
* **api:** change description of various fields ([#107](https://github.com/Increase/increase-node/issues/107)) ([54903db](https://github.com/Increase/increase-node/commit/54903db4061f080c7618e2d2348dcad4dc1c5db9))
|
|
19
|
+
* **readme:** minor updates ([#108](https://github.com/Increase/increase-node/issues/108)) ([a5558bc](https://github.com/Increase/increase-node/commit/a5558bca6f934285a33344abc4b5383cca0a2a06))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Chores
|
|
23
|
+
|
|
24
|
+
* **internal:** conditionally include bin during build output ([#109](https://github.com/Increase/increase-node/issues/109)) ([ae76bb5](https://github.com/Increase/increase-node/commit/ae76bb539f3fe3352005bb16a9025d03252624a8))
|
|
25
|
+
|
|
3
26
|
## [0.8.1](https://github.com/Increase/increase-node/compare/v0.8.0...v0.8.1) (2023-08-08)
|
|
4
27
|
|
|
5
28
|
|
package/README.md
CHANGED
|
@@ -2,10 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://npmjs.org/package/increase)
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
It includes TypeScript definitions for all request params and response fields.
|
|
7
|
-
|
|
8
|
-
## Documentation
|
|
5
|
+
This library provides convenient access to the Increase Node REST API from server-side TypeScript or JavaScript.
|
|
9
6
|
|
|
10
7
|
The API documentation can be found [here](https://increase.com/documentation).
|
|
11
8
|
|
|
@@ -36,10 +33,9 @@ async function main() {
|
|
|
36
33
|
main();
|
|
37
34
|
```
|
|
38
35
|
|
|
39
|
-
###
|
|
36
|
+
### Request & Response types
|
|
40
37
|
|
|
41
|
-
|
|
42
|
-
If you like, you may reference our types directly:
|
|
38
|
+
This library includes TypeScript definitions for all request params and response fields. You may import and use them like so:
|
|
43
39
|
|
|
44
40
|
```ts
|
|
45
41
|
import Increase from 'increase';
|
|
@@ -201,6 +197,28 @@ while (page.hasNextPage()) {
|
|
|
201
197
|
}
|
|
202
198
|
```
|
|
203
199
|
|
|
200
|
+
## Advanced Usage
|
|
201
|
+
|
|
202
|
+
### Accessing raw Response data (e.g., headers)
|
|
203
|
+
|
|
204
|
+
The "raw" `Response` returned by `fetch()` can be accessed through the `.asResponse()` method on the `APIPromise` type that all methods return.
|
|
205
|
+
|
|
206
|
+
You can also use the `.withResponse()` method to get the raw `Response` along with the parsed data.
|
|
207
|
+
|
|
208
|
+
```ts
|
|
209
|
+
const increase = new Increase();
|
|
210
|
+
|
|
211
|
+
const response = await increase.accounts.create({ name: 'My First Increase Account' }).asResponse();
|
|
212
|
+
console.log(response.headers.get('X-My-Header'));
|
|
213
|
+
console.log(response.statusText); // access the underlying Response object
|
|
214
|
+
|
|
215
|
+
const { data: accounts, response: raw } = await increase.accounts
|
|
216
|
+
.create({ name: 'My First Increase Account' })
|
|
217
|
+
.withResponse();
|
|
218
|
+
console.log(raw.headers.get('X-My-Header'));
|
|
219
|
+
console.log(accounts.id);
|
|
220
|
+
```
|
|
221
|
+
|
|
204
222
|
## Configuring an HTTP(S) Agent (e.g., for proxies)
|
|
205
223
|
|
|
206
224
|
By default, this library uses a stable agent for all http/https requests to reuse TCP connections, eliminating many TCP & TLS handshakes and shaving around 100ms off most requests.
|
|
@@ -241,7 +259,9 @@ We are keen for your feedback; please open an [issue](https://www.github.com/inc
|
|
|
241
259
|
The following runtimes are supported:
|
|
242
260
|
|
|
243
261
|
- Node.js 16 LTS or later ([non-EOL](https://endoflife.date/nodejs)) versions.
|
|
244
|
-
- Deno v1.28.0 or higher
|
|
245
|
-
|
|
262
|
+
- Deno v1.28.0 or higher, using `import Increase from "npm:increase"`.
|
|
263
|
+
Deno Deploy is not yet supported.
|
|
264
|
+
- Cloudflare Workers.
|
|
265
|
+
- Vercel Edge Runtime.
|
|
246
266
|
|
|
247
267
|
If you are interested in other runtime environments, please open or upvote an issue on GitHub.
|
package/_shims/fetch.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ type _Response = unknown extends Response ? never : Response;
|
|
|
26
26
|
// @ts-ignore
|
|
27
27
|
type _ResponseInit = unknown extends ResponseInit ? never : ResponseInit;
|
|
28
28
|
// @ts-ignore
|
|
29
|
+
type _ResponseType = unknown extends ResponseType ? never : ResponseType;
|
|
30
|
+
// @ts-ignore
|
|
29
31
|
type _BodyInit = unknown extends BodyInit ? never : BodyInit;
|
|
30
32
|
// @ts-ignore
|
|
31
33
|
type _Headers = unknown extends Headers ? never : Headers;
|
|
@@ -49,4 +51,9 @@ declare const _Headers: {
|
|
|
49
51
|
export const isPolyfilled = false;
|
|
50
52
|
|
|
51
53
|
export { _fetch as fetch, _Request as Request, _Response as Response, _Headers as Headers };
|
|
52
|
-
export type {
|
|
54
|
+
export type {
|
|
55
|
+
_RequestInit as RequestInit,
|
|
56
|
+
_RequestInfo as RequestInfo,
|
|
57
|
+
_ResponseType as ResponseType,
|
|
58
|
+
_BodyInit as BodyInit,
|
|
59
|
+
};
|
package/_shims/fetch.node.d.ts
CHANGED
|
@@ -26,6 +26,11 @@ type _RequestInit = unknown extends RequestInit ? nf.RequestInit : RequestInit;
|
|
|
26
26
|
type _Response = unknown extends Response ? nf.Response : Response;
|
|
27
27
|
// @ts-ignore
|
|
28
28
|
type _ResponseInit = unknown extends ResponseInit ? nf.ResponseInit : ResponseInit;
|
|
29
|
+
type _ResponseType =
|
|
30
|
+
// @ts-ignore
|
|
31
|
+
unknown extends ResponseType ? 'basic' | 'cors' | 'default' | 'error' | 'opaque' | 'opaqueredirect'
|
|
32
|
+
: // @ts-ignore
|
|
33
|
+
ResponseType;
|
|
29
34
|
// @ts-ignore
|
|
30
35
|
type _BodyInit = unknown extends BodyInit ? nf.BodyInit : BodyInit;
|
|
31
36
|
// @ts-ignore
|
|
@@ -50,4 +55,9 @@ declare const _Headers: {
|
|
|
50
55
|
export const isPolyfilled = false;
|
|
51
56
|
|
|
52
57
|
export { _fetch as fetch, _Request as Request, _Response as Response, _Headers as Headers };
|
|
53
|
-
export type {
|
|
58
|
+
export type {
|
|
59
|
+
_RequestInit as RequestInit,
|
|
60
|
+
_RequestInfo as RequestInfo,
|
|
61
|
+
_ResponseType as ResponseType,
|
|
62
|
+
_BodyInit as BodyInit,
|
|
63
|
+
};
|
package/core.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { APIError } from './error.js';
|
|
|
2
2
|
import type { Readable } from 'increase/_shims/node-readable';
|
|
3
3
|
import { type Agent } from 'increase/_shims/agent';
|
|
4
4
|
import { type RequestInfo, type RequestInit, type Response } from 'increase/_shims/fetch';
|
|
5
|
+
export { type Response };
|
|
5
6
|
export {
|
|
6
7
|
maybeMultipartFormRequestOptions,
|
|
7
8
|
multipartFormRequestOptions,
|
|
@@ -9,6 +10,53 @@ export {
|
|
|
9
10
|
type Uploadable,
|
|
10
11
|
} from './uploads.js';
|
|
11
12
|
export type Fetch = (url: RequestInfo, init?: RequestInit) => Promise<Response>;
|
|
13
|
+
type PromiseOrValue<T> = T | Promise<T>;
|
|
14
|
+
type APIResponseProps = {
|
|
15
|
+
response: Response;
|
|
16
|
+
options: FinalRequestOptions;
|
|
17
|
+
controller: AbortController;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* A subclass of `Promise` providing additional helper methods
|
|
21
|
+
* for interacting with the SDK.
|
|
22
|
+
*/
|
|
23
|
+
export declare class APIPromise<T> extends Promise<T> {
|
|
24
|
+
private responsePromise;
|
|
25
|
+
private parseResponse;
|
|
26
|
+
private parsedPromise;
|
|
27
|
+
constructor(
|
|
28
|
+
responsePromise: Promise<APIResponseProps>,
|
|
29
|
+
parseResponse?: (props: APIResponseProps) => PromiseOrValue<T>,
|
|
30
|
+
);
|
|
31
|
+
_thenUnwrap<U>(transform: (data: T) => U): APIPromise<U>;
|
|
32
|
+
/**
|
|
33
|
+
* Gets the raw `Response` instance instead of parsing the response
|
|
34
|
+
* data.
|
|
35
|
+
*
|
|
36
|
+
* If you want to parse the response body but still get the `Response`
|
|
37
|
+
* instance, you can use {@link withResponse()}.
|
|
38
|
+
*/
|
|
39
|
+
asResponse(): Promise<Response>;
|
|
40
|
+
/**
|
|
41
|
+
* Gets the parsed response data and the raw `Response` instance.
|
|
42
|
+
*
|
|
43
|
+
* If you just want to get the raw `Response` instance without parsing it,
|
|
44
|
+
* you can use {@link asResponse()}.
|
|
45
|
+
*/
|
|
46
|
+
withResponse(): Promise<{
|
|
47
|
+
data: T;
|
|
48
|
+
response: Response;
|
|
49
|
+
}>;
|
|
50
|
+
private parse;
|
|
51
|
+
then<TResult1 = T, TResult2 = never>(
|
|
52
|
+
onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null,
|
|
53
|
+
onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null,
|
|
54
|
+
): Promise<TResult1 | TResult2>;
|
|
55
|
+
catch<TResult = never>(
|
|
56
|
+
onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null,
|
|
57
|
+
): Promise<T | TResult>;
|
|
58
|
+
finally(onfinally?: (() => void) | undefined | null): Promise<T>;
|
|
59
|
+
}
|
|
12
60
|
export declare abstract class APIClient {
|
|
13
61
|
baseURL: string;
|
|
14
62
|
maxRetries: number;
|
|
@@ -45,16 +93,17 @@ export declare abstract class APIClient {
|
|
|
45
93
|
*/
|
|
46
94
|
protected validateHeaders(headers: Headers, customHeaders: Headers): void;
|
|
47
95
|
protected defaultIdempotencyKey(): string;
|
|
48
|
-
get<Req extends {}, Rsp>(path: string, opts?: RequestOptions<Req
|
|
49
|
-
post<Req extends {}, Rsp>(path: string, opts?: RequestOptions<Req
|
|
50
|
-
patch<Req extends {}, Rsp>(path: string, opts?: RequestOptions<Req
|
|
51
|
-
put<Req extends {}, Rsp>(path: string, opts?: RequestOptions<Req
|
|
52
|
-
delete<Req extends {}, Rsp>(path: string, opts?: RequestOptions<Req
|
|
96
|
+
get<Req extends {}, Rsp>(path: string, opts?: PromiseOrValue<RequestOptions<Req>>): APIPromise<Rsp>;
|
|
97
|
+
post<Req extends {}, Rsp>(path: string, opts?: PromiseOrValue<RequestOptions<Req>>): APIPromise<Rsp>;
|
|
98
|
+
patch<Req extends {}, Rsp>(path: string, opts?: PromiseOrValue<RequestOptions<Req>>): APIPromise<Rsp>;
|
|
99
|
+
put<Req extends {}, Rsp>(path: string, opts?: PromiseOrValue<RequestOptions<Req>>): APIPromise<Rsp>;
|
|
100
|
+
delete<Req extends {}, Rsp>(path: string, opts?: PromiseOrValue<RequestOptions<Req>>): APIPromise<Rsp>;
|
|
101
|
+
private methodRequest;
|
|
53
102
|
getAPIList<Item, PageClass extends AbstractPage<Item> = AbstractPage<Item>>(
|
|
54
103
|
path: string,
|
|
55
104
|
Page: new (...args: any[]) => PageClass,
|
|
56
105
|
opts?: RequestOptions<any>,
|
|
57
|
-
): PagePromise<PageClass>;
|
|
106
|
+
): PagePromise<PageClass, Item>;
|
|
58
107
|
private calculateContentLength;
|
|
59
108
|
buildRequest<Req extends {}>(
|
|
60
109
|
options: FinalRequestOptions<Req>,
|
|
@@ -84,13 +133,14 @@ export declare abstract class APIClient {
|
|
|
84
133
|
headers: Headers | undefined,
|
|
85
134
|
): APIError;
|
|
86
135
|
request<Req extends {}, Rsp>(
|
|
87
|
-
options: FinalRequestOptions<Req
|
|
88
|
-
|
|
89
|
-
):
|
|
136
|
+
options: PromiseOrValue<FinalRequestOptions<Req>>,
|
|
137
|
+
remainingRetries?: number | null,
|
|
138
|
+
): APIPromise<Rsp>;
|
|
139
|
+
private makeRequest;
|
|
90
140
|
requestAPIList<Item = unknown, PageClass extends AbstractPage<Item> = AbstractPage<Item>>(
|
|
91
141
|
Page: new (...args: ConstructorParameters<typeof AbstractPage>) => PageClass,
|
|
92
142
|
options: FinalRequestOptions,
|
|
93
|
-
): PagePromise<PageClass>;
|
|
143
|
+
): PagePromise<PageClass, Item>;
|
|
94
144
|
buildURL<Req>(path: string, query: Req | undefined): string;
|
|
95
145
|
protected stringifyQuery(query: Record<string, unknown>): string;
|
|
96
146
|
fetchWithTimeout(
|
|
@@ -104,7 +154,6 @@ export declare abstract class APIClient {
|
|
|
104
154
|
private retryRequest;
|
|
105
155
|
private calculateRetryTimeoutSeconds;
|
|
106
156
|
private getUserAgent;
|
|
107
|
-
private debug;
|
|
108
157
|
}
|
|
109
158
|
export declare class APIResource {
|
|
110
159
|
protected client: APIClient;
|
|
@@ -126,7 +175,9 @@ export type PageInfo =
|
|
|
126
175
|
export declare abstract class AbstractPage<Item> implements AsyncIterable<Item> {
|
|
127
176
|
#private;
|
|
128
177
|
protected options: FinalRequestOptions;
|
|
129
|
-
|
|
178
|
+
protected response: Response;
|
|
179
|
+
protected body: unknown;
|
|
180
|
+
constructor(client: APIClient, response: Response, body: unknown, options: FinalRequestOptions);
|
|
130
181
|
/**
|
|
131
182
|
* @deprecated Use nextPageInfo instead
|
|
132
183
|
*/
|
|
@@ -138,27 +189,27 @@ export declare abstract class AbstractPage<Item> implements AsyncIterable<Item>
|
|
|
138
189
|
iterPages(): AsyncGenerator<AbstractPage<Item>, void, unknown>;
|
|
139
190
|
[Symbol.asyncIterator](): AsyncGenerator<Awaited<Item>, void, unknown>;
|
|
140
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* This subclass of Promise will resolve to an instantiated Page once the request completes.
|
|
194
|
+
*
|
|
195
|
+
* It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:
|
|
196
|
+
*
|
|
197
|
+
* for await (const item of client.items.list()) {
|
|
198
|
+
* console.log(item)
|
|
199
|
+
* }
|
|
200
|
+
*/
|
|
141
201
|
export declare class PagePromise<
|
|
142
202
|
PageClass extends AbstractPage<Item>,
|
|
143
203
|
Item = ReturnType<PageClass['getPaginatedItems']>[number],
|
|
144
204
|
>
|
|
145
|
-
extends
|
|
205
|
+
extends APIPromise<PageClass>
|
|
146
206
|
implements AsyncIterable<Item>
|
|
147
207
|
{
|
|
148
|
-
/**
|
|
149
|
-
* This subclass of Promise will resolve to an instantiated Page once the request completes.
|
|
150
|
-
*/
|
|
151
208
|
constructor(
|
|
152
209
|
client: APIClient,
|
|
153
|
-
|
|
154
|
-
options: FinalRequestOptions,
|
|
210
|
+
request: Promise<APIResponseProps>,
|
|
155
211
|
Page: new (...args: ConstructorParameters<typeof AbstractPage>) => PageClass,
|
|
156
212
|
);
|
|
157
|
-
/**
|
|
158
|
-
* Enable subclassing Promise.
|
|
159
|
-
* Ref: https://stackoverflow.com/a/60328122
|
|
160
|
-
*/
|
|
161
|
-
static get [Symbol.species](): PromiseConstructor;
|
|
162
213
|
/**
|
|
163
214
|
* Allow auto-paginating iteration on an unawaited list call, eg:
|
|
164
215
|
*
|
|
@@ -200,10 +251,6 @@ export type FinalRequestOptions<Req extends {} = Record<string, unknown> | Reada
|
|
|
200
251
|
method: HTTPMethod;
|
|
201
252
|
path: string;
|
|
202
253
|
};
|
|
203
|
-
export type APIResponse<T> = T & {
|
|
204
|
-
/** @deprecated - we plan to add a different way to access raw response information shortly. */
|
|
205
|
-
responseHeaders: Headers;
|
|
206
|
-
};
|
|
207
254
|
export declare const safeJSON: (text: string) => any;
|
|
208
255
|
export declare const castToError: (err: any) => Error;
|
|
209
256
|
export declare const ensurePresent: <T>(value: T | null | undefined) => T;
|
|
@@ -221,6 +268,7 @@ export declare const maybeCoerceFloat: (value: unknown) => number | undefined;
|
|
|
221
268
|
export declare const maybeCoerceBoolean: (value: unknown) => boolean | undefined;
|
|
222
269
|
export declare function isEmptyObj(obj: Object | null | undefined): boolean;
|
|
223
270
|
export declare function hasOwn(obj: Object, key: string): boolean;
|
|
271
|
+
export declare function debug(action: string, ...args: any[]): void;
|
|
224
272
|
export declare const isRunningInBrowser: () => boolean;
|
|
225
273
|
export interface HeadersProtocol {
|
|
226
274
|
get: (header: string) => string | null | undefined;
|
package/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["src/core.ts"],"names":[],"mappings":";;;;AACA,OAAO,EAAE,QAAQ,EAAoE,MAAM,SAAS,CAAC;AACrG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAmB,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACd,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["src/core.ts"],"names":[],"mappings":"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"}
|
package/core.js
CHANGED
|
@@ -32,6 +32,7 @@ exports.toBase64 =
|
|
|
32
32
|
exports.getHeader =
|
|
33
33
|
exports.isHeadersProtocol =
|
|
34
34
|
exports.isRunningInBrowser =
|
|
35
|
+
exports.debug =
|
|
35
36
|
exports.hasOwn =
|
|
36
37
|
exports.isEmptyObj =
|
|
37
38
|
exports.maybeCoerceBoolean =
|
|
@@ -50,6 +51,7 @@ exports.toBase64 =
|
|
|
50
51
|
exports.AbstractPage =
|
|
51
52
|
exports.APIResource =
|
|
52
53
|
exports.APIClient =
|
|
54
|
+
exports.APIPromise =
|
|
53
55
|
exports.createForm =
|
|
54
56
|
exports.multipartFormRequestOptions =
|
|
55
57
|
exports.maybeMultipartFormRequestOptions =
|
|
@@ -79,6 +81,74 @@ Object.defineProperty(exports, 'createForm', {
|
|
|
79
81
|
},
|
|
80
82
|
});
|
|
81
83
|
const MAX_RETRIES = 2;
|
|
84
|
+
async function defaultParseResponse(props) {
|
|
85
|
+
const { response } = props;
|
|
86
|
+
const contentType = response.headers.get('content-type');
|
|
87
|
+
if (contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/json')) {
|
|
88
|
+
const json = await response.json();
|
|
89
|
+
debug('response', response.status, response.url, response.headers, json);
|
|
90
|
+
return json;
|
|
91
|
+
}
|
|
92
|
+
// TODO handle blob, arraybuffer, other content types, etc.
|
|
93
|
+
const text = await response.text();
|
|
94
|
+
debug('response', response.status, response.url, response.headers, text);
|
|
95
|
+
return text;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* A subclass of `Promise` providing additional helper methods
|
|
99
|
+
* for interacting with the SDK.
|
|
100
|
+
*/
|
|
101
|
+
class APIPromise extends Promise {
|
|
102
|
+
constructor(responsePromise, parseResponse = defaultParseResponse) {
|
|
103
|
+
super((resolve) => {
|
|
104
|
+
// this is maybe a bit weird but this has to be a no-op to not implicitly
|
|
105
|
+
// parse the response body; instead .then, .catch, .finally are overridden
|
|
106
|
+
// to parse the response
|
|
107
|
+
resolve(null);
|
|
108
|
+
});
|
|
109
|
+
this.responsePromise = responsePromise;
|
|
110
|
+
this.parseResponse = parseResponse;
|
|
111
|
+
}
|
|
112
|
+
_thenUnwrap(transform) {
|
|
113
|
+
return new APIPromise(this.responsePromise, async (props) => transform(await this.parseResponse(props)));
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Gets the raw `Response` instance instead of parsing the response
|
|
117
|
+
* data.
|
|
118
|
+
*
|
|
119
|
+
* If you want to parse the response body but still get the `Response`
|
|
120
|
+
* instance, you can use {@link withResponse()}.
|
|
121
|
+
*/
|
|
122
|
+
asResponse() {
|
|
123
|
+
return this.responsePromise.then((p) => p.response);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Gets the parsed response data and the raw `Response` instance.
|
|
127
|
+
*
|
|
128
|
+
* If you just want to get the raw `Response` instance without parsing it,
|
|
129
|
+
* you can use {@link asResponse()}.
|
|
130
|
+
*/
|
|
131
|
+
async withResponse() {
|
|
132
|
+
const [data, response] = await Promise.all([this.parse(), this.asResponse()]);
|
|
133
|
+
return { data, response };
|
|
134
|
+
}
|
|
135
|
+
parse() {
|
|
136
|
+
if (!this.parsedPromise) {
|
|
137
|
+
this.parsedPromise = this.responsePromise.then(this.parseResponse);
|
|
138
|
+
}
|
|
139
|
+
return this.parsedPromise;
|
|
140
|
+
}
|
|
141
|
+
then(onfulfilled, onrejected) {
|
|
142
|
+
return this.parse().then(onfulfilled, onrejected);
|
|
143
|
+
}
|
|
144
|
+
catch(onrejected) {
|
|
145
|
+
return this.parse().catch(onrejected);
|
|
146
|
+
}
|
|
147
|
+
finally(onfinally) {
|
|
148
|
+
return this.parse().finally(onfinally);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.APIPromise = APIPromise;
|
|
82
152
|
class APIClient {
|
|
83
153
|
constructor({
|
|
84
154
|
baseURL,
|
|
@@ -124,19 +194,22 @@ class APIClient {
|
|
|
124
194
|
return `stainless-node-retry-${uuid4()}`;
|
|
125
195
|
}
|
|
126
196
|
get(path, opts) {
|
|
127
|
-
return this.
|
|
197
|
+
return this.methodRequest('get', path, opts);
|
|
128
198
|
}
|
|
129
199
|
post(path, opts) {
|
|
130
|
-
return this.
|
|
200
|
+
return this.methodRequest('post', path, opts);
|
|
131
201
|
}
|
|
132
202
|
patch(path, opts) {
|
|
133
|
-
return this.
|
|
203
|
+
return this.methodRequest('patch', path, opts);
|
|
134
204
|
}
|
|
135
205
|
put(path, opts) {
|
|
136
|
-
return this.
|
|
206
|
+
return this.methodRequest('put', path, opts);
|
|
137
207
|
}
|
|
138
208
|
delete(path, opts) {
|
|
139
|
-
return this.
|
|
209
|
+
return this.methodRequest('delete', path, opts);
|
|
210
|
+
}
|
|
211
|
+
methodRequest(method, path, opts) {
|
|
212
|
+
return this.request(Promise.resolve(opts).then((opts) => ({ method, path, ...opts })));
|
|
140
213
|
}
|
|
141
214
|
getAPIList(path, Page, opts) {
|
|
142
215
|
return this.requestAPIList(Page, { method: 'get', path, ...opts });
|
|
@@ -220,14 +293,18 @@ class APIClient {
|
|
|
220
293
|
makeStatusError(status, error, message, headers) {
|
|
221
294
|
return error_1.APIError.generate(status, error, message, headers);
|
|
222
295
|
}
|
|
223
|
-
|
|
296
|
+
request(options, remainingRetries = null) {
|
|
297
|
+
return new APIPromise(this.makeRequest(options, remainingRetries));
|
|
298
|
+
}
|
|
299
|
+
async makeRequest(optionsInput, retriesRemaining) {
|
|
224
300
|
var _a, _b, _c;
|
|
225
|
-
|
|
301
|
+
const options = await optionsInput;
|
|
302
|
+
if (retriesRemaining == null) {
|
|
226
303
|
retriesRemaining = (_a = options.maxRetries) !== null && _a !== void 0 ? _a : this.maxRetries;
|
|
227
304
|
}
|
|
228
305
|
const { req, url, timeout } = this.buildRequest(options);
|
|
229
306
|
await this.prepareRequest(req, { url });
|
|
230
|
-
|
|
307
|
+
debug('request', url, options, req.headers);
|
|
231
308
|
if ((_b = options.signal) === null || _b === void 0 ? void 0 : _b.aborted) {
|
|
232
309
|
throw new error_1.APIUserAbortError();
|
|
233
310
|
}
|
|
@@ -253,32 +330,15 @@ class APIClient {
|
|
|
253
330
|
const errText = await response.text().catch(() => 'Unknown');
|
|
254
331
|
const errJSON = (0, exports.safeJSON)(errText);
|
|
255
332
|
const errMessage = errJSON ? undefined : errText;
|
|
256
|
-
|
|
333
|
+
debug('response', response.status, url, responseHeaders, errMessage);
|
|
257
334
|
const err = this.makeStatusError(response.status, errJSON, errMessage, responseHeaders);
|
|
258
335
|
throw err;
|
|
259
336
|
}
|
|
260
|
-
|
|
261
|
-
if (contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/json')) {
|
|
262
|
-
const json = await response.json();
|
|
263
|
-
if (typeof json === 'object' && json != null) {
|
|
264
|
-
/** @deprecated – we expect to change this interface in the near future. */
|
|
265
|
-
Object.defineProperty(json, 'responseHeaders', {
|
|
266
|
-
enumerable: false,
|
|
267
|
-
writable: false,
|
|
268
|
-
value: responseHeaders,
|
|
269
|
-
});
|
|
270
|
-
}
|
|
271
|
-
this.debug('response', response.status, url, responseHeaders, json);
|
|
272
|
-
return json;
|
|
273
|
-
}
|
|
274
|
-
// TODO handle blob, arraybuffer, other content types, etc.
|
|
275
|
-
const text = response.text();
|
|
276
|
-
this.debug('response', response.status, url, responseHeaders, text);
|
|
277
|
-
return text;
|
|
337
|
+
return { response, options, controller };
|
|
278
338
|
}
|
|
279
339
|
requestAPIList(Page, options) {
|
|
280
|
-
const
|
|
281
|
-
return new PagePromise(this,
|
|
340
|
+
const request = this.makeRequest(options, null);
|
|
341
|
+
return new PagePromise(this, request, Page);
|
|
282
342
|
}
|
|
283
343
|
buildURL(path, query) {
|
|
284
344
|
const url =
|
|
@@ -371,11 +431,6 @@ class APIClient {
|
|
|
371
431
|
getUserAgent() {
|
|
372
432
|
return `${this.constructor.name}/JS ${version_1.VERSION}`;
|
|
373
433
|
}
|
|
374
|
-
debug(action, ...args) {
|
|
375
|
-
if (typeof process !== 'undefined' && process.env['DEBUG'] === 'true') {
|
|
376
|
-
console.log(`${this.constructor.name}:DEBUG:${action}`, ...args);
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
434
|
}
|
|
380
435
|
exports.APIClient = APIClient;
|
|
381
436
|
class APIResource {
|
|
@@ -391,10 +446,12 @@ class APIResource {
|
|
|
391
446
|
}
|
|
392
447
|
exports.APIResource = APIResource;
|
|
393
448
|
class AbstractPage {
|
|
394
|
-
constructor(client, response, options) {
|
|
449
|
+
constructor(client, response, body, options) {
|
|
395
450
|
_AbstractPage_client.set(this, void 0);
|
|
396
451
|
__classPrivateFieldSet(this, _AbstractPage_client, client, 'f');
|
|
397
452
|
this.options = options;
|
|
453
|
+
this.response = response;
|
|
454
|
+
this.body = body;
|
|
398
455
|
}
|
|
399
456
|
hasNextPage() {
|
|
400
457
|
const items = this.getPaginatedItems();
|
|
@@ -442,22 +499,22 @@ class AbstractPage {
|
|
|
442
499
|
}
|
|
443
500
|
}
|
|
444
501
|
exports.AbstractPage = AbstractPage;
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
502
|
+
/**
|
|
503
|
+
* This subclass of Promise will resolve to an instantiated Page once the request completes.
|
|
504
|
+
*
|
|
505
|
+
* It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:
|
|
506
|
+
*
|
|
507
|
+
* for await (const item of client.items.list()) {
|
|
508
|
+
* console.log(item)
|
|
509
|
+
* }
|
|
510
|
+
*/
|
|
511
|
+
class PagePromise extends APIPromise {
|
|
512
|
+
constructor(client, request, Page) {
|
|
513
|
+
super(
|
|
514
|
+
request,
|
|
515
|
+
async (props) => new Page(client, props.response, await defaultParseResponse(props), props.options),
|
|
452
516
|
);
|
|
453
517
|
}
|
|
454
|
-
/**
|
|
455
|
-
* Enable subclassing Promise.
|
|
456
|
-
* Ref: https://stackoverflow.com/a/60328122
|
|
457
|
-
*/
|
|
458
|
-
static get [Symbol.species]() {
|
|
459
|
-
return Promise;
|
|
460
|
-
}
|
|
461
518
|
/**
|
|
462
519
|
* Allow auto-paginating iteration on an unawaited list call, eg:
|
|
463
520
|
*
|
|
@@ -735,6 +792,12 @@ function hasOwn(obj, key) {
|
|
|
735
792
|
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
736
793
|
}
|
|
737
794
|
exports.hasOwn = hasOwn;
|
|
795
|
+
function debug(action, ...args) {
|
|
796
|
+
if (typeof process !== 'undefined' && process.env['DEBUG'] === 'true') {
|
|
797
|
+
console.log(`Increase:DEBUG:${action}`, ...args);
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
exports.debug = debug;
|
|
738
801
|
/**
|
|
739
802
|
* https://stackoverflow.com/a/2117523
|
|
740
803
|
*/
|