modern-treasury 2.2.0 → 2.3.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.
Files changed (210) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +41 -15
  3. package/_shims/ReadableStream.d.ts +38 -0
  4. package/_shims/ReadableStream.js +5 -0
  5. package/_shims/ReadableStream.mjs +7 -0
  6. package/_shims/ReadableStream.node.d.ts +6 -0
  7. package/_shims/ReadableStream.node.d.ts.map +1 -0
  8. package/_shims/ReadableStream.node.js +14 -0
  9. package/_shims/ReadableStream.node.js.map +1 -0
  10. package/_shims/ReadableStream.node.mjs +3 -0
  11. package/_shims/ReadableStream.node.mjs.map +1 -0
  12. package/_shims/fetch.d.ts +8 -1
  13. package/_shims/fetch.node.d.ts +11 -1
  14. package/core.d.ts +78 -29
  15. package/core.d.ts.map +1 -1
  16. package/core.js +185 -61
  17. package/core.js.map +1 -1
  18. package/core.mjs +179 -61
  19. package/core.mjs.map +1 -1
  20. package/index.d.mts +1 -2
  21. package/index.d.ts +1 -2
  22. package/index.d.ts.map +1 -1
  23. package/index.js +4 -4
  24. package/index.js.map +1 -1
  25. package/index.mjs +4 -4
  26. package/index.mjs.map +1 -1
  27. package/package.json +1 -1
  28. package/pagination.d.ts +2 -2
  29. package/pagination.d.ts.map +1 -1
  30. package/pagination.js +5 -5
  31. package/pagination.js.map +1 -1
  32. package/pagination.mjs +5 -5
  33. package/pagination.mjs.map +1 -1
  34. package/resources/account-collection-flows.d.ts +6 -6
  35. package/resources/account-collection-flows.d.ts.map +1 -1
  36. package/resources/account-details.d.ts +5 -5
  37. package/resources/account-details.d.ts.map +1 -1
  38. package/resources/connections.d.ts +5 -2
  39. package/resources/connections.d.ts.map +1 -1
  40. package/resources/connections.js.map +1 -1
  41. package/resources/connections.mjs.map +1 -1
  42. package/resources/counterparties.d.ts +11 -11
  43. package/resources/counterparties.d.ts.map +1 -1
  44. package/resources/counterparties.js.map +1 -1
  45. package/resources/counterparties.mjs.map +1 -1
  46. package/resources/documents.d.ts +4 -4
  47. package/resources/documents.d.ts.map +1 -1
  48. package/resources/documents.js +2 -2
  49. package/resources/documents.js.map +1 -1
  50. package/resources/documents.mjs +2 -2
  51. package/resources/documents.mjs.map +1 -1
  52. package/resources/events.d.ts +3 -3
  53. package/resources/events.d.ts.map +1 -1
  54. package/resources/expected-payments.d.ts +7 -7
  55. package/resources/expected-payments.d.ts.map +1 -1
  56. package/resources/external-accounts.d.ts +10 -10
  57. package/resources/external-accounts.d.ts.map +1 -1
  58. package/resources/incoming-payment-details.d.ts +11 -7
  59. package/resources/incoming-payment-details.d.ts.map +1 -1
  60. package/resources/incoming-payment-details.js.map +1 -1
  61. package/resources/incoming-payment-details.mjs.map +1 -1
  62. package/resources/index.d.ts +0 -1
  63. package/resources/index.d.ts.map +1 -1
  64. package/resources/index.js.map +1 -1
  65. package/resources/index.mjs.map +1 -1
  66. package/resources/internal-accounts/balance-reports.d.ts +6 -3
  67. package/resources/internal-accounts/balance-reports.d.ts.map +1 -1
  68. package/resources/internal-accounts/balance-reports.js.map +1 -1
  69. package/resources/internal-accounts/balance-reports.mjs.map +1 -1
  70. package/resources/internal-accounts/internal-accounts.d.ts +6 -6
  71. package/resources/internal-accounts/internal-accounts.d.ts.map +1 -1
  72. package/resources/invoices/invoices.d.ts +46 -13
  73. package/resources/invoices/invoices.d.ts.map +1 -1
  74. package/resources/invoices/invoices.js.map +1 -1
  75. package/resources/invoices/invoices.mjs.map +1 -1
  76. package/resources/invoices/line-items.d.ts +23 -171
  77. package/resources/invoices/line-items.d.ts.map +1 -1
  78. package/resources/invoices/line-items.js.map +1 -1
  79. package/resources/invoices/line-items.mjs.map +1 -1
  80. package/resources/ledger-account-categories.d.ts +39 -74
  81. package/resources/ledger-account-categories.d.ts.map +1 -1
  82. package/resources/ledger-account-categories.js +11 -13
  83. package/resources/ledger-account-categories.js.map +1 -1
  84. package/resources/ledger-account-categories.mjs +11 -13
  85. package/resources/ledger-account-categories.mjs.map +1 -1
  86. package/resources/ledger-account-payouts.d.ts +22 -6
  87. package/resources/ledger-account-payouts.d.ts.map +1 -1
  88. package/resources/ledger-account-payouts.js.map +1 -1
  89. package/resources/ledger-account-payouts.mjs.map +1 -1
  90. package/resources/ledger-account-statements.d.ts +2 -2
  91. package/resources/ledger-account-statements.d.ts.map +1 -1
  92. package/resources/ledger-accounts.d.ts +17 -12
  93. package/resources/ledger-accounts.d.ts.map +1 -1
  94. package/resources/ledger-accounts.js.map +1 -1
  95. package/resources/ledger-accounts.mjs.map +1 -1
  96. package/resources/ledger-entries.d.ts +20 -6
  97. package/resources/ledger-entries.d.ts.map +1 -1
  98. package/resources/ledger-entries.js.map +1 -1
  99. package/resources/ledger-entries.mjs.map +1 -1
  100. package/resources/ledger-event-handlers.d.ts +7 -8
  101. package/resources/ledger-event-handlers.d.ts.map +1 -1
  102. package/resources/ledger-event-handlers.js.map +1 -1
  103. package/resources/ledger-event-handlers.mjs.map +1 -1
  104. package/resources/ledger-transactions/ledger-transactions.d.ts +35 -18
  105. package/resources/ledger-transactions/ledger-transactions.d.ts.map +1 -1
  106. package/resources/ledger-transactions/ledger-transactions.js +3 -3
  107. package/resources/ledger-transactions/ledger-transactions.js.map +1 -1
  108. package/resources/ledger-transactions/ledger-transactions.mjs +3 -3
  109. package/resources/ledger-transactions/ledger-transactions.mjs.map +1 -1
  110. package/resources/ledger-transactions/versions.d.ts +4 -2
  111. package/resources/ledger-transactions/versions.d.ts.map +1 -1
  112. package/resources/ledger-transactions/versions.js.map +1 -1
  113. package/resources/ledger-transactions/versions.mjs.map +1 -1
  114. package/resources/ledgerable-events.d.ts +2 -2
  115. package/resources/ledgerable-events.d.ts.map +1 -1
  116. package/resources/ledgers.d.ts +12 -11
  117. package/resources/ledgers.d.ts.map +1 -1
  118. package/resources/ledgers.js.map +1 -1
  119. package/resources/ledgers.mjs.map +1 -1
  120. package/resources/line-items.d.ts +5 -5
  121. package/resources/line-items.d.ts.map +1 -1
  122. package/resources/paper-items.d.ts +6 -3
  123. package/resources/paper-items.d.ts.map +1 -1
  124. package/resources/paper-items.js.map +1 -1
  125. package/resources/paper-items.mjs.map +1 -1
  126. package/resources/payment-flows.d.ts +9 -9
  127. package/resources/payment-flows.d.ts.map +1 -1
  128. package/resources/payment-flows.js.map +1 -1
  129. package/resources/payment-flows.mjs.map +1 -1
  130. package/resources/payment-orders/payment-orders.d.ts +30 -24
  131. package/resources/payment-orders/payment-orders.d.ts.map +1 -1
  132. package/resources/payment-orders/payment-orders.js +3 -5
  133. package/resources/payment-orders/payment-orders.js.map +1 -1
  134. package/resources/payment-orders/payment-orders.mjs +3 -5
  135. package/resources/payment-orders/payment-orders.mjs.map +1 -1
  136. package/resources/payment-orders/reversals.d.ts +14 -9
  137. package/resources/payment-orders/reversals.d.ts.map +1 -1
  138. package/resources/payment-orders/reversals.js.map +1 -1
  139. package/resources/payment-orders/reversals.mjs.map +1 -1
  140. package/resources/payment-references.d.ts +3 -3
  141. package/resources/payment-references.d.ts.map +1 -1
  142. package/resources/returns.d.ts +7 -4
  143. package/resources/returns.d.ts.map +1 -1
  144. package/resources/returns.js.map +1 -1
  145. package/resources/returns.mjs.map +1 -1
  146. package/resources/routing-details.d.ts +5 -5
  147. package/resources/routing-details.d.ts.map +1 -1
  148. package/resources/transactions/line-items.d.ts +5 -2
  149. package/resources/transactions/line-items.d.ts.map +1 -1
  150. package/resources/transactions/line-items.js.map +1 -1
  151. package/resources/transactions/line-items.mjs.map +1 -1
  152. package/resources/transactions/transactions.d.ts +8 -5
  153. package/resources/transactions/transactions.d.ts.map +1 -1
  154. package/resources/transactions/transactions.js.map +1 -1
  155. package/resources/transactions/transactions.mjs.map +1 -1
  156. package/resources/validations.d.ts +1 -1
  157. package/resources/validations.d.ts.map +1 -1
  158. package/resources/virtual-accounts.d.ts +7 -10
  159. package/resources/virtual-accounts.d.ts.map +1 -1
  160. package/resources/virtual-accounts.js.map +1 -1
  161. package/resources/virtual-accounts.mjs.map +1 -1
  162. package/src/_shims/ReadableStream.d.ts +38 -0
  163. package/src/_shims/ReadableStream.js +5 -0
  164. package/src/_shims/ReadableStream.mjs +7 -0
  165. package/src/_shims/ReadableStream.node.ts +6 -0
  166. package/src/_shims/fetch.d.ts +8 -1
  167. package/src/_shims/fetch.node.d.ts +11 -1
  168. package/src/core.ts +244 -79
  169. package/src/index.ts +4 -5
  170. package/src/pagination.ts +6 -6
  171. package/src/resources/account-collection-flows.ts +8 -8
  172. package/src/resources/account-details.ts +6 -6
  173. package/src/resources/connections.ts +6 -3
  174. package/src/resources/counterparties.ts +13 -13
  175. package/src/resources/documents.ts +6 -9
  176. package/src/resources/events.ts +4 -4
  177. package/src/resources/expected-payments.ts +9 -9
  178. package/src/resources/external-accounts.ts +13 -13
  179. package/src/resources/incoming-payment-details.ts +15 -10
  180. package/src/resources/index.ts +0 -1
  181. package/src/resources/internal-accounts/balance-reports.ts +7 -4
  182. package/src/resources/internal-accounts/internal-accounts.ts +8 -8
  183. package/src/resources/invoices/invoices.ts +55 -15
  184. package/src/resources/invoices/line-items.ts +25 -207
  185. package/src/resources/ledger-account-categories.ts +47 -91
  186. package/src/resources/ledger-account-payouts.ts +27 -8
  187. package/src/resources/ledger-account-statements.ts +2 -2
  188. package/src/resources/ledger-accounts.ts +21 -15
  189. package/src/resources/ledger-entries.ts +24 -8
  190. package/src/resources/ledger-event-handlers.ts +8 -12
  191. package/src/resources/ledger-transactions/ledger-transactions.ts +46 -25
  192. package/src/resources/ledger-transactions/versions.ts +5 -3
  193. package/src/resources/ledgerable-events.ts +2 -2
  194. package/src/resources/ledgers.ts +15 -13
  195. package/src/resources/line-items.ts +7 -7
  196. package/src/resources/paper-items.ts +7 -4
  197. package/src/resources/payment-flows.ts +11 -11
  198. package/src/resources/payment-orders/payment-orders.ts +39 -36
  199. package/src/resources/payment-orders/reversals.ts +17 -11
  200. package/src/resources/payment-references.ts +4 -4
  201. package/src/resources/returns.ts +8 -5
  202. package/src/resources/routing-details.ts +6 -6
  203. package/src/resources/transactions/line-items.ts +6 -3
  204. package/src/resources/transactions/transactions.ts +10 -7
  205. package/src/resources/validations.ts +1 -1
  206. package/src/resources/virtual-accounts.ts +9 -12
  207. package/src/version.ts +1 -1
  208. package/version.d.ts +1 -1
  209. package/version.js +1 -1
  210. package/version.mjs +1 -1
package/core.js CHANGED
@@ -31,6 +31,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
31
31
  exports.toBase64 =
32
32
  exports.getHeader =
33
33
  exports.isHeadersProtocol =
34
+ exports.isRunningInBrowser =
35
+ exports.debug =
34
36
  exports.hasOwn =
35
37
  exports.isEmptyObj =
36
38
  exports.maybeCoerceBoolean =
@@ -49,6 +51,7 @@ exports.toBase64 =
49
51
  exports.AbstractPage =
50
52
  exports.APIResource =
51
53
  exports.APIClient =
54
+ exports.APIPromise =
52
55
  exports.createForm =
53
56
  exports.multipartFormRequestOptions =
54
57
  exports.maybeMultipartFormRequestOptions =
@@ -78,11 +81,79 @@ Object.defineProperty(exports, 'createForm', {
78
81
  },
79
82
  });
80
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;
81
152
  class APIClient {
82
153
  constructor({
83
154
  baseURL,
84
155
  maxRetries,
85
- timeout = 60 * 1000, // 60s
156
+ timeout = 60000, // 1 minute
86
157
  httpAgent,
87
158
  fetch: overridenFetch,
88
159
  }) {
@@ -123,19 +194,22 @@ class APIClient {
123
194
  return `stainless-node-retry-${uuid4()}`;
124
195
  }
125
196
  get(path, opts) {
126
- return this.request({ method: 'get', path, ...opts });
197
+ return this.methodRequest('get', path, opts);
127
198
  }
128
199
  post(path, opts) {
129
- return this.request({ method: 'post', path, ...opts });
200
+ return this.methodRequest('post', path, opts);
130
201
  }
131
202
  patch(path, opts) {
132
- return this.request({ method: 'patch', path, ...opts });
203
+ return this.methodRequest('patch', path, opts);
133
204
  }
134
205
  put(path, opts) {
135
- return this.request({ method: 'put', path, ...opts });
206
+ return this.methodRequest('put', path, opts);
136
207
  }
137
208
  delete(path, opts) {
138
- return this.request({ method: 'delete', path, ...opts });
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 })));
139
213
  }
140
214
  getAPIList(path, Page, opts) {
141
215
  return this.requestAPIList(Page, { method: 'get', path, ...opts });
@@ -154,7 +228,7 @@ class APIClient {
154
228
  return null;
155
229
  }
156
230
  buildRequest(options) {
157
- var _a, _b, _c, _d, _e;
231
+ var _a, _b, _c, _d, _e, _f;
158
232
  const { method, path, query, headers: headers = {} } = options;
159
233
  const body =
160
234
  (0, uploads_1.isMultipartBody)(options.body) ? options.body.body
@@ -173,8 +247,13 @@ class APIClient {
173
247
  : (0, agent_1.getDefaultAgent)(url);
174
248
  const minAgentTimeout = timeout + 1000;
175
249
  if (
176
- (httpAgent === null || httpAgent === void 0 ? void 0 : httpAgent.options) &&
177
- minAgentTimeout > ((_d = httpAgent.options.timeout) !== null && _d !== void 0 ? _d : 0)
250
+ typeof ((
251
+ (_d = httpAgent === null || httpAgent === void 0 ? void 0 : httpAgent.options) === null ||
252
+ _d === void 0
253
+ ) ?
254
+ void 0
255
+ : _d.timeout) === 'number' &&
256
+ minAgentTimeout > ((_e = httpAgent.options.timeout) !== null && _e !== void 0 ? _e : 0)
178
257
  ) {
179
258
  // Allow any given request to bump our agent active socket timeout.
180
259
  // This may seem strange, but leaking active sockets should be rare and not particularly problematic,
@@ -204,7 +283,7 @@ class APIClient {
204
283
  ...(httpAgent && { agent: httpAgent }),
205
284
  // @ts-ignore node-fetch uses a custom AbortSignal type that is
206
285
  // not compatible with standard web types
207
- signal: (_e = options.signal) !== null && _e !== void 0 ? _e : null,
286
+ signal: (_f = options.signal) !== null && _f !== void 0 ? _f : null,
208
287
  };
209
288
  this.validateHeaders(reqHeaders, headers);
210
289
  return { req, url, timeout };
@@ -219,14 +298,18 @@ class APIClient {
219
298
  makeStatusError(status, error, message, headers) {
220
299
  return error_1.APIError.generate(status, error, message, headers);
221
300
  }
222
- async request(options, retriesRemaining) {
301
+ request(options, remainingRetries = null) {
302
+ return new APIPromise(this.makeRequest(options, remainingRetries));
303
+ }
304
+ async makeRequest(optionsInput, retriesRemaining) {
223
305
  var _a, _b, _c;
224
- if (retriesRemaining === void 0) {
306
+ const options = await optionsInput;
307
+ if (retriesRemaining == null) {
225
308
  retriesRemaining = (_a = options.maxRetries) !== null && _a !== void 0 ? _a : this.maxRetries;
226
309
  }
227
310
  const { req, url, timeout } = this.buildRequest(options);
228
311
  await this.prepareRequest(req, { url });
229
- this.debug('request', url, options, req.headers);
312
+ debug('request', url, options, req.headers);
230
313
  if ((_b = options.signal) === null || _b === void 0 ? void 0 : _b.aborted) {
231
314
  throw new error_1.APIUserAbortError();
232
315
  }
@@ -252,32 +335,15 @@ class APIClient {
252
335
  const errText = await response.text().catch(() => 'Unknown');
253
336
  const errJSON = (0, exports.safeJSON)(errText);
254
337
  const errMessage = errJSON ? undefined : errText;
255
- this.debug('response', response.status, url, responseHeaders, errMessage);
338
+ debug('response', response.status, url, responseHeaders, errMessage);
256
339
  const err = this.makeStatusError(response.status, errJSON, errMessage, responseHeaders);
257
340
  throw err;
258
341
  }
259
- const contentType = response.headers.get('content-type');
260
- if (contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/json')) {
261
- const json = await response.json();
262
- if (typeof json === 'object' && json != null) {
263
- /** @deprecated – we expect to change this interface in the near future. */
264
- Object.defineProperty(json, 'responseHeaders', {
265
- enumerable: false,
266
- writable: false,
267
- value: responseHeaders,
268
- });
269
- }
270
- this.debug('response', response.status, url, responseHeaders, json);
271
- return json;
272
- }
273
- // TODO handle blob, arraybuffer, other content types, etc.
274
- const text = response.text();
275
- this.debug('response', response.status, url, responseHeaders, text);
276
- return text;
342
+ return { response, options, controller };
277
343
  }
278
344
  requestAPIList(Page, options) {
279
- const requestPromise = this.request(options);
280
- return new PagePromise(this, requestPromise, options, Page);
345
+ const request = this.makeRequest(options, null);
346
+ return new PagePromise(this, request, Page);
281
347
  }
282
348
  buildURL(path, query) {
283
349
  const url =
@@ -370,11 +436,6 @@ class APIClient {
370
436
  getUserAgent() {
371
437
  return `${this.constructor.name}/JS ${version_1.VERSION}`;
372
438
  }
373
- debug(action, ...args) {
374
- if (typeof process !== 'undefined' && process.env['DEBUG'] === 'true') {
375
- console.log(`${this.constructor.name}:DEBUG:${action}`, ...args);
376
- }
377
- }
378
439
  }
379
440
  exports.APIClient = APIClient;
380
441
  class APIResource {
@@ -390,10 +451,12 @@ class APIResource {
390
451
  }
391
452
  exports.APIResource = APIResource;
392
453
  class AbstractPage {
393
- constructor(client, response, options) {
454
+ constructor(client, response, body, options) {
394
455
  _AbstractPage_client.set(this, void 0);
395
456
  __classPrivateFieldSet(this, _AbstractPage_client, client, 'f');
396
457
  this.options = options;
458
+ this.response = response;
459
+ this.body = body;
397
460
  }
398
461
  hasNextPage() {
399
462
  const items = this.getPaginatedItems();
@@ -441,22 +504,22 @@ class AbstractPage {
441
504
  }
442
505
  }
443
506
  exports.AbstractPage = AbstractPage;
444
- class PagePromise extends Promise {
445
- /**
446
- * This subclass of Promise will resolve to an instantiated Page once the request completes.
447
- */
448
- constructor(client, requestPromise, options, Page) {
449
- super((resolve, reject) =>
450
- requestPromise.then((response) => resolve(new Page(client, response, options))).catch(reject),
507
+ /**
508
+ * This subclass of Promise will resolve to an instantiated Page once the request completes.
509
+ *
510
+ * It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:
511
+ *
512
+ * for await (const item of client.items.list()) {
513
+ * console.log(item)
514
+ * }
515
+ */
516
+ class PagePromise extends APIPromise {
517
+ constructor(client, request, Page) {
518
+ super(
519
+ request,
520
+ async (props) => new Page(client, props.response, await defaultParseResponse(props), props.options),
451
521
  );
452
522
  }
453
- /**
454
- * Enable subclassing Promise.
455
- * Ref: https://stackoverflow.com/a/60328122
456
- */
457
- static get [Symbol.species]() {
458
- return Promise;
459
- }
460
523
  /**
461
524
  * Allow auto-paginating iteration on an unawaited list call, eg:
462
525
  *
@@ -544,7 +607,18 @@ const getPlatformProperties = () => {
544
607
  'X-Stainless-Runtime-Version': process.version,
545
608
  };
546
609
  }
547
- // TODO add support for Cloudflare workers, browsers, etc.
610
+ const browserInfo = getBrowserInfo();
611
+ if (browserInfo) {
612
+ return {
613
+ 'X-Stainless-Lang': 'js',
614
+ 'X-Stainless-Package-Version': version_1.VERSION,
615
+ 'X-Stainless-OS': 'Unknown',
616
+ 'X-Stainless-Arch': 'unknown',
617
+ 'X-Stainless-Runtime': `browser:${browserInfo.browser}`,
618
+ 'X-Stainless-Runtime-Version': browserInfo.version,
619
+ };
620
+ }
621
+ // TODO add support for Cloudflare workers, etc.
548
622
  return {
549
623
  'X-Stainless-Lang': 'js',
550
624
  'X-Stainless-Package-Version': version_1.VERSION,
@@ -554,6 +628,32 @@ const getPlatformProperties = () => {
554
628
  'X-Stainless-Runtime-Version': 'unknown',
555
629
  };
556
630
  };
631
+ // Note: modified from https://github.com/JS-DevTools/host-environment/blob/b1ab79ecde37db5d6e163c050e54fe7d287d7c92/src/isomorphic.browser.ts
632
+ function getBrowserInfo() {
633
+ if (!navigator || typeof navigator === 'undefined') {
634
+ return null;
635
+ }
636
+ // NOTE: The order matters here!
637
+ const browserPatterns = [
638
+ { key: 'edge', pattern: /Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
639
+ { key: 'ie', pattern: /MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
640
+ { key: 'ie', pattern: /Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/ },
641
+ { key: 'chrome', pattern: /Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
642
+ { key: 'firefox', pattern: /Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
643
+ { key: 'safari', pattern: /(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/ },
644
+ ];
645
+ // Find the FIRST matching browser
646
+ for (const { key, pattern } of browserPatterns) {
647
+ const match = pattern.exec(navigator.userAgent);
648
+ if (match) {
649
+ const major = match[1] || 0;
650
+ const minor = match[2] || 0;
651
+ const patch = match[3] || 0;
652
+ return { browser: key, version: `${major}.${minor}.${patch}` };
653
+ }
654
+ }
655
+ return null;
656
+ }
557
657
  const normalizeArch = (arch) => {
558
658
  // Node docs:
559
659
  // - https://nodejs.org/api/process.html#processarch
@@ -629,14 +729,21 @@ exports.ensurePresent = ensurePresent;
629
729
  /**
630
730
  * Read an environment variable.
631
731
  *
632
- * Will return an empty string if the environment variable doesn't exist or cannot be accessed.
732
+ * Will return undefined if the environment variable doesn't exist or cannot be accessed.
633
733
  */
634
734
  const readEnv = (env) => {
635
- var _a;
636
- if (typeof process === 'undefined') {
637
- return undefined;
638
- }
639
- return (_a = process.env[env]) !== null && _a !== void 0 ? _a : undefined;
735
+ var _a, _b, _c, _d;
736
+ if (typeof process !== 'undefined') {
737
+ return (_b = (_a = process.env) === null || _a === void 0 ? void 0 : _a[env]) !== null && _b !== void 0 ?
738
+ _b
739
+ : undefined;
740
+ }
741
+ if (typeof Deno !== 'undefined') {
742
+ return (_d = (_c = Deno.env) === null || _c === void 0 ? void 0 : _c.get) === null || _d === void 0 ?
743
+ void 0
744
+ : _d.call(_c, env);
745
+ }
746
+ return undefined;
640
747
  };
641
748
  exports.readEnv = readEnv;
642
749
  const coerceInteger = (value) => {
@@ -690,6 +797,12 @@ function hasOwn(obj, key) {
690
797
  return Object.prototype.hasOwnProperty.call(obj, key);
691
798
  }
692
799
  exports.hasOwn = hasOwn;
800
+ function debug(action, ...args) {
801
+ if (typeof process !== 'undefined' && process.env['DEBUG'] === 'true') {
802
+ console.log(`ModernTreasury:DEBUG:${action}`, ...args);
803
+ }
804
+ }
805
+ exports.debug = debug;
693
806
  /**
694
807
  * https://stackoverflow.com/a/2117523
695
808
  */
@@ -700,6 +813,17 @@ const uuid4 = () => {
700
813
  return v.toString(16);
701
814
  });
702
815
  };
816
+ const isRunningInBrowser = () => {
817
+ return (
818
+ // @ts-ignore
819
+ typeof window !== 'undefined' &&
820
+ // @ts-ignore
821
+ typeof window.document !== 'undefined' &&
822
+ // @ts-ignore
823
+ typeof navigator !== 'undefined'
824
+ );
825
+ };
826
+ exports.isRunningInBrowser = isRunningInBrowser;
703
827
  const isHeadersProtocol = (headers) => {
704
828
  return typeof (headers === null || headers === void 0 ? void 0 : headers.get) === 'function';
705
829
  };
package/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["src/core.ts"],"names":[],"mappings":"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"}