@tryfinch/finch-api 3.1.1 → 4.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.
Files changed (135) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +39 -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.js +1 -1
  14. package/_shims/fetch.node.d.ts +11 -1
  15. package/core.d.ts +87 -38
  16. package/core.d.ts.map +1 -1
  17. package/core.js +245 -114
  18. package/core.js.map +1 -1
  19. package/core.mjs +231 -74
  20. package/core.mjs.map +1 -1
  21. package/error.d.ts +1 -0
  22. package/error.d.ts.map +1 -1
  23. package/error.js +12 -3
  24. package/error.js.map +1 -1
  25. package/error.mjs +12 -3
  26. package/error.mjs.map +1 -1
  27. package/index.d.mts +3 -5
  28. package/index.d.ts +3 -5
  29. package/index.d.ts.map +1 -1
  30. package/index.js +24 -27
  31. package/index.js.map +1 -1
  32. package/index.mjs +24 -27
  33. package/index.mjs.map +1 -1
  34. package/package.json +5 -7
  35. package/pagination.d.ts +17 -8
  36. package/pagination.d.ts.map +1 -1
  37. package/pagination.js +26 -26
  38. package/pagination.js.map +1 -1
  39. package/pagination.mjs +26 -26
  40. package/pagination.mjs.map +1 -1
  41. package/resources/account.d.ts +2 -2
  42. package/resources/account.d.ts.map +1 -1
  43. package/resources/ats/applications.d.ts +6 -3
  44. package/resources/ats/applications.d.ts.map +1 -1
  45. package/resources/ats/applications.js.map +1 -1
  46. package/resources/ats/applications.mjs.map +1 -1
  47. package/resources/ats/ats.d.ts.map +1 -1
  48. package/resources/ats/ats.js.map +1 -1
  49. package/resources/ats/candidates.d.ts +6 -3
  50. package/resources/ats/candidates.d.ts.map +1 -1
  51. package/resources/ats/candidates.js.map +1 -1
  52. package/resources/ats/candidates.mjs.map +1 -1
  53. package/resources/ats/jobs.d.ts +3 -3
  54. package/resources/ats/jobs.d.ts.map +1 -1
  55. package/resources/ats/offers.d.ts +3 -3
  56. package/resources/ats/offers.d.ts.map +1 -1
  57. package/resources/ats/stages.d.ts +1 -1
  58. package/resources/ats/stages.d.ts.map +1 -1
  59. package/resources/hris/benefits/benefits.d.ts +9 -10
  60. package/resources/hris/benefits/benefits.d.ts.map +1 -1
  61. package/resources/hris/benefits/benefits.js.map +1 -1
  62. package/resources/hris/benefits/benefits.mjs.map +1 -1
  63. package/resources/hris/benefits/individuals.d.ts +6 -6
  64. package/resources/hris/benefits/individuals.d.ts.map +1 -1
  65. package/resources/hris/company.d.ts +1 -1
  66. package/resources/hris/company.d.ts.map +1 -1
  67. package/resources/hris/directory.d.ts +2 -2
  68. package/resources/hris/directory.d.ts.map +1 -1
  69. package/resources/hris/hris.d.ts.map +1 -1
  70. package/resources/hris/hris.js.map +1 -1
  71. package/resources/hris/index.d.ts.map +1 -1
  72. package/resources/hris/index.js +7 -7
  73. package/resources/hris/index.js.map +1 -1
  74. package/resources/hris/individuals/employment-data.d.ts +1 -1
  75. package/resources/hris/individuals/employment-data.d.ts.map +1 -1
  76. package/resources/hris/individuals/employment-data.js.map +1 -1
  77. package/resources/hris/individuals/individuals.d.ts +4 -2
  78. package/resources/hris/individuals/individuals.d.ts.map +1 -1
  79. package/resources/hris/individuals/individuals.js.map +1 -1
  80. package/resources/hris/individuals/individuals.mjs.map +1 -1
  81. package/resources/hris/pay-statements.d.ts +1 -1
  82. package/resources/hris/pay-statements.d.ts.map +1 -1
  83. package/resources/hris/payments.d.ts +4 -1
  84. package/resources/hris/payments.d.ts.map +1 -1
  85. package/resources/hris/payments.js.map +1 -1
  86. package/resources/hris/payments.mjs.map +1 -1
  87. package/resources/index.d.ts +1 -0
  88. package/resources/index.d.ts.map +1 -1
  89. package/resources/index.js.map +1 -1
  90. package/resources/index.mjs.map +1 -1
  91. package/resources/providers.d.ts +1 -1
  92. package/resources/providers.d.ts.map +1 -1
  93. package/src/_shims/ReadableStream.d.ts +38 -0
  94. package/src/_shims/ReadableStream.js +5 -0
  95. package/src/_shims/ReadableStream.mjs +7 -0
  96. package/src/_shims/ReadableStream.node.ts +6 -0
  97. package/src/_shims/fetch.d.ts +8 -1
  98. package/src/_shims/fetch.deno.ts +23 -0
  99. package/src/_shims/fetch.js +1 -1
  100. package/src/_shims/fetch.node.d.ts +11 -1
  101. package/src/_shims/formdata.deno.ts +16 -0
  102. package/src/core.ts +302 -93
  103. package/src/error.ts +11 -1
  104. package/src/index.ts +28 -27
  105. package/src/pagination.ts +34 -29
  106. package/src/resources/account.ts +3 -3
  107. package/src/resources/ats/applications.ts +8 -5
  108. package/src/resources/ats/ats.ts +1 -1
  109. package/src/resources/ats/candidates.ts +8 -5
  110. package/src/resources/ats/jobs.ts +5 -5
  111. package/src/resources/ats/offers.ts +5 -5
  112. package/src/resources/ats/stages.ts +2 -2
  113. package/src/resources/hris/benefits/benefits.ts +12 -13
  114. package/src/resources/hris/benefits/individuals.ts +9 -9
  115. package/src/resources/hris/company.ts +2 -2
  116. package/src/resources/hris/directory.ts +4 -4
  117. package/src/resources/hris/hris.ts +1 -1
  118. package/src/resources/hris/index.ts +2 -2
  119. package/src/resources/hris/individuals/employment-data.ts +2 -2
  120. package/src/resources/hris/individuals/individuals.ts +6 -4
  121. package/src/resources/hris/pay-statements.ts +2 -2
  122. package/src/resources/hris/payments.ts +5 -2
  123. package/src/resources/index.ts +1 -0
  124. package/src/resources/providers.ts +2 -2
  125. package/src/uploads.ts +7 -6
  126. package/src/version.ts +1 -1
  127. package/uploads.d.ts +5 -4
  128. package/uploads.d.ts.map +1 -1
  129. package/uploads.js +2 -2
  130. package/uploads.js.map +1 -1
  131. package/uploads.mjs +2 -2
  132. package/uploads.mjs.map +1 -1
  133. package/version.d.ts +1 -1
  134. package/version.js +1 -1
  135. package/version.mjs +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,68 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.0.0](https://github.com/Finch-API/finch-api-node/compare/v3.1.3...v4.0.0) (2023-08-16)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * **client:** support accessing raw response + remove deprecated features ([#114](https://github.com/Finch-API/finch-api-node/issues/114))
9
+
10
+ ### Features
11
+
12
+ * allow a default timeout to be set for clients ([#117](https://github.com/Finch-API/finch-api-node/issues/117)) ([5264bb7](https://github.com/Finch-API/finch-api-node/commit/5264bb7b27e4d0801e994dbd095f0f9497f77569))
13
+ * **client:** detect browser usage ([#106](https://github.com/Finch-API/finch-api-node/issues/106)) ([0a322ae](https://github.com/Finch-API/finch-api-node/commit/0a322aeff94c482784c001a7b8b898f574efbecd))
14
+ * **client:** support accessing raw response + remove deprecated features ([#114](https://github.com/Finch-API/finch-api-node/issues/114)) ([31c306b](https://github.com/Finch-API/finch-api-node/commit/31c306b15dbfffacee1dac360a70d126447a24fb))
15
+ * **streaming:** add `.toReadableStream()` method ([#109](https://github.com/Finch-API/finch-api-node/issues/109)) ([7715977](https://github.com/Finch-API/finch-api-node/commit/77159777775af0a3ac5708426d13d3d02a6076e9))
16
+
17
+
18
+ ### Documentation
19
+
20
+ * **api:** improve custom method arguments ([#108](https://github.com/Finch-API/finch-api-node/issues/108)) ([f9bc372](https://github.com/Finch-API/finch-api-node/commit/f9bc372b44398715cd2cbe99313fcd92d73f9749))
21
+ * **readme:** minor updates ([#115](https://github.com/Finch-API/finch-api-node/issues/115)) ([575b46c](https://github.com/Finch-API/finch-api-node/commit/575b46cf6103b12404c964e07884f89ce6198167))
22
+ * **readme:** remove beta status + document versioning policy ([#105](https://github.com/Finch-API/finch-api-node/issues/105)) ([bc2c0c0](https://github.com/Finch-API/finch-api-node/commit/bc2c0c07f7280364fbb5ffe77ec136f8d31a861c))
23
+
24
+
25
+ ### Chores
26
+
27
+ * assign default reviewers to release PRs ([#118](https://github.com/Finch-API/finch-api-node/issues/118)) ([f114455](https://github.com/Finch-API/finch-api-node/commit/f1144553f95e74f16c57a287848c615893c2acea))
28
+ * **internal:** change jest exclude patterns ([#113](https://github.com/Finch-API/finch-api-node/issues/113)) ([54e17f0](https://github.com/Finch-API/finch-api-node/commit/54e17f0928d88b125f1670efb539f5703788515c))
29
+ * **internal:** conditionally include bin during build output ([#116](https://github.com/Finch-API/finch-api-node/issues/116)) ([f5ac09f](https://github.com/Finch-API/finch-api-node/commit/f5ac09fd5b33f19474e1facc987c9eff92c3b030))
30
+ * **internal:** fix deno build ([#102](https://github.com/Finch-API/finch-api-node/issues/102)) ([0a8e4b6](https://github.com/Finch-API/finch-api-node/commit/0a8e4b6a0cfaf921ba86949d69c1df4ef878d56c))
31
+ * **internal:** fix deno build ([#104](https://github.com/Finch-API/finch-api-node/issues/104)) ([e0aa74a](https://github.com/Finch-API/finch-api-node/commit/e0aa74a57b0f513acb02291609a89969da99751c))
32
+ * **internal:** fix error happening in CloudFlare pages ([#119](https://github.com/Finch-API/finch-api-node/issues/119)) ([312ea9c](https://github.com/Finch-API/finch-api-node/commit/312ea9c3eba9eb82da6ba06f7cb24aa0734f1910))
33
+ * **internal:** remove deno build ([#107](https://github.com/Finch-API/finch-api-node/issues/107)) ([15dff8a](https://github.com/Finch-API/finch-api-node/commit/15dff8aca63439aebcb9f3fba25c34c750c5885b))
34
+ * **internal:** update eslint ([#111](https://github.com/Finch-API/finch-api-node/issues/111)) ([3cf152d](https://github.com/Finch-API/finch-api-node/commit/3cf152dc4e9c9cbe23ed493eb0cf22db6c1e8397))
35
+ * **internal:** update tsconfig-paths dep ([#112](https://github.com/Finch-API/finch-api-node/issues/112)) ([032c38b](https://github.com/Finch-API/finch-api-node/commit/032c38b1e0f069cfaa8dbee65cb9b55bb807baaa))
36
+ * **internal:** update typescript ([#110](https://github.com/Finch-API/finch-api-node/issues/110)) ([d16061a](https://github.com/Finch-API/finch-api-node/commit/d16061ac1d68d0aacb322d8e339ab14479ec7740))
37
+
38
+ ## [3.1.3](https://github.com/Finch-API/finch-api-node/compare/v3.1.2...v3.1.3) (2023-08-01)
39
+
40
+
41
+ ### Bug Fixes
42
+
43
+ * **client:** handle undefined process in more places ([#96](https://github.com/Finch-API/finch-api-node/issues/96)) ([3fa25a2](https://github.com/Finch-API/finch-api-node/commit/3fa25a29af8958292159e0193249385516dec78b))
44
+ * fix undefined message in errors ([#94](https://github.com/Finch-API/finch-api-node/issues/94)) ([b4f1e34](https://github.com/Finch-API/finch-api-node/commit/b4f1e34145a122daa8431dd1db787721899732fe))
45
+
46
+
47
+ ### Chores
48
+
49
+ * **internal:** allow the build script to be run without yarn installed ([#99](https://github.com/Finch-API/finch-api-node/issues/99)) ([f8ce4ec](https://github.com/Finch-API/finch-api-node/commit/f8ce4ece26f9ea832f8ede4e9a6a0fd0ef351d7c))
50
+ * **internal:** minor refactoring of client instantiation ([#97](https://github.com/Finch-API/finch-api-node/issues/97)) ([c9658e3](https://github.com/Finch-API/finch-api-node/commit/c9658e37d8a1b2c0ac02ed010c9e244fdd50992e))
51
+ * **internal:** remove duplicate assignment ([#91](https://github.com/Finch-API/finch-api-node/issues/91)) ([578c305](https://github.com/Finch-API/finch-api-node/commit/578c3059e237175f665b9799377a12053da07214))
52
+
53
+
54
+ ### Refactors
55
+
56
+ * create build for deno.land ([#100](https://github.com/Finch-API/finch-api-node/issues/100)) ([02af2ec](https://github.com/Finch-API/finch-api-node/commit/02af2ec33a3e572b3c74b36f77c92d532141556b))
57
+ * use destructuring arguments in client constructor and respect false values ([#98](https://github.com/Finch-API/finch-api-node/issues/98)) ([5eba1d1](https://github.com/Finch-API/finch-api-node/commit/5eba1d1c314aedbdb62fa225eea85412cfa57eaa))
58
+
59
+ ## [3.1.2](https://github.com/Finch-API/finch-api-node/compare/v3.1.1...v3.1.2) (2023-07-22)
60
+
61
+
62
+ ### Chores
63
+
64
+ * **client:** improve compatibility ([#83](https://github.com/Finch-API/finch-api-node/issues/83)) ([b25f382](https://github.com/Finch-API/finch-api-node/commit/b25f382b16952a3ce13eff3e870c9f030bf5f33d))
65
+
3
66
  ## [3.1.1](https://github.com/Finch-API/finch-api-node/compare/v3.1.0...v3.1.1) (2023-07-17)
4
67
 
5
68
 
package/README.md CHANGED
@@ -2,10 +2,7 @@
2
2
 
3
3
  [![NPM version](https://img.shields.io/npm/v/@tryfinch/finch-api.svg)](https://npmjs.org/package/@tryfinch/finch-api)
4
4
 
5
- The Finch Node library provides convenient access to the Finch REST API from applications written in server-side JavaScript.
6
- It includes TypeScript definitions for all request params and response fields.
7
-
8
- ## Documentation
5
+ This library provides convenient access to the Finch Node REST API from server-side TypeScript or JavaScript.
9
6
 
10
7
  The API documentation can be found [here](https://developer.tryfinch.com/).
11
8
 
@@ -35,10 +32,9 @@ async function main() {
35
32
  main();
36
33
  ```
37
34
 
38
- ### Usage with TypeScript
35
+ ### Request & Response types
39
36
 
40
- Importing, instantiating, and interacting with the library are the same as above.
41
- If you like, you may reference our types directly:
37
+ This library includes TypeScript definitions for all request params and response fields. You may import and use them like so:
42
38
 
43
39
  ```ts
44
40
  import Finch from '@tryfinch/finch-api';
@@ -115,13 +111,13 @@ await finch.hris.directory.listIndividuals({
115
111
 
116
112
  ### Timeouts
117
113
 
118
- Requests time out after 60 seconds by default. You can configure this with a `timeout` option:
114
+ Requests time out after 1 minute by default. You can configure this with a `timeout` option:
119
115
 
120
116
  <!-- prettier-ignore -->
121
117
  ```ts
122
118
  // Configure the default for all requests:
123
119
  const finch = new Finch({
124
- timeout: 20 * 1000, // 20 seconds (default is 60s)
120
+ timeout: 20 * 1000, // 20 seconds (default is 1 minute)
125
121
  });
126
122
 
127
123
  // Override per-request:
@@ -183,6 +179,28 @@ const candidate = await finch.ats.candidates.retrieve('<candidate id>', {
183
179
  });
184
180
  ```
185
181
 
182
+ ## Advanced Usage
183
+
184
+ ### Accessing raw Response data (e.g., headers)
185
+
186
+ The "raw" `Response` returned by `fetch()` can be accessed through the `.asResponse()` method on the `APIPromise` type that all methods return.
187
+
188
+ You can also use the `.withResponse()` method to get the raw `Response` along with the parsed data.
189
+
190
+ ```ts
191
+ const finch = new Finch();
192
+
193
+ const response = await finch.ats.candidates.retrieve('<candidate id>').asResponse();
194
+ console.log(response.headers.get('X-My-Header'));
195
+ console.log(response.statusText); // access the underlying Response object
196
+
197
+ const { data: candidates, response: raw } = await finch.ats.candidates
198
+ .retrieve('<candidate id>')
199
+ .withResponse();
200
+ console.log(raw.headers.get('X-My-Header'));
201
+ console.log(candidates.first_name);
202
+ ```
203
+
186
204
  ## Configuring an HTTP(S) Agent (e.g., for proxies)
187
205
 
188
206
  By default, this library uses a stable agent for all http/https requests to reuse TCP connections, eliminating many TCP & TLS handshakes and shaving around 100ms off most requests.
@@ -206,11 +224,15 @@ await finch.hris.directory.listIndividuals({
206
224
  })
207
225
  ```
208
226
 
209
- ## Status
227
+ ## Semantic Versioning
228
+
229
+ This package generally attempts to follow [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions:
230
+
231
+ 1. Changes that only affect static types, without breaking runtime behavior.
232
+ 2. Changes to library internals which are technically public but not intended or documented for external use. _(Please open a GitHub issue to let us know if you are relying on such internals)_.
233
+ 3. Changes that we do not expect to impact the vast majority of users in practice.
210
234
 
211
- This package is in beta. Its internals and interfaces are not stable
212
- and subject to change without a major semver bump;
213
- please reach out if you rely on any undocumented behavior.
235
+ We take backwards-compatibility seriously and work hard to ensure you can rely on a smooth upgrade experience.
214
236
 
215
237
  We are keen for your feedback; please open an [issue](https://www.github.com/Finch-API/finch-api-node/issues) with questions, bugs, or suggestions.
216
238
 
@@ -219,7 +241,9 @@ We are keen for your feedback; please open an [issue](https://www.github.com/Fin
219
241
  The following runtimes are supported:
220
242
 
221
243
  - Node.js 16 LTS or later ([non-EOL](https://endoflife.date/nodejs)) versions.
222
- - Deno v1.28.0 or higher (experimental).
223
- Use `import Finch from "npm:@tryfinch/finch-api"`.
244
+ - Deno v1.28.0 or higher, using `import Finch from "npm:@tryfinch/finch-api"`.
245
+ Deno Deploy is not yet supported.
246
+ - Cloudflare Workers.
247
+ - Vercel Edge Runtime.
224
248
 
225
249
  If you are interested in other runtime environments, please open or upvote an issue on GitHub.
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Disclaimer: modules in _shims aren't intended to be imported by SDK users.
3
+ */
4
+
5
+ /**
6
+ * >>> Confused? <<<
7
+ *
8
+ * If you're getting errors from these types, try adding "lib": ["DOM"]
9
+ * to your tsconfig.json, or otherwise configure the appropriate builtin
10
+ * `ReadableStream` type for your environment.
11
+ */
12
+
13
+ // @ts-ignore
14
+ type _ReadableStream<R = any> = unknown extends ReadableStream ? never : ReadableStream<R>;
15
+ declare const _ReadableStream: {
16
+ prototype: _ReadableStream;
17
+ new (
18
+ underlyingSource: _UnderlyingByteSource,
19
+ strategy?: { highWaterMark?: number },
20
+ ): _ReadableStream<Uint8Array>;
21
+ new <R = any>(
22
+ underlyingSource: _UnderlyingDefaultSource<R>,
23
+ strategy?: _QueuingStrategy<R>,
24
+ ): _ReadableStream<R>;
25
+ new <R = any>(underlyingSource?: _UnderlyingSource<R>, strategy?: _QueuingStrategy<R>): _ReadableStream<R>;
26
+ };
27
+
28
+ // @ts-ignore
29
+ type _UnderlyingSource<R = any> = unknown extends UnderlyingSource ? never : UnderlyingSource<R>;
30
+ // @ts-ignore
31
+ type _UnderlyingByteSource = unknown extends UnderlyingByteSource ? never : UnderlyingByteSource;
32
+ type _UnderlyingDefaultSource<R = any> =
33
+ // @ts-ignore
34
+ unknown extends UnderlyingDefaultSource ? never : UnderlyingDefaultSource<R>;
35
+ // @ts-ignore
36
+ type _QueuingStrategy<R = any> = unknown extends QueuingStrategy ? never : QueuingStrategy<R>;
37
+
38
+ export { _ReadableStream as ReadableStream };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Disclaimer: modules in _shims aren't intended to be imported by SDK users.
3
+ */
4
+
5
+ exports.ReadableStream = ReadableStream;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Disclaimer: modules in _shims aren't intended to be imported by SDK users.
3
+ */
4
+
5
+ const _ReadableStream = ReadableStream;
6
+
7
+ export { _ReadableStream as ReadableStream };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Disclaimer: modules in _shims aren't intended to be imported by SDK users.
3
+ */
4
+ import { ReadableStream } from 'web-streams-polyfill';
5
+ export { ReadableStream };
6
+ //# sourceMappingURL=ReadableStream.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadableStream.node.d.ts","sourceRoot":"","sources":["../src/_shims/ReadableStream.node.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ exports.ReadableStream = void 0;
4
+ /**
5
+ * Disclaimer: modules in _shims aren't intended to be imported by SDK users.
6
+ */
7
+ const web_streams_polyfill_1 = require('web-streams-polyfill');
8
+ Object.defineProperty(exports, 'ReadableStream', {
9
+ enumerable: true,
10
+ get: function () {
11
+ return web_streams_polyfill_1.ReadableStream;
12
+ },
13
+ });
14
+ //# sourceMappingURL=ReadableStream.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadableStream.node.js","sourceRoot":"","sources":["../src/_shims/ReadableStream.node.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,+DAAsD;AAE7C,+FAFA,qCAAc,OAEA"}
@@ -0,0 +1,3 @@
1
+ import { ReadableStream } from 'web-streams-polyfill';
2
+ export { ReadableStream };
3
+ //# sourceMappingURL=ReadableStream.node.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadableStream.node.mjs","sourceRoot":"","sources":["../src/_shims/ReadableStream.node.ts"],"names":[],"mappings":"OAGO,EAAE,cAAc,EAAE,MAAM,sBAAsB;AAErD,OAAO,EAAE,cAAc,EAAE,CAAC"}
package/_shims/fetch.d.ts CHANGED
@@ -26,6 +26,8 @@ type _Response = unknown extends Response ? never : Response;
26
26
  // @ts-ignore
27
27
  type _ResponseInit = unknown extends ResponseInit ? never : ResponseInit;
28
28
  // @ts-ignore
29
+ type _ResponseType = unknown extends ResponseType ? never : ResponseType;
30
+ // @ts-ignore
29
31
  type _BodyInit = unknown extends BodyInit ? never : BodyInit;
30
32
  // @ts-ignore
31
33
  type _Headers = unknown extends Headers ? never : Headers;
@@ -49,4 +51,9 @@ declare const _Headers: {
49
51
  export const isPolyfilled = false;
50
52
 
51
53
  export { _fetch as fetch, _Request as Request, _Response as Response, _Headers as Headers };
52
- export type { _RequestInit as RequestInit, _RequestInfo as RequestInfo, _BodyInit as BodyInit };
54
+ export type {
55
+ _RequestInit as RequestInit,
56
+ _RequestInfo as RequestInfo,
57
+ _ResponseType as ResponseType,
58
+ _BodyInit as BodyInit,
59
+ };
package/_shims/fetch.js CHANGED
@@ -10,4 +10,4 @@ exports.Request = Request;
10
10
  exports.Response = Response;
11
11
  exports.Headers = Headers;
12
12
 
13
- exports.isPolyfilled = true;
13
+ exports.isPolyfilled = false;
@@ -26,6 +26,11 @@ type _RequestInit = unknown extends RequestInit ? nf.RequestInit : RequestInit;
26
26
  type _Response = unknown extends Response ? nf.Response : Response;
27
27
  // @ts-ignore
28
28
  type _ResponseInit = unknown extends ResponseInit ? nf.ResponseInit : ResponseInit;
29
+ type _ResponseType =
30
+ // @ts-ignore
31
+ unknown extends ResponseType ? 'basic' | 'cors' | 'default' | 'error' | 'opaque' | 'opaqueredirect'
32
+ : // @ts-ignore
33
+ ResponseType;
29
34
  // @ts-ignore
30
35
  type _BodyInit = unknown extends BodyInit ? nf.BodyInit : BodyInit;
31
36
  // @ts-ignore
@@ -50,4 +55,9 @@ declare const _Headers: {
50
55
  export const isPolyfilled = false;
51
56
 
52
57
  export { _fetch as fetch, _Request as Request, _Response as Response, _Headers as Headers };
53
- export type { _RequestInit as RequestInit, _RequestInfo as RequestInfo, _BodyInit as BodyInit };
58
+ export type {
59
+ _RequestInit as RequestInit,
60
+ _RequestInfo as RequestInfo,
61
+ _ResponseType as ResponseType,
62
+ _BodyInit as BodyInit,
63
+ };
package/core.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import * as qs from 'qs';
2
1
  import { APIError } from './error.js';
3
2
  import type { Readable } from '@tryfinch/finch-api/_shims/node-readable';
4
3
  import { type Agent } from '@tryfinch/finch-api/_shims/agent';
5
4
  import { type RequestInfo, type RequestInit, type Response } from '@tryfinch/finch-api/_shims/fetch';
5
+ export { type Response };
6
6
  export {
7
7
  maybeMultipartFormRequestOptions,
8
8
  multipartFormRequestOptions,
@@ -10,6 +10,53 @@ export {
10
10
  type Uploadable,
11
11
  } from './uploads.js';
12
12
  export type Fetch = (url: RequestInfo, init?: RequestInit) => Promise<Response>;
13
+ type PromiseOrValue<T> = T | Promise<T>;
14
+ type APIResponseProps = {
15
+ response: Response;
16
+ options: FinalRequestOptions;
17
+ controller: AbortController;
18
+ };
19
+ /**
20
+ * A subclass of `Promise` providing additional helper methods
21
+ * for interacting with the SDK.
22
+ */
23
+ export declare class APIPromise<T> extends Promise<T> {
24
+ private responsePromise;
25
+ private parseResponse;
26
+ private parsedPromise;
27
+ constructor(
28
+ responsePromise: Promise<APIResponseProps>,
29
+ parseResponse?: (props: APIResponseProps) => PromiseOrValue<T>,
30
+ );
31
+ _thenUnwrap<U>(transform: (data: T) => U): APIPromise<U>;
32
+ /**
33
+ * Gets the raw `Response` instance instead of parsing the response
34
+ * data.
35
+ *
36
+ * If you want to parse the response body but still get the `Response`
37
+ * instance, you can use {@link withResponse()}.
38
+ */
39
+ asResponse(): Promise<Response>;
40
+ /**
41
+ * Gets the parsed response data and the raw `Response` instance.
42
+ *
43
+ * If you just want to get the raw `Response` instance without parsing it,
44
+ * you can use {@link asResponse()}.
45
+ */
46
+ withResponse(): Promise<{
47
+ data: T;
48
+ response: Response;
49
+ }>;
50
+ private parse;
51
+ then<TResult1 = T, TResult2 = never>(
52
+ onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null,
53
+ onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null,
54
+ ): Promise<TResult1 | TResult2>;
55
+ catch<TResult = never>(
56
+ onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null,
57
+ ): Promise<T | TResult>;
58
+ finally(onfinally?: (() => void) | undefined | null): Promise<T>;
59
+ }
13
60
  export declare abstract class APIClient {
14
61
  baseURL: string;
15
62
  maxRetries: number;
@@ -20,7 +67,7 @@ export declare abstract class APIClient {
20
67
  constructor({
21
68
  baseURL,
22
69
  maxRetries,
23
- timeout, // 60s
70
+ timeout, // 1 minute
24
71
  httpAgent,
25
72
  fetch: overridenFetch,
26
73
  }: {
@@ -45,26 +92,18 @@ export declare abstract class APIClient {
45
92
  * Override this to add your own headers validation:
46
93
  */
47
94
  protected validateHeaders(headers: Headers, customHeaders: Headers): void;
48
- /**
49
- * Override this to add your own qs.stringify options, for example:
50
- *
51
- * {
52
- * ...super.qsOptions(),
53
- * strictNullHandling: true,
54
- * }
55
- */
56
- protected qsOptions(): qs.IStringifyOptions | undefined;
57
95
  protected defaultIdempotencyKey(): string;
58
- get<Req extends {}, Rsp>(path: string, opts?: RequestOptions<Req>): Promise<Rsp>;
59
- post<Req extends {}, Rsp>(path: string, opts?: RequestOptions<Req>): Promise<Rsp>;
60
- patch<Req extends {}, Rsp>(path: string, opts?: RequestOptions<Req>): Promise<Rsp>;
61
- put<Req extends {}, Rsp>(path: string, opts?: RequestOptions<Req>): Promise<Rsp>;
62
- delete<Req extends {}, Rsp>(path: string, opts?: RequestOptions<Req>): Promise<Rsp>;
96
+ get<Req extends {}, Rsp>(path: string, opts?: PromiseOrValue<RequestOptions<Req>>): APIPromise<Rsp>;
97
+ post<Req extends {}, Rsp>(path: string, opts?: PromiseOrValue<RequestOptions<Req>>): APIPromise<Rsp>;
98
+ patch<Req extends {}, Rsp>(path: string, opts?: PromiseOrValue<RequestOptions<Req>>): APIPromise<Rsp>;
99
+ put<Req extends {}, Rsp>(path: string, opts?: PromiseOrValue<RequestOptions<Req>>): APIPromise<Rsp>;
100
+ delete<Req extends {}, Rsp>(path: string, opts?: PromiseOrValue<RequestOptions<Req>>): APIPromise<Rsp>;
101
+ private methodRequest;
63
102
  getAPIList<Item, PageClass extends AbstractPage<Item> = AbstractPage<Item>>(
64
103
  path: string,
65
104
  Page: new (...args: any[]) => PageClass,
66
105
  opts?: RequestOptions<any>,
67
- ): PagePromise<PageClass>;
106
+ ): PagePromise<PageClass, Item>;
68
107
  private calculateContentLength;
69
108
  buildRequest<Req extends {}>(
70
109
  options: FinalRequestOptions<Req>,
@@ -94,14 +133,16 @@ export declare abstract class APIClient {
94
133
  headers: Headers | undefined,
95
134
  ): APIError;
96
135
  request<Req extends {}, Rsp>(
97
- options: FinalRequestOptions<Req>,
98
- retriesRemaining?: number,
99
- ): Promise<APIResponse<Rsp>>;
136
+ options: PromiseOrValue<FinalRequestOptions<Req>>,
137
+ remainingRetries?: number | null,
138
+ ): APIPromise<Rsp>;
139
+ private makeRequest;
100
140
  requestAPIList<Item = unknown, PageClass extends AbstractPage<Item> = AbstractPage<Item>>(
101
141
  Page: new (...args: ConstructorParameters<typeof AbstractPage>) => PageClass,
102
142
  options: FinalRequestOptions,
103
- ): PagePromise<PageClass>;
143
+ ): PagePromise<PageClass, Item>;
104
144
  buildURL<Req>(path: string, query: Req | undefined): string;
145
+ protected stringifyQuery(query: Record<string, unknown>): string;
105
146
  fetchWithTimeout(
106
147
  url: RequestInfo,
107
148
  init: RequestInit | undefined,
@@ -113,7 +154,6 @@ export declare abstract class APIClient {
113
154
  private retryRequest;
114
155
  private calculateRetryTimeoutSeconds;
115
156
  private getUserAgent;
116
- private debug;
117
157
  }
118
158
  export declare class APIResource {
119
159
  protected client: APIClient;
@@ -135,7 +175,9 @@ export type PageInfo =
135
175
  export declare abstract class AbstractPage<Item> implements AsyncIterable<Item> {
136
176
  #private;
137
177
  protected options: FinalRequestOptions;
138
- constructor(client: APIClient, response: APIResponse<unknown>, options: FinalRequestOptions);
178
+ protected response: Response;
179
+ protected body: unknown;
180
+ constructor(client: APIClient, response: Response, body: unknown, options: FinalRequestOptions);
139
181
  /**
140
182
  * @deprecated Use nextPageInfo instead
141
183
  */
@@ -147,27 +189,27 @@ export declare abstract class AbstractPage<Item> implements AsyncIterable<Item>
147
189
  iterPages(): AsyncGenerator<AbstractPage<Item>, void, unknown>;
148
190
  [Symbol.asyncIterator](): AsyncGenerator<Awaited<Item>, void, unknown>;
149
191
  }
192
+ /**
193
+ * This subclass of Promise will resolve to an instantiated Page once the request completes.
194
+ *
195
+ * It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:
196
+ *
197
+ * for await (const item of client.items.list()) {
198
+ * console.log(item)
199
+ * }
200
+ */
150
201
  export declare class PagePromise<
151
202
  PageClass extends AbstractPage<Item>,
152
203
  Item = ReturnType<PageClass['getPaginatedItems']>[number],
153
204
  >
154
- extends Promise<PageClass>
205
+ extends APIPromise<PageClass>
155
206
  implements AsyncIterable<Item>
156
207
  {
157
- /**
158
- * This subclass of Promise will resolve to an instantiated Page once the request completes.
159
- */
160
208
  constructor(
161
209
  client: APIClient,
162
- requestPromise: Promise<APIResponse<unknown>>,
163
- options: FinalRequestOptions,
210
+ request: Promise<APIResponseProps>,
164
211
  Page: new (...args: ConstructorParameters<typeof AbstractPage>) => PageClass,
165
212
  );
166
- /**
167
- * Enable subclassing Promise.
168
- * Ref: https://stackoverflow.com/a/60328122
169
- */
170
- static get [Symbol.species](): PromiseConstructor;
171
213
  /**
172
214
  * Allow auto-paginating iteration on an unawaited list call, eg:
173
215
  *
@@ -209,18 +251,25 @@ export type FinalRequestOptions<Req extends {} = Record<string, unknown> | Reada
209
251
  method: HTTPMethod;
210
252
  path: string;
211
253
  };
212
- export type APIResponse<T> = T & {
213
- /** @deprecated - we plan to add a different way to access raw response information shortly. */
214
- responseHeaders: Headers;
215
- };
216
254
  export declare const safeJSON: (text: string) => any;
217
255
  export declare const castToError: (err: any) => Error;
218
256
  export declare const ensurePresent: <T>(value: T | null | undefined) => T;
257
+ /**
258
+ * Read an environment variable.
259
+ *
260
+ * Will return undefined if the environment variable doesn't exist or cannot be accessed.
261
+ */
262
+ export declare const readEnv: (env: string) => string | undefined;
219
263
  export declare const coerceInteger: (value: unknown) => number;
220
264
  export declare const coerceFloat: (value: unknown) => number;
221
265
  export declare const coerceBoolean: (value: unknown) => boolean;
266
+ export declare const maybeCoerceInteger: (value: unknown) => number | undefined;
267
+ export declare const maybeCoerceFloat: (value: unknown) => number | undefined;
268
+ export declare const maybeCoerceBoolean: (value: unknown) => boolean | undefined;
222
269
  export declare function isEmptyObj(obj: Object | null | undefined): boolean;
223
270
  export declare function hasOwn(obj: Object, key: string): boolean;
271
+ export declare function debug(action: string, ...args: any[]): void;
272
+ export declare const isRunningInBrowser: () => boolean;
224
273
  export interface HeadersProtocol {
225
274
  get: (header: string) => string | null | undefined;
226
275
  }
package/core.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["src/core.ts"],"names":[],"mappings":"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"}