modern-treasury 0.14.0 → 1.0.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/.stats.yml +1 -1
- package/README.md +1 -1
- package/api.md +353 -0
- package/core.ts +18 -40
- package/dist/cjs/core.d.ts +4 -3
- package/dist/cjs/core.js +24 -34
- package/dist/cjs/core.js.map +1 -1
- package/dist/cjs/fetch-polyfill.d.ts +5 -0
- package/dist/cjs/fetch-polyfill.js +56 -0
- package/dist/cjs/fetch-polyfill.js.map +1 -0
- package/dist/cjs/index.d.ts +15 -1
- package/dist/cjs/index.js +7 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/pagination.js +1 -1
- package/dist/cjs/pagination.js.map +1 -1
- package/dist/cjs/resource.js +1 -0
- package/dist/cjs/resource.js.map +1 -1
- package/dist/cjs/resources/account-details.d.ts +5 -5
- package/dist/cjs/resources/counterparties.d.ts +4 -4
- package/dist/cjs/resources/counterparties.js.map +1 -1
- package/dist/cjs/resources/external-accounts.d.ts +5 -5
- package/dist/cjs/resources/external-accounts.js.map +1 -1
- package/dist/cjs/resources/incoming-payment-details.d.ts +10 -5
- package/dist/cjs/resources/incoming-payment-details.js.map +1 -1
- package/dist/cjs/resources/index.d.ts +148 -24
- package/dist/cjs/resources/index.js +363 -25
- package/dist/cjs/resources/index.js.map +1 -1
- package/dist/cjs/resources/internal-accounts/balance-reports.d.ts +1 -0
- package/dist/cjs/resources/internal-accounts/index.d.ts +8 -2
- package/dist/cjs/resources/internal-accounts/index.js +16 -30
- package/dist/cjs/resources/internal-accounts/index.js.map +1 -1
- package/dist/cjs/resources/internal-accounts/internal-accounts.d.ts +9 -3
- package/dist/cjs/resources/internal-accounts/internal-accounts.js +1 -1
- package/dist/cjs/resources/internal-accounts/internal-accounts.js.map +1 -1
- package/dist/cjs/resources/ledger-account-categories.d.ts +40 -4
- package/dist/cjs/resources/ledger-account-categories.js +5 -5
- package/dist/cjs/resources/ledger-account-categories.js.map +1 -1
- package/dist/cjs/resources/ledger-account-payouts.d.ts +142 -0
- package/dist/cjs/resources/ledger-account-payouts.js +41 -0
- package/dist/cjs/resources/ledger-account-payouts.js.map +1 -0
- package/dist/cjs/resources/ledger-accounts.d.ts +1 -0
- package/dist/cjs/resources/ledger-transactions/index.d.ts +13 -2
- package/dist/cjs/resources/ledger-transactions/index.js +16 -30
- package/dist/cjs/resources/ledger-transactions/index.js.map +1 -1
- package/dist/cjs/resources/ledger-transactions/ledger-transactions.d.ts +2 -2
- package/dist/cjs/resources/ledger-transactions/ledger-transactions.js +1 -1
- package/dist/cjs/resources/ledger-transactions/ledger-transactions.js.map +1 -1
- package/dist/cjs/resources/ledger-transactions/versions.d.ts +150 -5
- package/dist/cjs/resources/ledger-transactions/versions.js +9 -2
- package/dist/cjs/resources/ledger-transactions/versions.js.map +1 -1
- package/dist/cjs/resources/payment-orders/index.d.ts +11 -2
- package/dist/cjs/resources/payment-orders/index.js +16 -30
- package/dist/cjs/resources/payment-orders/index.js.map +1 -1
- package/dist/cjs/resources/payment-orders/payment-orders.d.ts +12 -7
- package/dist/cjs/resources/payment-orders/payment-orders.js +1 -1
- package/dist/cjs/resources/payment-orders/payment-orders.js.map +1 -1
- package/dist/cjs/resources/payment-references.d.ts +112 -0
- package/dist/cjs/resources/payment-references.js +29 -0
- package/dist/cjs/resources/payment-references.js.map +1 -0
- package/dist/cjs/resources/returns.d.ts +6 -3
- package/dist/cjs/resources/routing-details.d.ts +1 -1
- package/dist/cjs/resources/shared.d.ts +1 -0
- package/dist/cjs/resources/transactions.d.ts +5 -2
- package/dist/cjs/resources/virtual-accounts.d.ts +2 -2
- package/dist/cjs/resources/virtual-accounts.js.map +1 -1
- package/dist/cjs/resources/webhooks.js.map +1 -1
- package/dist/cjs/tests/api-resources/internal-accounts/internal-accounts.test.js +2 -0
- package/dist/cjs/tests/api-resources/internal-accounts/internal-accounts.test.js.map +1 -1
- package/dist/cjs/tests/api-resources/ledger-account-categories.test.js +18 -1
- package/dist/cjs/tests/api-resources/ledger-account-categories.test.js.map +1 -1
- package/dist/cjs/tests/api-resources/ledger-account-payouts.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/ledger-account-payouts.test.js +140 -0
- package/dist/cjs/tests/api-resources/ledger-account-payouts.test.js.map +1 -0
- package/dist/cjs/tests/api-resources/ledger-accounts.test.js +2 -2
- package/dist/cjs/tests/api-resources/ledger-accounts.test.js.map +1 -1
- package/dist/cjs/tests/api-resources/ledger-transactions/versions.test.js +36 -0
- package/dist/cjs/tests/api-resources/ledger-transactions/versions.test.js.map +1 -1
- package/dist/cjs/tests/api-resources/payment-references.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/payment-references.test.js +96 -0
- package/dist/cjs/tests/api-resources/payment-references.test.js.map +1 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/fetch-polyfill.ts +66 -0
- package/index.ts +20 -2
- package/package.json +5 -6
- package/pagination.ts +1 -0
- package/resource.ts +2 -0
- package/resources/account-details.ts +6 -6
- package/resources/counterparties.ts +4 -4
- package/resources/external-accounts.ts +5 -5
- package/resources/incoming-payment-details.ts +11 -6
- package/resources/index.ts +149 -24
- package/resources/internal-accounts/balance-reports.ts +1 -0
- package/resources/internal-accounts/index.ts +9 -2
- package/resources/internal-accounts/internal-accounts.ts +10 -3
- package/resources/ledger-account-categories.ts +54 -6
- package/resources/ledger-account-payouts.ts +200 -0
- package/resources/ledger-accounts.ts +2 -0
- package/resources/ledger-transactions/index.ts +14 -2
- package/resources/ledger-transactions/ledger-transactions.ts +2 -2
- package/resources/ledger-transactions/versions.ts +180 -8
- package/resources/payment-orders/index.ts +12 -2
- package/resources/payment-orders/payment-orders.ts +12 -7
- package/resources/payment-references.ts +142 -0
- package/resources/returns.ts +6 -3
- package/resources/routing-details.ts +1 -1
- package/resources/shared.ts +2 -0
- package/resources/transactions.ts +5 -2
- package/resources/virtual-accounts.ts +2 -2
- package/resources/webhooks.ts +0 -1
- package/tests/api-resources/internal-accounts/internal-accounts.test.ts +2 -0
- package/tests/api-resources/ledger-account-categories.test.ts +18 -1
- package/tests/api-resources/ledger-account-payouts.test.ts +102 -0
- package/tests/api-resources/ledger-accounts.test.ts +2 -2
- package/tests/api-resources/ledger-transactions/versions.test.ts +36 -0
- package/tests/api-resources/payment-references.test.ts +58 -0
- package/version.ts +1 -1
package/.stats.yml
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
configured_endpoints:
|
|
1
|
+
configured_endpoints: 100
|
package/README.md
CHANGED
|
@@ -213,4 +213,4 @@ The following runtimes are supported:
|
|
|
213
213
|
- Deno v1.28.0 or higher (experimental).
|
|
214
214
|
Use `import ModernTreasury from "npm:modern-treasury"`.
|
|
215
215
|
|
|
216
|
-
If you are interested in other runtime environments, please open or upvote an issue on
|
|
216
|
+
If you are interested in other runtime environments, please open or upvote an issue on GitHub.
|
package/api.md
ADDED
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
# Connections
|
|
2
|
+
|
|
3
|
+
Models:
|
|
4
|
+
|
|
5
|
+
- <code><a href="./resources/connections.ts">Connection</a></code>
|
|
6
|
+
|
|
7
|
+
Methods:
|
|
8
|
+
|
|
9
|
+
- <code title="get /api/connections">client.connections.<a href="./resources/connections.ts">list</a>({ ...params }) -> ConnectionsPage</code>
|
|
10
|
+
|
|
11
|
+
# Counterparties
|
|
12
|
+
|
|
13
|
+
Models:
|
|
14
|
+
|
|
15
|
+
- <code><a href="./resources/counterparties.ts">Counterparty</a></code>
|
|
16
|
+
- <code><a href="./resources/counterparties.ts">CounterpartyCollectAccountResponse</a></code>
|
|
17
|
+
|
|
18
|
+
Methods:
|
|
19
|
+
|
|
20
|
+
- <code title="post /api/counterparties">client.counterparties.<a href="./resources/counterparties.ts">create</a>({ ...params }) -> Counterparty</code>
|
|
21
|
+
- <code title="get /api/counterparties/{id}">client.counterparties.<a href="./resources/counterparties.ts">retrieve</a>(id) -> Counterparty</code>
|
|
22
|
+
- <code title="patch /api/counterparties/{id}">client.counterparties.<a href="./resources/counterparties.ts">update</a>(id, { ...params }) -> Counterparty</code>
|
|
23
|
+
- <code title="get /api/counterparties">client.counterparties.<a href="./resources/counterparties.ts">list</a>({ ...params }) -> CounterpartiesPage</code>
|
|
24
|
+
- <code title="delete /api/counterparties/{id}">client.counterparties.<a href="./resources/counterparties.ts">del</a>(id) -> Promise<void></code>
|
|
25
|
+
- <code title="post /api/counterparties/{id}/collect_account">client.counterparties.<a href="./resources/counterparties.ts">collectAccount</a>(id, { ...params }) -> CounterpartyCollectAccountResponse</code>
|
|
26
|
+
|
|
27
|
+
# Events
|
|
28
|
+
|
|
29
|
+
Models:
|
|
30
|
+
|
|
31
|
+
- <code><a href="./resources/events.ts">Event</a></code>
|
|
32
|
+
|
|
33
|
+
Methods:
|
|
34
|
+
|
|
35
|
+
- <code title="get /api/events/{id}">client.events.<a href="./resources/events.ts">retrieve</a>(id) -> Event</code>
|
|
36
|
+
- <code title="get /api/events">client.events.<a href="./resources/events.ts">list</a>({ ...params }) -> EventsPage</code>
|
|
37
|
+
|
|
38
|
+
# ExpectedPayments
|
|
39
|
+
|
|
40
|
+
Models:
|
|
41
|
+
|
|
42
|
+
- <code><a href="./resources/expected-payments.ts">ExpectedPayment</a></code>
|
|
43
|
+
- <code><a href="./resources/expected-payments.ts">ExpectedPaymentType</a></code>
|
|
44
|
+
|
|
45
|
+
Methods:
|
|
46
|
+
|
|
47
|
+
- <code title="post /api/expected_payments">client.expectedPayments.<a href="./resources/expected-payments.ts">create</a>({ ...params }) -> ExpectedPayment</code>
|
|
48
|
+
- <code title="get /api/expected_payments/{id}">client.expectedPayments.<a href="./resources/expected-payments.ts">retrieve</a>(id) -> ExpectedPayment</code>
|
|
49
|
+
- <code title="patch /api/expected_payments/{id}">client.expectedPayments.<a href="./resources/expected-payments.ts">update</a>(id, { ...params }) -> ExpectedPayment</code>
|
|
50
|
+
- <code title="get /api/expected_payments">client.expectedPayments.<a href="./resources/expected-payments.ts">list</a>({ ...params }) -> ExpectedPaymentsPage</code>
|
|
51
|
+
- <code title="delete /api/expected_payments/{id}">client.expectedPayments.<a href="./resources/expected-payments.ts">del</a>(id) -> ExpectedPayment</code>
|
|
52
|
+
|
|
53
|
+
# ExternalAccounts
|
|
54
|
+
|
|
55
|
+
Models:
|
|
56
|
+
|
|
57
|
+
- <code><a href="./resources/external-accounts.ts">ExternalAccount</a></code>
|
|
58
|
+
- <code><a href="./resources/external-accounts.ts">ExternalAccountType</a></code>
|
|
59
|
+
|
|
60
|
+
Methods:
|
|
61
|
+
|
|
62
|
+
- <code title="post /api/external_accounts">client.externalAccounts.<a href="./resources/external-accounts.ts">create</a>({ ...params }) -> ExternalAccount</code>
|
|
63
|
+
- <code title="get /api/external_accounts/{id}">client.externalAccounts.<a href="./resources/external-accounts.ts">retrieve</a>(id) -> ExternalAccount</code>
|
|
64
|
+
- <code title="patch /api/external_accounts/{id}">client.externalAccounts.<a href="./resources/external-accounts.ts">update</a>(id, { ...params }) -> ExternalAccount</code>
|
|
65
|
+
- <code title="get /api/external_accounts">client.externalAccounts.<a href="./resources/external-accounts.ts">list</a>({ ...params }) -> ExternalAccountsPage</code>
|
|
66
|
+
- <code title="delete /api/external_accounts/{id}">client.externalAccounts.<a href="./resources/external-accounts.ts">del</a>(id) -> Promise<void></code>
|
|
67
|
+
- <code title="post /api/external_accounts/{id}/complete_verification">client.externalAccounts.<a href="./resources/external-accounts.ts">completeVerification</a>(id, { ...params }) -> ExternalAccount</code>
|
|
68
|
+
- <code title="post /api/external_accounts/{id}/verify">client.externalAccounts.<a href="./resources/external-accounts.ts">verify</a>(id, { ...params }) -> ExternalAccount</code>
|
|
69
|
+
|
|
70
|
+
# IncomingPaymentDetails
|
|
71
|
+
|
|
72
|
+
Models:
|
|
73
|
+
|
|
74
|
+
- <code><a href="./resources/incoming-payment-details.ts">IncomingPaymentDetail</a></code>
|
|
75
|
+
|
|
76
|
+
Methods:
|
|
77
|
+
|
|
78
|
+
- <code title="get /api/incoming_payment_details/{id}">client.incomingPaymentDetails.<a href="./resources/incoming-payment-details.ts">retrieve</a>(id) -> IncomingPaymentDetail</code>
|
|
79
|
+
- <code title="patch /api/incoming_payment_details/{id}">client.incomingPaymentDetails.<a href="./resources/incoming-payment-details.ts">update</a>(id, { ...params }) -> IncomingPaymentDetail</code>
|
|
80
|
+
- <code title="get /api/incoming_payment_details">client.incomingPaymentDetails.<a href="./resources/incoming-payment-details.ts">list</a>({ ...params }) -> IncomingPaymentDetailsPage</code>
|
|
81
|
+
- <code title="post /api/simulations/incoming_payment_details/create_async">client.incomingPaymentDetails.<a href="./resources/incoming-payment-details.ts">createAsync</a>({ ...params }) -> Promise<void></code>
|
|
82
|
+
|
|
83
|
+
# Documents
|
|
84
|
+
|
|
85
|
+
Models:
|
|
86
|
+
|
|
87
|
+
- <code><a href="./resources/documents.ts">Document</a></code>
|
|
88
|
+
|
|
89
|
+
Methods:
|
|
90
|
+
|
|
91
|
+
- <code title="post /api/{documentable_type}/{documentable_id}/documents">client.documents.<a href="./resources/documents.ts">create</a>(documentableType, documentableId, { ...params }) -> Document</code>
|
|
92
|
+
- <code title="get /api/{documentable_type}/{documentable_id}/documents/{id}">client.documents.<a href="./resources/documents.ts">retrieve</a>(documentableType, documentableId, id) -> Document</code>
|
|
93
|
+
- <code title="get /api/{documentable_type}/{documentable_id}/documents">client.documents.<a href="./resources/documents.ts">list</a>(documentableType, documentableId, { ...params }) -> DocumentsPage</code>
|
|
94
|
+
|
|
95
|
+
# AccountDetails
|
|
96
|
+
|
|
97
|
+
Models:
|
|
98
|
+
|
|
99
|
+
- <code><a href="./resources/account-details.ts">AccountDetail</a></code>
|
|
100
|
+
|
|
101
|
+
Methods:
|
|
102
|
+
|
|
103
|
+
- <code title="post /api/{accounts_type}/{account_id}/account_details">client.accountDetails.<a href="./resources/account-details.ts">create</a>(accountsType, accountId, { ...params }) -> AccountDetail</code>
|
|
104
|
+
- <code title="get /api/{accounts_type}/{account_id}/account_details/{id}">client.accountDetails.<a href="./resources/account-details.ts">retrieve</a>(accountsType, accountId, id) -> AccountDetail</code>
|
|
105
|
+
- <code title="get /api/{accounts_type}/{account_id}/account_details">client.accountDetails.<a href="./resources/account-details.ts">list</a>(accountsType, accountId, { ...params }) -> AccountDetailsPage</code>
|
|
106
|
+
- <code title="delete /api/{accounts_type}/{account_id}/account_details/{id}">client.accountDetails.<a href="./resources/account-details.ts">del</a>(accountsType, accountId, id) -> Promise<void></code>
|
|
107
|
+
|
|
108
|
+
# RoutingDetails
|
|
109
|
+
|
|
110
|
+
Models:
|
|
111
|
+
|
|
112
|
+
- <code><a href="./resources/routing-details.ts">RoutingDetail</a></code>
|
|
113
|
+
|
|
114
|
+
Methods:
|
|
115
|
+
|
|
116
|
+
- <code title="post /api/{accounts_type}/{account_id}/routing_details">client.routingDetails.<a href="./resources/routing-details.ts">create</a>(accountsType, accountId, { ...params }) -> RoutingDetail</code>
|
|
117
|
+
- <code title="get /api/{accounts_type}/{account_id}/routing_details/{id}">client.routingDetails.<a href="./resources/routing-details.ts">retrieve</a>(accountsType, accountId, id) -> RoutingDetail</code>
|
|
118
|
+
- <code title="get /api/{accounts_type}/{account_id}/routing_details">client.routingDetails.<a href="./resources/routing-details.ts">list</a>(accountsType, accountId, { ...params }) -> RoutingDetailsPage</code>
|
|
119
|
+
- <code title="delete /api/{accounts_type}/{account_id}/routing_details/{id}">client.routingDetails.<a href="./resources/routing-details.ts">del</a>(accountsType, accountId, id) -> Promise<void></code>
|
|
120
|
+
|
|
121
|
+
# InternalAccounts
|
|
122
|
+
|
|
123
|
+
Models:
|
|
124
|
+
|
|
125
|
+
- <code><a href="./resources/internal-accounts/internal-accounts.ts">InternalAccount</a></code>
|
|
126
|
+
|
|
127
|
+
Methods:
|
|
128
|
+
|
|
129
|
+
- <code title="post /api/internal_accounts">client.internalAccounts.<a href="./resources/internal-accounts/internal-accounts.ts">create</a>({ ...params }) -> InternalAccount</code>
|
|
130
|
+
- <code title="get /api/internal_accounts/{id}">client.internalAccounts.<a href="./resources/internal-accounts/internal-accounts.ts">retrieve</a>(id) -> InternalAccount</code>
|
|
131
|
+
- <code title="patch /api/internal_accounts/{id}">client.internalAccounts.<a href="./resources/internal-accounts/internal-accounts.ts">update</a>(id, { ...params }) -> InternalAccount</code>
|
|
132
|
+
- <code title="get /api/internal_accounts">client.internalAccounts.<a href="./resources/internal-accounts/internal-accounts.ts">list</a>({ ...params }) -> InternalAccountsPage</code>
|
|
133
|
+
|
|
134
|
+
## BalanceReports
|
|
135
|
+
|
|
136
|
+
Models:
|
|
137
|
+
|
|
138
|
+
- <code><a href="./resources/internal-accounts/balance-reports.ts">BalanceReport</a></code>
|
|
139
|
+
|
|
140
|
+
Methods:
|
|
141
|
+
|
|
142
|
+
- <code title="get /api/internal_accounts/{internal_account_id}/balance_reports/{id}">client.internalAccounts.balanceReports.<a href="./resources/internal-accounts/balance-reports.ts">retrieve</a>(internalAccountId, id) -> BalanceReport</code>
|
|
143
|
+
- <code title="get /api/internal_accounts/{internal_account_id}/balance_reports">client.internalAccounts.balanceReports.<a href="./resources/internal-accounts/balance-reports.ts">list</a>(internalAccountId, { ...params }) -> BalanceReportsPage</code>
|
|
144
|
+
|
|
145
|
+
# Ledgers
|
|
146
|
+
|
|
147
|
+
Models:
|
|
148
|
+
|
|
149
|
+
- <code><a href="./resources/ledgers.ts">Ledger</a></code>
|
|
150
|
+
|
|
151
|
+
Methods:
|
|
152
|
+
|
|
153
|
+
- <code title="post /api/ledgers">client.ledgers.<a href="./resources/ledgers.ts">create</a>({ ...params }) -> Ledger</code>
|
|
154
|
+
- <code title="get /api/ledgers/{id}">client.ledgers.<a href="./resources/ledgers.ts">retrieve</a>(id) -> Ledger</code>
|
|
155
|
+
- <code title="patch /api/ledgers/{id}">client.ledgers.<a href="./resources/ledgers.ts">update</a>(id, { ...params }) -> Ledger</code>
|
|
156
|
+
- <code title="get /api/ledgers">client.ledgers.<a href="./resources/ledgers.ts">list</a>({ ...params }) -> LedgersPage</code>
|
|
157
|
+
- <code title="delete /api/ledgers/{id}">client.ledgers.<a href="./resources/ledgers.ts">del</a>(id) -> Ledger</code>
|
|
158
|
+
|
|
159
|
+
# LedgerAccountCategories
|
|
160
|
+
|
|
161
|
+
Models:
|
|
162
|
+
|
|
163
|
+
- <code><a href="./resources/ledger-account-categories.ts">LedgerAccountCategory</a></code>
|
|
164
|
+
|
|
165
|
+
Methods:
|
|
166
|
+
|
|
167
|
+
- <code title="post /api/ledger_account_categories">client.ledgerAccountCategories.<a href="./resources/ledger-account-categories.ts">create</a>({ ...params }) -> LedgerAccountCategory</code>
|
|
168
|
+
- <code title="get /api/ledger_account_categories/{id}">client.ledgerAccountCategories.<a href="./resources/ledger-account-categories.ts">retrieve</a>(id, { ...params }) -> LedgerAccountCategory</code>
|
|
169
|
+
- <code title="patch /api/ledger_account_categories/{id}">client.ledgerAccountCategories.<a href="./resources/ledger-account-categories.ts">update</a>(id, { ...params }) -> LedgerAccountCategory</code>
|
|
170
|
+
- <code title="get /api/ledger_account_categories">client.ledgerAccountCategories.<a href="./resources/ledger-account-categories.ts">list</a>({ ...params }) -> LedgerAccountCategoriesPage</code>
|
|
171
|
+
- <code title="delete /api/ledger_account_categories/{id}">client.ledgerAccountCategories.<a href="./resources/ledger-account-categories.ts">del</a>(id) -> LedgerAccountCategory</code>
|
|
172
|
+
- <code title="put /api/ledger_account_categories/{id}/ledger_accounts/{ledger_account_id}">client.ledgerAccountCategories.<a href="./resources/ledger-account-categories.ts">addLedgerAccount</a>(id, ledgerAccountId) -> Promise<void></code>
|
|
173
|
+
- <code title="put /api/ledger_account_categories/{id}/ledger_account_categories/{sub_category_id}">client.ledgerAccountCategories.<a href="./resources/ledger-account-categories.ts">addNestedCategory</a>(id, subCategoryId) -> Promise<void></code>
|
|
174
|
+
- <code title="delete /api/ledger_account_categories/{id}/ledger_accounts/{ledger_account_id}">client.ledgerAccountCategories.<a href="./resources/ledger-account-categories.ts">removeLedgerAccount</a>(id, ledgerAccountId) -> Promise<void></code>
|
|
175
|
+
- <code title="delete /api/ledger_account_categories/{id}/ledger_account_categories/{sub_category_id}">client.ledgerAccountCategories.<a href="./resources/ledger-account-categories.ts">removeNestedCategory</a>(id, subCategoryId) -> Promise<void></code>
|
|
176
|
+
|
|
177
|
+
# LedgerAccounts
|
|
178
|
+
|
|
179
|
+
Models:
|
|
180
|
+
|
|
181
|
+
- <code><a href="./resources/ledger-accounts.ts">LedgerAccount</a></code>
|
|
182
|
+
|
|
183
|
+
Methods:
|
|
184
|
+
|
|
185
|
+
- <code title="post /api/ledger_accounts">client.ledgerAccounts.<a href="./resources/ledger-accounts.ts">create</a>({ ...params }) -> LedgerAccount</code>
|
|
186
|
+
- <code title="get /api/ledger_accounts/{id}">client.ledgerAccounts.<a href="./resources/ledger-accounts.ts">retrieve</a>(id, { ...params }) -> LedgerAccount</code>
|
|
187
|
+
- <code title="patch /api/ledger_accounts/{id}">client.ledgerAccounts.<a href="./resources/ledger-accounts.ts">update</a>(id, { ...params }) -> LedgerAccount</code>
|
|
188
|
+
- <code title="get /api/ledger_accounts">client.ledgerAccounts.<a href="./resources/ledger-accounts.ts">list</a>({ ...params }) -> LedgerAccountsPage</code>
|
|
189
|
+
- <code title="delete /api/ledger_accounts/{id}">client.ledgerAccounts.<a href="./resources/ledger-accounts.ts">del</a>(id) -> LedgerAccount</code>
|
|
190
|
+
|
|
191
|
+
# LedgerAccountPayouts
|
|
192
|
+
|
|
193
|
+
Models:
|
|
194
|
+
|
|
195
|
+
- <code><a href="./resources/ledger-account-payouts.ts">LedgerAccountPayout</a></code>
|
|
196
|
+
|
|
197
|
+
Methods:
|
|
198
|
+
|
|
199
|
+
- <code title="post /api/ledger_account_payouts">client.ledgerAccountPayouts.<a href="./resources/ledger-account-payouts.ts">create</a>({ ...params }) -> LedgerAccountPayout</code>
|
|
200
|
+
- <code title="patch /api/ledger_account_payouts/{id}">client.ledgerAccountPayouts.<a href="./resources/ledger-account-payouts.ts">update</a>(id, { ...params }) -> LedgerAccountPayout</code>
|
|
201
|
+
- <code title="get /api/ledger_account_payouts">client.ledgerAccountPayouts.<a href="./resources/ledger-account-payouts.ts">list</a>({ ...params }) -> LedgerAccountPayoutsPage</code>
|
|
202
|
+
- <code title="get /api/ledger_account_payouts/{id}">client.ledgerAccountPayouts.<a href="./resources/ledger-account-payouts.ts">retireve</a>(id) -> LedgerAccountPayout</code>
|
|
203
|
+
|
|
204
|
+
# LedgerEntries
|
|
205
|
+
|
|
206
|
+
Models:
|
|
207
|
+
|
|
208
|
+
- <code><a href="./resources/ledger-entries.ts">LedgerEntry</a></code>
|
|
209
|
+
|
|
210
|
+
Methods:
|
|
211
|
+
|
|
212
|
+
- <code title="get /api/ledger_entries/{id}">client.ledgerEntries.<a href="./resources/ledger-entries.ts">retrieve</a>(id) -> LedgerEntry</code>
|
|
213
|
+
- <code title="get /api/ledger_entries">client.ledgerEntries.<a href="./resources/ledger-entries.ts">list</a>({ ...params }) -> LedgerEntriesPage</code>
|
|
214
|
+
|
|
215
|
+
# LedgerTransactions
|
|
216
|
+
|
|
217
|
+
Models:
|
|
218
|
+
|
|
219
|
+
- <code><a href="./resources/ledger-transactions/ledger-transactions.ts">LedgerTransaction</a></code>
|
|
220
|
+
|
|
221
|
+
Methods:
|
|
222
|
+
|
|
223
|
+
- <code title="post /api/ledger_transactions">client.ledgerTransactions.<a href="./resources/ledger-transactions/ledger-transactions.ts">create</a>({ ...params }) -> LedgerTransaction</code>
|
|
224
|
+
- <code title="get /api/ledger_transactions/{id}">client.ledgerTransactions.<a href="./resources/ledger-transactions/ledger-transactions.ts">retrieve</a>(id) -> LedgerTransaction</code>
|
|
225
|
+
- <code title="patch /api/ledger_transactions/{id}">client.ledgerTransactions.<a href="./resources/ledger-transactions/ledger-transactions.ts">update</a>(id, { ...params }) -> LedgerTransaction</code>
|
|
226
|
+
- <code title="get /api/ledger_transactions">client.ledgerTransactions.<a href="./resources/ledger-transactions/ledger-transactions.ts">list</a>({ ...params }) -> LedgerTransactionsPage</code>
|
|
227
|
+
|
|
228
|
+
## Versions
|
|
229
|
+
|
|
230
|
+
Models:
|
|
231
|
+
|
|
232
|
+
- <code><a href="./resources/ledger-transactions/versions.ts">LedgerTransactionVersion</a></code>
|
|
233
|
+
|
|
234
|
+
Methods:
|
|
235
|
+
|
|
236
|
+
- <code title="get /api/ledger_transactions/{id}/versions">client.ledgerTransactions.versions.<a href="./resources/ledger-transactions/versions.ts">list</a>(id, { ...params }) -> LedgerTransactionVersionsPage</code>
|
|
237
|
+
|
|
238
|
+
# LineItems
|
|
239
|
+
|
|
240
|
+
Models:
|
|
241
|
+
|
|
242
|
+
- <code><a href="./resources/line-items.ts">LineItem</a></code>
|
|
243
|
+
|
|
244
|
+
Methods:
|
|
245
|
+
|
|
246
|
+
- <code title="get /api/{itemizable_type}/{itemizable_id}/line_items/{id}">client.lineItems.<a href="./resources/line-items.ts">retrieve</a>(itemizableType, itemizableId, id) -> LineItem</code>
|
|
247
|
+
- <code title="patch /api/{itemizable_type}/{itemizable_id}/line_items/{id}">client.lineItems.<a href="./resources/line-items.ts">update</a>(itemizableType, itemizableId, id, { ...params }) -> LineItem</code>
|
|
248
|
+
- <code title="get /api/{itemizable_type}/{itemizable_id}/line_items">client.lineItems.<a href="./resources/line-items.ts">list</a>(itemizableType, itemizableId, { ...params }) -> LineItemsPage</code>
|
|
249
|
+
|
|
250
|
+
# PaymentOrders
|
|
251
|
+
|
|
252
|
+
Models:
|
|
253
|
+
|
|
254
|
+
- <code><a href="./resources/payment-orders/payment-orders.ts">PaymentOrder</a></code>
|
|
255
|
+
- <code><a href="./resources/payment-orders/payment-orders.ts">PaymentOrderSubtype</a></code>
|
|
256
|
+
- <code><a href="./resources/payment-orders/payment-orders.ts">PaymentOrderType</a></code>
|
|
257
|
+
|
|
258
|
+
Methods:
|
|
259
|
+
|
|
260
|
+
- <code title="post /api/payment_orders">client.paymentOrders.<a href="./resources/payment-orders/payment-orders.ts">create</a>({ ...params }) -> PaymentOrder</code>
|
|
261
|
+
- <code title="get /api/payment_orders/{id}">client.paymentOrders.<a href="./resources/payment-orders/payment-orders.ts">retrieve</a>(id) -> PaymentOrder</code>
|
|
262
|
+
- <code title="patch /api/payment_orders/{id}">client.paymentOrders.<a href="./resources/payment-orders/payment-orders.ts">update</a>(id, { ...params }) -> PaymentOrder</code>
|
|
263
|
+
- <code title="get /api/payment_orders">client.paymentOrders.<a href="./resources/payment-orders/payment-orders.ts">list</a>({ ...params }) -> PaymentOrdersPage</code>
|
|
264
|
+
- <code title="post /api/payment_orders/create_async">client.paymentOrders.<a href="./resources/payment-orders/payment-orders.ts">createAsync</a>({ ...params }) -> Promise<void></code>
|
|
265
|
+
|
|
266
|
+
## Reversals
|
|
267
|
+
|
|
268
|
+
Models:
|
|
269
|
+
|
|
270
|
+
- <code><a href="./resources/payment-orders/reversals.ts">Reversal</a></code>
|
|
271
|
+
|
|
272
|
+
Methods:
|
|
273
|
+
|
|
274
|
+
- <code title="post /api/payment_orders/{payment_order_id}/reversals">client.paymentOrders.reversals.<a href="./resources/payment-orders/reversals.ts">create</a>(paymentOrderId, { ...params }) -> Reversal</code>
|
|
275
|
+
- <code title="get /api/payment_orders/{payment_order_id}/reversals/{reversal_id}">client.paymentOrders.reversals.<a href="./resources/payment-orders/reversals.ts">retrieve</a>(paymentOrderId, reversalId) -> Reversal</code>
|
|
276
|
+
- <code title="get /api/payment_orders/{payment_order_id}/reversals">client.paymentOrders.reversals.<a href="./resources/payment-orders/reversals.ts">list</a>(paymentOrderId, { ...params }) -> ReversalsPage</code>
|
|
277
|
+
|
|
278
|
+
# PaymentReferences
|
|
279
|
+
|
|
280
|
+
Models:
|
|
281
|
+
|
|
282
|
+
- <code><a href="./resources/payment-references.ts">PaymentReference</a></code>
|
|
283
|
+
|
|
284
|
+
Methods:
|
|
285
|
+
|
|
286
|
+
- <code title="get /api/payment_references">client.paymentReferences.<a href="./resources/payment-references.ts">list</a>({ ...params }) -> PaymentReferencesPage</code>
|
|
287
|
+
- <code title="get /api/payment_references/{id}">client.paymentReferences.<a href="./resources/payment-references.ts">retireve</a>(id) -> PaymentReference</code>
|
|
288
|
+
|
|
289
|
+
# Returns
|
|
290
|
+
|
|
291
|
+
Models:
|
|
292
|
+
|
|
293
|
+
- <code><a href="./resources/returns.ts">ReturnObject</a></code>
|
|
294
|
+
|
|
295
|
+
Methods:
|
|
296
|
+
|
|
297
|
+
- <code title="post /api/returns">client.returns.<a href="./resources/returns.ts">create</a>({ ...params }) -> ReturnObject</code>
|
|
298
|
+
- <code title="get /api/returns/{id}">client.returns.<a href="./resources/returns.ts">retrieve</a>(id) -> ReturnObject</code>
|
|
299
|
+
- <code title="get /api/returns">client.returns.<a href="./resources/returns.ts">list</a>({ ...params }) -> ReturnObjectsPage</code>
|
|
300
|
+
|
|
301
|
+
# Transactions
|
|
302
|
+
|
|
303
|
+
Models:
|
|
304
|
+
|
|
305
|
+
- <code><a href="./resources/transactions.ts">Transaction</a></code>
|
|
306
|
+
|
|
307
|
+
Methods:
|
|
308
|
+
|
|
309
|
+
- <code title="get /api/transactions/{id}">client.transactions.<a href="./resources/transactions.ts">retrieve</a>(id) -> Transaction</code>
|
|
310
|
+
- <code title="patch /api/transactions/{id}">client.transactions.<a href="./resources/transactions.ts">update</a>(id, { ...params }) -> Transaction</code>
|
|
311
|
+
- <code title="get /api/transactions">client.transactions.<a href="./resources/transactions.ts">list</a>({ ...params }) -> TransactionsPage</code>
|
|
312
|
+
|
|
313
|
+
# Validations
|
|
314
|
+
|
|
315
|
+
Models:
|
|
316
|
+
|
|
317
|
+
- <code><a href="./resources/validations.ts">RoutingNumberLookupRequest</a></code>
|
|
318
|
+
|
|
319
|
+
Methods:
|
|
320
|
+
|
|
321
|
+
- <code title="get /api/validations/routing_numbers">client.validations.<a href="./resources/validations.ts">validateRoutingNumber</a>({ ...params }) -> RoutingNumberLookupRequest</code>
|
|
322
|
+
|
|
323
|
+
# PaperItems
|
|
324
|
+
|
|
325
|
+
Models:
|
|
326
|
+
|
|
327
|
+
- <code><a href="./resources/paper-items.ts">PaperItem</a></code>
|
|
328
|
+
|
|
329
|
+
Methods:
|
|
330
|
+
|
|
331
|
+
- <code title="get /api/paper_items/{id}">client.paperItems.<a href="./resources/paper-items.ts">retrieve</a>(id) -> PaperItem</code>
|
|
332
|
+
- <code title="get /api/paper_items">client.paperItems.<a href="./resources/paper-items.ts">list</a>({ ...params }) -> PaperItemsPage</code>
|
|
333
|
+
|
|
334
|
+
# Webhooks
|
|
335
|
+
|
|
336
|
+
Custom Methods:
|
|
337
|
+
|
|
338
|
+
- `getSignature`
|
|
339
|
+
- `validateSignature`
|
|
340
|
+
|
|
341
|
+
# VirtualAccounts
|
|
342
|
+
|
|
343
|
+
Models:
|
|
344
|
+
|
|
345
|
+
- <code><a href="./resources/virtual-accounts.ts">VirtualAccount</a></code>
|
|
346
|
+
|
|
347
|
+
Methods:
|
|
348
|
+
|
|
349
|
+
- <code title="post /api/virtual_accounts">client.virtualAccounts.<a href="./resources/virtual-accounts.ts">create</a>({ ...params }) -> VirtualAccount</code>
|
|
350
|
+
- <code title="get /api/virtual_accounts/{id}">client.virtualAccounts.<a href="./resources/virtual-accounts.ts">retrieve</a>(id) -> Promise<void></code>
|
|
351
|
+
- <code title="patch /api/virtual_accounts/{id}">client.virtualAccounts.<a href="./resources/virtual-accounts.ts">update</a>(id, { ...params }) -> VirtualAccount</code>
|
|
352
|
+
- <code title="get /api/virtual_accounts">client.virtualAccounts.<a href="./resources/virtual-accounts.ts">list</a>({ ...params }) -> VirtualAccountsPage</code>
|
|
353
|
+
- <code title="delete /api/virtual_accounts/{id}">client.virtualAccounts.<a href="./resources/virtual-accounts.ts">del</a>(id) -> VirtualAccount</code>
|
package/core.ts
CHANGED
|
@@ -1,37 +1,13 @@
|
|
|
1
1
|
import qs from 'qs';
|
|
2
2
|
|
|
3
3
|
import type { Agent } from 'http';
|
|
4
|
-
import type NodeFetch from 'node-fetch';
|
|
5
4
|
import type { RequestInfo, RequestInit, Response } from 'node-fetch';
|
|
6
|
-
import type KeepAliveAgent from 'agentkeepalive';
|
|
7
|
-
import { AbortController as AbortControllerPolyfill } from 'abort-controller';
|
|
8
5
|
import { FormData, File, Blob } from 'formdata-node';
|
|
9
6
|
import { FormDataEncoder } from 'form-data-encoder';
|
|
10
7
|
import { Readable } from 'stream';
|
|
11
8
|
|
|
12
9
|
import { VERSION } from './version';
|
|
13
|
-
|
|
14
|
-
const isNode = typeof process !== 'undefined' && typeof Deno === 'undefined';
|
|
15
|
-
let nodeFetch: typeof NodeFetch | undefined = undefined;
|
|
16
|
-
let getDefaultAgent = (_url: string): Agent | undefined => undefined;
|
|
17
|
-
if (isNode) {
|
|
18
|
-
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
19
|
-
nodeFetch = require('node-fetch').default;
|
|
20
|
-
const HttpAgent: typeof KeepAliveAgent = require('agentkeepalive');
|
|
21
|
-
const HttpsAgent = HttpAgent.HttpsAgent;
|
|
22
|
-
/* eslint-enable @typescript-eslint/no-var-requires */
|
|
23
|
-
|
|
24
|
-
const defaultHttpAgent = new HttpAgent({ keepAlive: true });
|
|
25
|
-
const defaultHttpsAgent = new HttpsAgent({ keepAlive: true });
|
|
26
|
-
getDefaultAgent = (url: string) => (url.startsWith('https') ? defaultHttpsAgent : defaultHttpAgent);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
AbortController ??= AbortControllerPolyfill;
|
|
30
|
-
|
|
31
|
-
const DEFAULT_MAX_RETRIES = 2;
|
|
32
|
-
const DEFAULT_TIMEOUT = 60 * 1000; // 60s
|
|
33
|
-
|
|
34
|
-
type Fetch = (url: RequestInfo, init?: RequestInit) => Promise<Response>;
|
|
10
|
+
import { Fetch, getDefaultAgent, getFetch } from './fetch-polyfill';
|
|
35
11
|
|
|
36
12
|
export abstract class APIClient {
|
|
37
13
|
baseURL: string;
|
|
@@ -44,8 +20,8 @@ export abstract class APIClient {
|
|
|
44
20
|
|
|
45
21
|
constructor({
|
|
46
22
|
baseURL,
|
|
47
|
-
maxRetries =
|
|
48
|
-
timeout =
|
|
23
|
+
maxRetries = 2,
|
|
24
|
+
timeout = 60 * 1000, // 60s
|
|
49
25
|
httpAgent,
|
|
50
26
|
}: {
|
|
51
27
|
baseURL: string;
|
|
@@ -58,18 +34,7 @@ export abstract class APIClient {
|
|
|
58
34
|
this.timeout = validatePositiveInteger('timeout', timeout);
|
|
59
35
|
this.httpAgent = httpAgent;
|
|
60
36
|
|
|
61
|
-
|
|
62
|
-
this.fetch = nodeFetch!;
|
|
63
|
-
} else {
|
|
64
|
-
// For other environments, use a global fetch function expected to already be present
|
|
65
|
-
if (typeof fetch === 'undefined' || typeof fetch !== 'function') {
|
|
66
|
-
throw new Error(
|
|
67
|
-
`Unexpected; running in a non-Node environment without a global "fetch" function defined.`,
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
// For now, we just pretend that Fetch is the same type as NodeFetch.
|
|
71
|
-
this.fetch = fetch as unknown as Fetch;
|
|
72
|
-
}
|
|
37
|
+
this.fetch = getFetch();
|
|
73
38
|
}
|
|
74
39
|
|
|
75
40
|
protected authHeaders(): Headers {
|
|
@@ -827,11 +792,24 @@ export const ensurePresent = <T>(value: T | null | undefined): T => {
|
|
|
827
792
|
|
|
828
793
|
export const coerceInteger = (value: unknown): number => {
|
|
829
794
|
if (typeof value === 'number') return Math.round(value);
|
|
830
|
-
if (typeof value === 'string') return parseInt(value);
|
|
795
|
+
if (typeof value === 'string') return parseInt(value, 10);
|
|
831
796
|
|
|
832
797
|
throw new Error(`Could not coerce ${value} (type: ${typeof value}) into a number`);
|
|
833
798
|
};
|
|
834
799
|
|
|
800
|
+
export const coerceFloat = (value: unknown): number => {
|
|
801
|
+
if (typeof value === 'number') return value;
|
|
802
|
+
if (typeof value === 'string') return parseFloat(value);
|
|
803
|
+
|
|
804
|
+
throw new Error(`Could not coerce ${value} (type: ${typeof value}) into a number`);
|
|
805
|
+
};
|
|
806
|
+
|
|
807
|
+
export const coerceBoolean = (value: unknown): boolean => {
|
|
808
|
+
if (typeof value === 'boolean') return value;
|
|
809
|
+
if (typeof value === 'string') return value === 'true';
|
|
810
|
+
return Boolean(value);
|
|
811
|
+
};
|
|
812
|
+
|
|
835
813
|
// https://stackoverflow.com/a/34491287
|
|
836
814
|
export function isEmptyObj(obj: Object | null | undefined): boolean {
|
|
837
815
|
if (!obj) return true;
|
package/dist/cjs/core.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
/// <reference types="web" />
|
|
3
2
|
/// <reference types="node" />
|
|
4
3
|
/// <reference types="node" />
|
|
5
4
|
import qs from 'qs';
|
|
6
5
|
import type { Agent } from 'http';
|
|
7
6
|
import type { RequestInfo, RequestInit, Response } from 'node-fetch';
|
|
8
7
|
import { Readable } from 'stream';
|
|
9
|
-
|
|
8
|
+
import { Fetch } from './fetch-polyfill';
|
|
10
9
|
export declare abstract class APIClient {
|
|
11
10
|
baseURL: string;
|
|
12
11
|
maxRetries: number;
|
|
@@ -17,7 +16,7 @@ export declare abstract class APIClient {
|
|
|
17
16
|
constructor({
|
|
18
17
|
baseURL,
|
|
19
18
|
maxRetries,
|
|
20
|
-
timeout,
|
|
19
|
+
timeout, // 60s
|
|
21
20
|
httpAgent,
|
|
22
21
|
}: {
|
|
23
22
|
baseURL: string;
|
|
@@ -239,6 +238,8 @@ export declare const multipartFormRequestOptions: <T extends {} = Record<string,
|
|
|
239
238
|
) => RequestOptions<Readable | T>;
|
|
240
239
|
export declare const ensurePresent: <T>(value: T | null | undefined) => T;
|
|
241
240
|
export declare const coerceInteger: (value: unknown) => number;
|
|
241
|
+
export declare const coerceFloat: (value: unknown) => number;
|
|
242
|
+
export declare const coerceBoolean: (value: unknown) => boolean;
|
|
242
243
|
export declare function isEmptyObj(obj: Object | null | undefined): boolean;
|
|
243
244
|
export declare function hasOwn(obj: Object, key: string): boolean;
|
|
244
245
|
export interface HeadersProtocol {
|
package/dist/cjs/core.js
CHANGED
|
@@ -161,6 +161,8 @@ exports.getHeader =
|
|
|
161
161
|
exports.isHeadersProtocol =
|
|
162
162
|
exports.hasOwn =
|
|
163
163
|
exports.isEmptyObj =
|
|
164
|
+
exports.coerceBoolean =
|
|
165
|
+
exports.coerceFloat =
|
|
164
166
|
exports.coerceInteger =
|
|
165
167
|
exports.ensurePresent =
|
|
166
168
|
exports.multipartFormRequestOptions =
|
|
@@ -184,47 +186,23 @@ exports.getHeader =
|
|
|
184
186
|
exports.APIClient =
|
|
185
187
|
void 0;
|
|
186
188
|
const qs_1 = __importDefault(require('qs'));
|
|
187
|
-
const abort_controller_1 = require('abort-controller');
|
|
188
189
|
const formdata_node_1 = require('formdata-node');
|
|
189
190
|
const form_data_encoder_1 = require('form-data-encoder');
|
|
190
191
|
const stream_1 = require('stream');
|
|
191
192
|
const version_1 = require('./version');
|
|
192
|
-
const
|
|
193
|
-
let nodeFetch = undefined;
|
|
194
|
-
let getDefaultAgent = (_url) => undefined;
|
|
195
|
-
if (isNode) {
|
|
196
|
-
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
197
|
-
nodeFetch = require('node-fetch').default;
|
|
198
|
-
const HttpAgent = require('agentkeepalive');
|
|
199
|
-
const HttpsAgent = HttpAgent.HttpsAgent;
|
|
200
|
-
/* eslint-enable @typescript-eslint/no-var-requires */
|
|
201
|
-
const defaultHttpAgent = new HttpAgent({ keepAlive: true });
|
|
202
|
-
const defaultHttpsAgent = new HttpsAgent({ keepAlive: true });
|
|
203
|
-
getDefaultAgent = (url) => (url.startsWith('https') ? defaultHttpsAgent : defaultHttpAgent);
|
|
204
|
-
}
|
|
205
|
-
AbortController !== null && AbortController !== void 0 ?
|
|
206
|
-
AbortController
|
|
207
|
-
: (AbortController = abort_controller_1.AbortController);
|
|
208
|
-
const DEFAULT_MAX_RETRIES = 2;
|
|
209
|
-
const DEFAULT_TIMEOUT = 60 * 1000; // 60s
|
|
193
|
+
const fetch_polyfill_1 = require('./fetch-polyfill');
|
|
210
194
|
class APIClient {
|
|
211
|
-
constructor({
|
|
195
|
+
constructor({
|
|
196
|
+
baseURL,
|
|
197
|
+
maxRetries = 2,
|
|
198
|
+
timeout = 60 * 1000, // 60s
|
|
199
|
+
httpAgent,
|
|
200
|
+
}) {
|
|
212
201
|
this.baseURL = baseURL;
|
|
213
202
|
this.maxRetries = validatePositiveInteger('maxRetries', maxRetries);
|
|
214
203
|
this.timeout = validatePositiveInteger('timeout', timeout);
|
|
215
204
|
this.httpAgent = httpAgent;
|
|
216
|
-
|
|
217
|
-
this.fetch = nodeFetch;
|
|
218
|
-
} else {
|
|
219
|
-
// For other environments, use a global fetch function expected to already be present
|
|
220
|
-
if (typeof fetch === 'undefined' || typeof fetch !== 'function') {
|
|
221
|
-
throw new Error(
|
|
222
|
-
`Unexpected; running in a non-Node environment without a global "fetch" function defined.`,
|
|
223
|
-
);
|
|
224
|
-
}
|
|
225
|
-
// For now, we just pretend that Fetch is the same type as NodeFetch.
|
|
226
|
-
this.fetch = fetch;
|
|
227
|
-
}
|
|
205
|
+
this.fetch = (0, fetch_polyfill_1.getFetch)();
|
|
228
206
|
}
|
|
229
207
|
authHeaders() {
|
|
230
208
|
return {};
|
|
@@ -297,7 +275,7 @@ class APIClient {
|
|
|
297
275
|
_b !== void 0
|
|
298
276
|
) ?
|
|
299
277
|
_b
|
|
300
|
-
: getDefaultAgent(url);
|
|
278
|
+
: (0, fetch_polyfill_1.getDefaultAgent)(url);
|
|
301
279
|
const timeout = (_c = options.timeout) !== null && _c !== void 0 ? _c : this.timeout;
|
|
302
280
|
validatePositiveInteger('timeout', timeout);
|
|
303
281
|
if (this.idempotencyHeader && method !== 'get') {
|
|
@@ -887,10 +865,22 @@ const ensurePresent = (value) => {
|
|
|
887
865
|
exports.ensurePresent = ensurePresent;
|
|
888
866
|
const coerceInteger = (value) => {
|
|
889
867
|
if (typeof value === 'number') return Math.round(value);
|
|
890
|
-
if (typeof value === 'string') return parseInt(value);
|
|
868
|
+
if (typeof value === 'string') return parseInt(value, 10);
|
|
891
869
|
throw new Error(`Could not coerce ${value} (type: ${typeof value}) into a number`);
|
|
892
870
|
};
|
|
893
871
|
exports.coerceInteger = coerceInteger;
|
|
872
|
+
const coerceFloat = (value) => {
|
|
873
|
+
if (typeof value === 'number') return value;
|
|
874
|
+
if (typeof value === 'string') return parseFloat(value);
|
|
875
|
+
throw new Error(`Could not coerce ${value} (type: ${typeof value}) into a number`);
|
|
876
|
+
};
|
|
877
|
+
exports.coerceFloat = coerceFloat;
|
|
878
|
+
const coerceBoolean = (value) => {
|
|
879
|
+
if (typeof value === 'boolean') return value;
|
|
880
|
+
if (typeof value === 'string') return value === 'true';
|
|
881
|
+
return Boolean(value);
|
|
882
|
+
};
|
|
883
|
+
exports.coerceBoolean = coerceBoolean;
|
|
894
884
|
// https://stackoverflow.com/a/34491287
|
|
895
885
|
function isEmptyObj(obj) {
|
|
896
886
|
if (!obj) return true;
|