increase 0.8.0 → 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.
Files changed (336) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +37 -13
  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 +85 -27
  15. package/core.d.ts.map +1 -1
  16. package/core.js +208 -51
  17. package/core.js.map +1 -1
  18. package/core.mjs +194 -51
  19. package/core.mjs.map +1 -1
  20. package/error.d.ts +1 -0
  21. package/error.d.ts.map +1 -1
  22. package/error.js +12 -3
  23. package/error.js.map +1 -1
  24. package/error.mjs +12 -3
  25. package/error.mjs.map +1 -1
  26. package/index.d.mts +6 -1
  27. package/index.d.ts +6 -1
  28. package/index.d.ts.map +1 -1
  29. package/index.js +11 -8
  30. package/index.js.map +1 -1
  31. package/index.mjs +11 -8
  32. package/index.mjs.map +1 -1
  33. package/package.json +1 -1
  34. package/pagination.d.ts +2 -2
  35. package/pagination.d.ts.map +1 -1
  36. package/pagination.js +4 -4
  37. package/pagination.js.map +1 -1
  38. package/pagination.mjs +4 -4
  39. package/pagination.mjs.map +1 -1
  40. package/resources/account-numbers.d.ts +8 -8
  41. package/resources/account-numbers.d.ts.map +1 -1
  42. package/resources/account-numbers.js.map +1 -1
  43. package/resources/account-numbers.mjs.map +1 -1
  44. package/resources/account-statements.d.ts +3 -6
  45. package/resources/account-statements.d.ts.map +1 -1
  46. package/resources/account-statements.js.map +1 -1
  47. package/resources/account-statements.mjs.map +1 -1
  48. package/resources/account-transfers.d.ts +6 -18
  49. package/resources/account-transfers.d.ts.map +1 -1
  50. package/resources/account-transfers.js.map +1 -1
  51. package/resources/account-transfers.mjs.map +1 -1
  52. package/resources/accounts.d.ts +6 -6
  53. package/resources/accounts.d.ts.map +1 -1
  54. package/resources/ach-prenotifications.d.ts +51 -7
  55. package/resources/ach-prenotifications.d.ts.map +1 -1
  56. package/resources/ach-prenotifications.js.map +1 -1
  57. package/resources/ach-prenotifications.mjs.map +1 -1
  58. package/resources/ach-transfers.d.ts +16 -9
  59. package/resources/ach-transfers.d.ts.map +1 -1
  60. package/resources/ach-transfers.js.map +1 -1
  61. package/resources/ach-transfers.mjs.map +1 -1
  62. package/resources/balance-lookups.d.ts +1 -1
  63. package/resources/balance-lookups.d.ts.map +1 -1
  64. package/resources/bookkeeping-accounts.d.ts +3 -3
  65. package/resources/bookkeeping-accounts.d.ts.map +1 -1
  66. package/resources/bookkeeping-entries.d.ts +2 -2
  67. package/resources/bookkeeping-entries.d.ts.map +1 -1
  68. package/resources/bookkeeping-entry-sets.d.ts +1 -1
  69. package/resources/bookkeeping-entry-sets.d.ts.map +1 -1
  70. package/resources/card-disputes.d.ts +7 -7
  71. package/resources/card-disputes.d.ts.map +1 -1
  72. package/resources/card-disputes.js.map +1 -1
  73. package/resources/card-disputes.mjs.map +1 -1
  74. package/resources/card-profiles.d.ts +32 -11
  75. package/resources/card-profiles.d.ts.map +1 -1
  76. package/resources/card-profiles.js +6 -0
  77. package/resources/card-profiles.js.map +1 -1
  78. package/resources/card-profiles.mjs +6 -0
  79. package/resources/card-profiles.mjs.map +1 -1
  80. package/resources/card-purchase-supplements.d.ts +270 -0
  81. package/resources/card-purchase-supplements.d.ts.map +1 -0
  82. package/resources/card-purchase-supplements.js +28 -0
  83. package/resources/card-purchase-supplements.js.map +1 -0
  84. package/resources/card-purchase-supplements.mjs +21 -0
  85. package/resources/card-purchase-supplements.mjs.map +1 -0
  86. package/resources/cards.d.ts +6 -13
  87. package/resources/cards.d.ts.map +1 -1
  88. package/resources/cards.js.map +1 -1
  89. package/resources/cards.mjs.map +1 -1
  90. package/resources/check-deposits.d.ts +7 -7
  91. package/resources/check-deposits.d.ts.map +1 -1
  92. package/resources/check-deposits.js.map +1 -1
  93. package/resources/check-deposits.mjs.map +1 -1
  94. package/resources/check-transfers.d.ts +18 -11
  95. package/resources/check-transfers.d.ts.map +1 -1
  96. package/resources/check-transfers.js.map +1 -1
  97. package/resources/check-transfers.mjs.map +1 -1
  98. package/resources/declined-transactions.d.ts +25 -28
  99. package/resources/declined-transactions.d.ts.map +1 -1
  100. package/resources/declined-transactions.js.map +1 -1
  101. package/resources/declined-transactions.mjs.map +1 -1
  102. package/resources/digital-wallet-tokens.d.ts +3 -6
  103. package/resources/digital-wallet-tokens.d.ts.map +1 -1
  104. package/resources/digital-wallet-tokens.js.map +1 -1
  105. package/resources/digital-wallet-tokens.mjs.map +1 -1
  106. package/resources/documents.d.ts +3 -3
  107. package/resources/documents.d.ts.map +1 -1
  108. package/resources/entities/beneficial-owners.d.ts +215 -0
  109. package/resources/entities/beneficial-owners.d.ts.map +1 -0
  110. package/resources/entities/beneficial-owners.js +18 -0
  111. package/resources/entities/beneficial-owners.js.map +1 -0
  112. package/resources/entities/beneficial-owners.mjs +12 -0
  113. package/resources/entities/beneficial-owners.mjs.map +1 -0
  114. package/resources/entities/entities.d.ts +15 -11
  115. package/resources/entities/entities.d.ts.map +1 -1
  116. package/resources/entities/entities.js +9 -0
  117. package/resources/entities/entities.js.map +1 -1
  118. package/resources/entities/entities.mjs +9 -0
  119. package/resources/entities/entities.mjs.map +1 -1
  120. package/resources/entities/index.d.ts +1 -0
  121. package/resources/entities/index.d.ts.map +1 -1
  122. package/resources/entities/index.js +8 -0
  123. package/resources/entities/index.js.map +1 -1
  124. package/resources/entities/index.mjs +1 -0
  125. package/resources/entities/index.mjs.map +1 -1
  126. package/resources/entities/supplemental-documents.d.ts +2 -2
  127. package/resources/entities/supplemental-documents.d.ts.map +1 -1
  128. package/resources/event-subscriptions.d.ts +5 -8
  129. package/resources/event-subscriptions.d.ts.map +1 -1
  130. package/resources/event-subscriptions.js.map +1 -1
  131. package/resources/event-subscriptions.mjs.map +1 -1
  132. package/resources/events.d.ts +7 -5
  133. package/resources/events.d.ts.map +1 -1
  134. package/resources/events.js.map +1 -1
  135. package/resources/events.mjs.map +1 -1
  136. package/resources/exports.d.ts +4 -4
  137. package/resources/exports.d.ts.map +1 -1
  138. package/resources/external-accounts.d.ts +5 -11
  139. package/resources/external-accounts.d.ts.map +1 -1
  140. package/resources/external-accounts.js.map +1 -1
  141. package/resources/external-accounts.mjs.map +1 -1
  142. package/resources/files.d.ts +9 -4
  143. package/resources/files.d.ts.map +1 -1
  144. package/resources/files.js +2 -2
  145. package/resources/files.js.map +1 -1
  146. package/resources/files.mjs +2 -2
  147. package/resources/files.mjs.map +1 -1
  148. package/resources/groups.d.ts +1 -1
  149. package/resources/groups.d.ts.map +1 -1
  150. package/resources/inbound-ach-transfer-returns.d.ts +6 -4
  151. package/resources/inbound-ach-transfer-returns.d.ts.map +1 -1
  152. package/resources/inbound-ach-transfer-returns.js.map +1 -1
  153. package/resources/inbound-ach-transfer-returns.mjs.map +1 -1
  154. package/resources/inbound-wire-drawdown-requests.d.ts +5 -3
  155. package/resources/inbound-wire-drawdown-requests.d.ts.map +1 -1
  156. package/resources/inbound-wire-drawdown-requests.js.map +1 -1
  157. package/resources/inbound-wire-drawdown-requests.mjs.map +1 -1
  158. package/resources/index.d.ts +6 -0
  159. package/resources/index.d.ts.map +1 -1
  160. package/resources/index.js +18 -3
  161. package/resources/index.js.map +1 -1
  162. package/resources/index.mjs +1 -0
  163. package/resources/index.mjs.map +1 -1
  164. package/resources/limits.d.ts +5 -9
  165. package/resources/limits.d.ts.map +1 -1
  166. package/resources/limits.js.map +1 -1
  167. package/resources/limits.mjs.map +1 -1
  168. package/resources/oauth-connections.d.ts +3 -6
  169. package/resources/oauth-connections.d.ts.map +1 -1
  170. package/resources/oauth-connections.js.map +1 -1
  171. package/resources/oauth-connections.mjs.map +1 -1
  172. package/resources/pending-transactions.d.ts +32 -37
  173. package/resources/pending-transactions.d.ts.map +1 -1
  174. package/resources/pending-transactions.js.map +1 -1
  175. package/resources/pending-transactions.mjs.map +1 -1
  176. package/resources/programs.d.ts +3 -3
  177. package/resources/programs.d.ts.map +1 -1
  178. package/resources/real-time-decisions.d.ts +2 -5
  179. package/resources/real-time-decisions.d.ts.map +1 -1
  180. package/resources/real-time-decisions.js.map +1 -1
  181. package/resources/real-time-decisions.mjs.map +1 -1
  182. package/resources/real-time-payments-transfers.d.ts +6 -4
  183. package/resources/real-time-payments-transfers.d.ts.map +1 -1
  184. package/resources/real-time-payments-transfers.js.map +1 -1
  185. package/resources/real-time-payments-transfers.mjs.map +1 -1
  186. package/resources/routing-numbers.d.ts +4 -1
  187. package/resources/routing-numbers.d.ts.map +1 -1
  188. package/resources/routing-numbers.js.map +1 -1
  189. package/resources/routing-numbers.mjs.map +1 -1
  190. package/resources/simulations/account-statements.d.ts +1 -1
  191. package/resources/simulations/account-statements.d.ts.map +1 -1
  192. package/resources/simulations/account-transfers.d.ts +1 -1
  193. package/resources/simulations/account-transfers.d.ts.map +1 -1
  194. package/resources/simulations/ach-transfers.d.ts +1063 -157
  195. package/resources/simulations/ach-transfers.d.ts.map +1 -1
  196. package/resources/simulations/ach-transfers.js.map +1 -1
  197. package/resources/simulations/ach-transfers.mjs.map +1 -1
  198. package/resources/simulations/card-disputes.d.ts +1 -1
  199. package/resources/simulations/card-disputes.d.ts.map +1 -1
  200. package/resources/simulations/card-profiles.d.ts +1 -4
  201. package/resources/simulations/card-profiles.d.ts.map +1 -1
  202. package/resources/simulations/card-profiles.js.map +1 -1
  203. package/resources/simulations/card-profiles.mjs.map +1 -1
  204. package/resources/simulations/card-refunds.d.ts +1 -1
  205. package/resources/simulations/card-refunds.d.ts.map +1 -1
  206. package/resources/simulations/cards.d.ts +53 -58
  207. package/resources/simulations/cards.d.ts.map +1 -1
  208. package/resources/simulations/cards.js.map +1 -1
  209. package/resources/simulations/cards.mjs.map +1 -1
  210. package/resources/simulations/check-deposits.d.ts +3 -12
  211. package/resources/simulations/check-deposits.d.ts.map +1 -1
  212. package/resources/simulations/check-transfers.d.ts +2 -2
  213. package/resources/simulations/check-transfers.d.ts.map +1 -1
  214. package/resources/simulations/digital-wallet-token-requests.d.ts +1 -1
  215. package/resources/simulations/digital-wallet-token-requests.d.ts.map +1 -1
  216. package/resources/simulations/documents.d.ts +1 -4
  217. package/resources/simulations/documents.d.ts.map +1 -1
  218. package/resources/simulations/documents.js.map +1 -1
  219. package/resources/simulations/documents.mjs.map +1 -1
  220. package/resources/simulations/inbound-funds-holds.d.ts +5 -1
  221. package/resources/simulations/inbound-funds-holds.d.ts.map +1 -1
  222. package/resources/simulations/inbound-funds-holds.js.map +1 -1
  223. package/resources/simulations/inbound-funds-holds.mjs.map +1 -1
  224. package/resources/simulations/inbound-wire-drawdown-requests.d.ts +1 -1
  225. package/resources/simulations/inbound-wire-drawdown-requests.d.ts.map +1 -1
  226. package/resources/simulations/interest-payments.d.ts +1047 -127
  227. package/resources/simulations/interest-payments.d.ts.map +1 -1
  228. package/resources/simulations/interest-payments.js.map +1 -1
  229. package/resources/simulations/interest-payments.mjs.map +1 -1
  230. package/resources/simulations/programs.d.ts +1 -4
  231. package/resources/simulations/programs.d.ts.map +1 -1
  232. package/resources/simulations/programs.js.map +1 -1
  233. package/resources/simulations/programs.mjs.map +1 -1
  234. package/resources/simulations/real-time-payments-transfers.d.ts +1062 -153
  235. package/resources/simulations/real-time-payments-transfers.d.ts.map +1 -1
  236. package/resources/simulations/real-time-payments-transfers.js.map +1 -1
  237. package/resources/simulations/real-time-payments-transfers.mjs.map +1 -1
  238. package/resources/simulations/simulations.d.ts.map +1 -1
  239. package/resources/simulations/simulations.js.map +1 -1
  240. package/resources/simulations/wire-transfers.d.ts +1039 -127
  241. package/resources/simulations/wire-transfers.d.ts.map +1 -1
  242. package/resources/simulations/wire-transfers.js.map +1 -1
  243. package/resources/simulations/wire-transfers.mjs.map +1 -1
  244. package/resources/transactions.d.ts +1044 -130
  245. package/resources/transactions.d.ts.map +1 -1
  246. package/resources/transactions.js.map +1 -1
  247. package/resources/transactions.mjs.map +1 -1
  248. package/resources/wire-drawdown-requests.d.ts +4 -4
  249. package/resources/wire-drawdown-requests.d.ts.map +1 -1
  250. package/resources/wire-transfers.d.ts +11 -11
  251. package/resources/wire-transfers.d.ts.map +1 -1
  252. package/resources/wire-transfers.js.map +1 -1
  253. package/resources/wire-transfers.mjs.map +1 -1
  254. package/src/_shims/ReadableStream.d.ts +38 -0
  255. package/src/_shims/ReadableStream.js +5 -0
  256. package/src/_shims/ReadableStream.mjs +7 -0
  257. package/src/_shims/ReadableStream.node.ts +6 -0
  258. package/src/_shims/fetch.d.ts +8 -1
  259. package/src/_shims/fetch.deno.ts +23 -0
  260. package/src/_shims/fetch.node.d.ts +11 -1
  261. package/src/_shims/formdata.deno.ts +16 -0
  262. package/src/core.ts +270 -74
  263. package/src/error.ts +11 -1
  264. package/src/index.ts +16 -9
  265. package/src/pagination.ts +5 -5
  266. package/src/resources/account-numbers.ts +10 -10
  267. package/src/resources/account-statements.ts +5 -8
  268. package/src/resources/account-transfers.ts +8 -20
  269. package/src/resources/accounts.ts +8 -8
  270. package/src/resources/ach-prenotifications.ts +57 -9
  271. package/src/resources/ach-transfers.ts +19 -11
  272. package/src/resources/balance-lookups.ts +2 -2
  273. package/src/resources/bookkeeping-accounts.ts +5 -5
  274. package/src/resources/bookkeeping-entries.ts +4 -4
  275. package/src/resources/bookkeeping-entry-sets.ts +2 -2
  276. package/src/resources/card-disputes.ts +9 -9
  277. package/src/resources/card-profiles.ts +39 -13
  278. package/src/resources/card-purchase-supplements.ts +331 -0
  279. package/src/resources/cards.ts +8 -15
  280. package/src/resources/check-deposits.ts +9 -9
  281. package/src/resources/check-transfers.ts +21 -13
  282. package/src/resources/declined-transactions.ts +27 -30
  283. package/src/resources/digital-wallet-tokens.ts +5 -8
  284. package/src/resources/documents.ts +5 -5
  285. package/src/resources/entities/beneficial-owners.ts +251 -0
  286. package/src/resources/entities/entities.ts +21 -13
  287. package/src/resources/entities/index.ts +1 -0
  288. package/src/resources/entities/supplemental-documents.ts +3 -3
  289. package/src/resources/event-subscriptions.ts +7 -10
  290. package/src/resources/events.ts +9 -7
  291. package/src/resources/exports.ts +6 -6
  292. package/src/resources/external-accounts.ts +7 -13
  293. package/src/resources/files.ts +12 -7
  294. package/src/resources/groups.ts +2 -2
  295. package/src/resources/inbound-ach-transfer-returns.ts +8 -6
  296. package/src/resources/inbound-wire-drawdown-requests.ts +7 -5
  297. package/src/resources/index.ts +6 -0
  298. package/src/resources/limits.ts +7 -11
  299. package/src/resources/oauth-connections.ts +5 -8
  300. package/src/resources/pending-transactions.ts +35 -39
  301. package/src/resources/programs.ts +5 -5
  302. package/src/resources/real-time-decisions.ts +3 -6
  303. package/src/resources/real-time-payments-transfers.ts +8 -6
  304. package/src/resources/routing-numbers.ts +5 -2
  305. package/src/resources/simulations/account-statements.ts +2 -2
  306. package/src/resources/simulations/account-transfers.ts +1 -1
  307. package/src/resources/simulations/ach-transfers.ts +1200 -160
  308. package/src/resources/simulations/card-disputes.ts +2 -2
  309. package/src/resources/simulations/card-profiles.ts +1 -4
  310. package/src/resources/simulations/card-refunds.ts +2 -2
  311. package/src/resources/simulations/cards.ts +55 -59
  312. package/src/resources/simulations/check-deposits.ts +3 -3
  313. package/src/resources/simulations/check-transfers.ts +2 -2
  314. package/src/resources/simulations/digital-wallet-token-requests.ts +2 -2
  315. package/src/resources/simulations/documents.ts +2 -5
  316. package/src/resources/simulations/inbound-funds-holds.ts +7 -2
  317. package/src/resources/simulations/inbound-wire-drawdown-requests.ts +2 -2
  318. package/src/resources/simulations/interest-payments.ts +1186 -130
  319. package/src/resources/simulations/programs.ts +2 -5
  320. package/src/resources/simulations/real-time-payments-transfers.ts +1199 -156
  321. package/src/resources/simulations/simulations.ts +1 -1
  322. package/src/resources/simulations/wire-transfers.ts +1176 -130
  323. package/src/resources/transactions.ts +1182 -134
  324. package/src/resources/wire-drawdown-requests.ts +6 -6
  325. package/src/resources/wire-transfers.ts +13 -13
  326. package/src/uploads.ts +7 -6
  327. package/src/version.ts +1 -1
  328. package/uploads.d.ts +5 -4
  329. package/uploads.d.ts.map +1 -1
  330. package/uploads.js +2 -2
  331. package/uploads.js.map +1 -1
  332. package/uploads.mjs +2 -2
  333. package/uploads.mjs.map +1 -1
  334. package/version.d.ts +1 -1
  335. package/version.js +1 -1
  336. package/version.mjs +1 -1
package/core.js CHANGED
@@ -31,11 +31,17 @@ 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 =
38
+ exports.maybeCoerceBoolean =
39
+ exports.maybeCoerceFloat =
40
+ exports.maybeCoerceInteger =
36
41
  exports.coerceBoolean =
37
42
  exports.coerceFloat =
38
43
  exports.coerceInteger =
44
+ exports.readEnv =
39
45
  exports.ensurePresent =
40
46
  exports.castToError =
41
47
  exports.safeJSON =
@@ -45,6 +51,7 @@ exports.toBase64 =
45
51
  exports.AbstractPage =
46
52
  exports.APIResource =
47
53
  exports.APIClient =
54
+ exports.APIPromise =
48
55
  exports.createForm =
49
56
  exports.multipartFormRequestOptions =
50
57
  exports.maybeMultipartFormRequestOptions =
@@ -74,6 +81,74 @@ Object.defineProperty(exports, 'createForm', {
74
81
  },
75
82
  });
76
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;
77
152
  class APIClient {
78
153
  constructor({
79
154
  baseURL,
@@ -119,19 +194,22 @@ class APIClient {
119
194
  return `stainless-node-retry-${uuid4()}`;
120
195
  }
121
196
  get(path, opts) {
122
- return this.request({ method: 'get', path, ...opts });
197
+ return this.methodRequest('get', path, opts);
123
198
  }
124
199
  post(path, opts) {
125
- return this.request({ method: 'post', path, ...opts });
200
+ return this.methodRequest('post', path, opts);
126
201
  }
127
202
  patch(path, opts) {
128
- return this.request({ method: 'patch', path, ...opts });
203
+ return this.methodRequest('patch', path, opts);
129
204
  }
130
205
  put(path, opts) {
131
- return this.request({ method: 'put', path, ...opts });
206
+ return this.methodRequest('put', path, opts);
132
207
  }
133
208
  delete(path, opts) {
134
- 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 })));
135
213
  }
136
214
  getAPIList(path, Page, opts) {
137
215
  return this.requestAPIList(Page, { method: 'get', path, ...opts });
@@ -215,14 +293,18 @@ class APIClient {
215
293
  makeStatusError(status, error, message, headers) {
216
294
  return error_1.APIError.generate(status, error, message, headers);
217
295
  }
218
- async request(options, retriesRemaining) {
296
+ request(options, remainingRetries = null) {
297
+ return new APIPromise(this.makeRequest(options, remainingRetries));
298
+ }
299
+ async makeRequest(optionsInput, retriesRemaining) {
219
300
  var _a, _b, _c;
220
- if (retriesRemaining === void 0) {
301
+ const options = await optionsInput;
302
+ if (retriesRemaining == null) {
221
303
  retriesRemaining = (_a = options.maxRetries) !== null && _a !== void 0 ? _a : this.maxRetries;
222
304
  }
223
305
  const { req, url, timeout } = this.buildRequest(options);
224
306
  await this.prepareRequest(req, { url });
225
- this.debug('request', url, options, req.headers);
307
+ debug('request', url, options, req.headers);
226
308
  if ((_b = options.signal) === null || _b === void 0 ? void 0 : _b.aborted) {
227
309
  throw new error_1.APIUserAbortError();
228
310
  }
@@ -248,32 +330,15 @@ class APIClient {
248
330
  const errText = await response.text().catch(() => 'Unknown');
249
331
  const errJSON = (0, exports.safeJSON)(errText);
250
332
  const errMessage = errJSON ? undefined : errText;
251
- this.debug('response', response.status, url, responseHeaders, errMessage);
333
+ debug('response', response.status, url, responseHeaders, errMessage);
252
334
  const err = this.makeStatusError(response.status, errJSON, errMessage, responseHeaders);
253
335
  throw err;
254
336
  }
255
- const contentType = response.headers.get('content-type');
256
- if (contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/json')) {
257
- const json = await response.json();
258
- if (typeof json === 'object' && json != null) {
259
- /** @deprecated – we expect to change this interface in the near future. */
260
- Object.defineProperty(json, 'responseHeaders', {
261
- enumerable: false,
262
- writable: false,
263
- value: responseHeaders,
264
- });
265
- }
266
- this.debug('response', response.status, url, responseHeaders, json);
267
- return json;
268
- }
269
- // TODO handle blob, arraybuffer, other content types, etc.
270
- const text = response.text();
271
- this.debug('response', response.status, url, responseHeaders, text);
272
- return text;
337
+ return { response, options, controller };
273
338
  }
274
339
  requestAPIList(Page, options) {
275
- const requestPromise = this.request(options);
276
- return new PagePromise(this, requestPromise, options, Page);
340
+ const request = this.makeRequest(options, null);
341
+ return new PagePromise(this, request, Page);
277
342
  }
278
343
  buildURL(path, query) {
279
344
  const url =
@@ -366,11 +431,6 @@ class APIClient {
366
431
  getUserAgent() {
367
432
  return `${this.constructor.name}/JS ${version_1.VERSION}`;
368
433
  }
369
- debug(action, ...args) {
370
- if (typeof process !== 'undefined' && process.env['DEBUG'] === 'true') {
371
- console.log(`${this.constructor.name}:DEBUG:${action}`, ...args);
372
- }
373
- }
374
434
  }
375
435
  exports.APIClient = APIClient;
376
436
  class APIResource {
@@ -386,10 +446,12 @@ class APIResource {
386
446
  }
387
447
  exports.APIResource = APIResource;
388
448
  class AbstractPage {
389
- constructor(client, response, options) {
449
+ constructor(client, response, body, options) {
390
450
  _AbstractPage_client.set(this, void 0);
391
451
  __classPrivateFieldSet(this, _AbstractPage_client, client, 'f');
392
452
  this.options = options;
453
+ this.response = response;
454
+ this.body = body;
393
455
  }
394
456
  hasNextPage() {
395
457
  const items = this.getPaginatedItems();
@@ -437,22 +499,22 @@ class AbstractPage {
437
499
  }
438
500
  }
439
501
  exports.AbstractPage = AbstractPage;
440
- class PagePromise extends Promise {
441
- /**
442
- * This subclass of Promise will resolve to an instantiated Page once the request completes.
443
- */
444
- constructor(client, requestPromise, options, Page) {
445
- super((resolve, reject) =>
446
- requestPromise.then((response) => resolve(new Page(client, response, options))).catch(reject),
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),
447
516
  );
448
517
  }
449
- /**
450
- * Enable subclassing Promise.
451
- * Ref: https://stackoverflow.com/a/60328122
452
- */
453
- static get [Symbol.species]() {
454
- return Promise;
455
- }
456
518
  /**
457
519
  * Allow auto-paginating iteration on an unawaited list call, eg:
458
520
  *
@@ -540,7 +602,18 @@ const getPlatformProperties = () => {
540
602
  'X-Stainless-Runtime-Version': process.version,
541
603
  };
542
604
  }
543
- // TODO add support for Cloudflare workers, browsers, etc.
605
+ const browserInfo = getBrowserInfo();
606
+ if (browserInfo) {
607
+ return {
608
+ 'X-Stainless-Lang': 'js',
609
+ 'X-Stainless-Package-Version': version_1.VERSION,
610
+ 'X-Stainless-OS': 'Unknown',
611
+ 'X-Stainless-Arch': 'unknown',
612
+ 'X-Stainless-Runtime': `browser:${browserInfo.browser}`,
613
+ 'X-Stainless-Runtime-Version': browserInfo.version,
614
+ };
615
+ }
616
+ // TODO add support for Cloudflare workers, etc.
544
617
  return {
545
618
  'X-Stainless-Lang': 'js',
546
619
  'X-Stainless-Package-Version': version_1.VERSION,
@@ -550,6 +623,32 @@ const getPlatformProperties = () => {
550
623
  'X-Stainless-Runtime-Version': 'unknown',
551
624
  };
552
625
  };
626
+ // Note: modified from https://github.com/JS-DevTools/host-environment/blob/b1ab79ecde37db5d6e163c050e54fe7d287d7c92/src/isomorphic.browser.ts
627
+ function getBrowserInfo() {
628
+ if (!navigator || typeof navigator === 'undefined') {
629
+ return null;
630
+ }
631
+ // NOTE: The order matters here!
632
+ const browserPatterns = [
633
+ { key: 'edge', pattern: /Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
634
+ { key: 'ie', pattern: /MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
635
+ { key: 'ie', pattern: /Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/ },
636
+ { key: 'chrome', pattern: /Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
637
+ { key: 'firefox', pattern: /Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
638
+ { key: 'safari', pattern: /(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/ },
639
+ ];
640
+ // Find the FIRST matching browser
641
+ for (const { key, pattern } of browserPatterns) {
642
+ const match = pattern.exec(navigator.userAgent);
643
+ if (match) {
644
+ const major = match[1] || 0;
645
+ const minor = match[2] || 0;
646
+ const patch = match[3] || 0;
647
+ return { browser: key, version: `${major}.${minor}.${patch}` };
648
+ }
649
+ }
650
+ return null;
651
+ }
553
652
  const normalizeArch = (arch) => {
554
653
  // Node docs:
555
654
  // - https://nodejs.org/api/process.html#processarch
@@ -604,7 +703,7 @@ const isAbsoluteURL = (url) => {
604
703
  };
605
704
  const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
606
705
  const validatePositiveInteger = (name, n) => {
607
- if (!Number.isInteger(n)) {
706
+ if (typeof n !== 'number' || !Number.isInteger(n)) {
608
707
  throw new Error(`${name} must be an integer`);
609
708
  }
610
709
  if (n < 0) {
@@ -622,6 +721,26 @@ const ensurePresent = (value) => {
622
721
  return value;
623
722
  };
624
723
  exports.ensurePresent = ensurePresent;
724
+ /**
725
+ * Read an environment variable.
726
+ *
727
+ * Will return undefined if the environment variable doesn't exist or cannot be accessed.
728
+ */
729
+ const readEnv = (env) => {
730
+ var _a, _b, _c, _d;
731
+ if (typeof process !== 'undefined') {
732
+ return (_b = (_a = process.env) === null || _a === void 0 ? void 0 : _a[env]) !== null && _b !== void 0 ?
733
+ _b
734
+ : undefined;
735
+ }
736
+ if (typeof Deno !== 'undefined') {
737
+ return (_d = (_c = Deno.env) === null || _c === void 0 ? void 0 : _c.get) === null || _d === void 0 ?
738
+ void 0
739
+ : _d.call(_c, env);
740
+ }
741
+ return undefined;
742
+ };
743
+ exports.readEnv = readEnv;
625
744
  const coerceInteger = (value) => {
626
745
  if (typeof value === 'number') return Math.round(value);
627
746
  if (typeof value === 'string') return parseInt(value, 10);
@@ -640,6 +759,27 @@ const coerceBoolean = (value) => {
640
759
  return Boolean(value);
641
760
  };
642
761
  exports.coerceBoolean = coerceBoolean;
762
+ const maybeCoerceInteger = (value) => {
763
+ if (value === undefined) {
764
+ return undefined;
765
+ }
766
+ return (0, exports.coerceInteger)(value);
767
+ };
768
+ exports.maybeCoerceInteger = maybeCoerceInteger;
769
+ const maybeCoerceFloat = (value) => {
770
+ if (value === undefined) {
771
+ return undefined;
772
+ }
773
+ return (0, exports.coerceFloat)(value);
774
+ };
775
+ exports.maybeCoerceFloat = maybeCoerceFloat;
776
+ const maybeCoerceBoolean = (value) => {
777
+ if (value === undefined) {
778
+ return undefined;
779
+ }
780
+ return (0, exports.coerceBoolean)(value);
781
+ };
782
+ exports.maybeCoerceBoolean = maybeCoerceBoolean;
643
783
  // https://stackoverflow.com/a/34491287
644
784
  function isEmptyObj(obj) {
645
785
  if (!obj) return true;
@@ -652,6 +792,12 @@ function hasOwn(obj, key) {
652
792
  return Object.prototype.hasOwnProperty.call(obj, key);
653
793
  }
654
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;
655
801
  /**
656
802
  * https://stackoverflow.com/a/2117523
657
803
  */
@@ -662,6 +808,17 @@ const uuid4 = () => {
662
808
  return v.toString(16);
663
809
  });
664
810
  };
811
+ const isRunningInBrowser = () => {
812
+ return (
813
+ // @ts-ignore
814
+ typeof window !== 'undefined' &&
815
+ // @ts-ignore
816
+ typeof window.document !== 'undefined' &&
817
+ // @ts-ignore
818
+ typeof navigator !== 'undefined'
819
+ );
820
+ };
821
+ exports.isRunningInBrowser = isRunningInBrowser;
665
822
  const isHeadersProtocol = (headers) => {
666
823
  return typeof (headers === null || headers === void 0 ? void 0 : headers.get) === 'function';
667
824
  };
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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"}