@roarkanalytics/sdk 0.1.0-alpha.1 → 0.1.0-alpha.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (347) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +1 -1
  3. package/README.md +48 -85
  4. package/_shims/MultipartBody.d.ts +9 -0
  5. package/_shims/MultipartBody.d.ts.map +1 -0
  6. package/_shims/MultipartBody.js +16 -0
  7. package/_shims/MultipartBody.js.map +1 -0
  8. package/_shims/MultipartBody.mjs +12 -0
  9. package/_shims/MultipartBody.mjs.map +1 -0
  10. package/_shims/README.md +46 -0
  11. package/_shims/auto/runtime-bun.d.ts +5 -0
  12. package/_shims/auto/runtime-bun.d.ts.map +1 -0
  13. package/{internal/utils.js → _shims/auto/runtime-bun.js} +5 -8
  14. package/_shims/auto/runtime-bun.js.map +1 -0
  15. package/_shims/auto/runtime-bun.mjs +2 -0
  16. package/_shims/auto/runtime-bun.mjs.map +1 -0
  17. package/_shims/auto/runtime-node.d.ts +5 -0
  18. package/_shims/auto/runtime-node.d.ts.map +1 -0
  19. package/_shims/auto/runtime-node.js +21 -0
  20. package/_shims/auto/runtime-node.js.map +1 -0
  21. package/_shims/auto/runtime-node.mjs +2 -0
  22. package/_shims/auto/runtime-node.mjs.map +1 -0
  23. package/_shims/auto/runtime.d.ts +5 -0
  24. package/_shims/auto/runtime.d.ts.map +1 -0
  25. package/_shims/auto/runtime.js +21 -0
  26. package/_shims/auto/runtime.js.map +1 -0
  27. package/_shims/auto/runtime.mjs +2 -0
  28. package/_shims/auto/runtime.mjs.map +1 -0
  29. package/_shims/auto/types-node.d.ts +5 -0
  30. package/_shims/auto/types-node.d.ts.map +1 -0
  31. package/_shims/auto/types-node.js +21 -0
  32. package/_shims/auto/types-node.js.map +1 -0
  33. package/_shims/auto/types-node.mjs +2 -0
  34. package/_shims/auto/types-node.mjs.map +1 -0
  35. package/_shims/auto/types.d.ts +101 -0
  36. package/_shims/auto/types.js +3 -0
  37. package/_shims/auto/types.mjs +3 -0
  38. package/_shims/bun-runtime.d.ts +6 -0
  39. package/_shims/bun-runtime.d.ts.map +1 -0
  40. package/_shims/bun-runtime.js +14 -0
  41. package/_shims/bun-runtime.js.map +1 -0
  42. package/_shims/bun-runtime.mjs +10 -0
  43. package/_shims/bun-runtime.mjs.map +1 -0
  44. package/_shims/index.d.ts +81 -0
  45. package/_shims/index.js +13 -0
  46. package/_shims/index.mjs +7 -0
  47. package/_shims/manual-types.d.ts +12 -0
  48. package/_shims/manual-types.js +3 -0
  49. package/_shims/manual-types.mjs +3 -0
  50. package/_shims/node-runtime.d.ts +3 -0
  51. package/_shims/node-runtime.d.ts.map +1 -0
  52. package/_shims/node-runtime.js +89 -0
  53. package/_shims/node-runtime.js.map +1 -0
  54. package/_shims/node-runtime.mjs +56 -0
  55. package/_shims/node-runtime.mjs.map +1 -0
  56. package/_shims/node-types.d.ts +42 -0
  57. package/_shims/node-types.js +3 -0
  58. package/_shims/node-types.mjs +3 -0
  59. package/_shims/registry.d.ts +37 -0
  60. package/_shims/registry.d.ts.map +1 -0
  61. package/_shims/registry.js +41 -0
  62. package/_shims/registry.js.map +1 -0
  63. package/_shims/registry.mjs +37 -0
  64. package/_shims/registry.mjs.map +1 -0
  65. package/_shims/web-runtime.d.ts +5 -0
  66. package/_shims/web-runtime.d.ts.map +1 -0
  67. package/_shims/web-runtime.js +78 -0
  68. package/_shims/web-runtime.js.map +1 -0
  69. package/_shims/web-runtime.mjs +71 -0
  70. package/_shims/web-runtime.mjs.map +1 -0
  71. package/_shims/web-types.d.ts +83 -0
  72. package/_shims/web-types.js +3 -0
  73. package/_shims/web-types.mjs +3 -0
  74. package/core.d.ts +241 -0
  75. package/core.d.ts.map +1 -0
  76. package/core.js +908 -0
  77. package/core.js.map +1 -0
  78. package/core.mjs +876 -0
  79. package/core.mjs.map +1 -0
  80. package/error.d.ts +3 -3
  81. package/error.d.ts.map +1 -1
  82. package/error.js +6 -6
  83. package/error.js.map +1 -1
  84. package/error.mjs +3 -3
  85. package/error.mjs.map +1 -1
  86. package/index.d.mts +109 -5
  87. package/index.d.ts +109 -5
  88. package/index.d.ts.map +1 -1
  89. package/index.js +103 -11
  90. package/index.js.map +1 -1
  91. package/index.mjs +77 -5
  92. package/index.mjs.map +1 -1
  93. package/package.json +66 -82
  94. package/resource.d.ts +3 -3
  95. package/resource.d.ts.map +1 -1
  96. package/resource.js.map +1 -1
  97. package/resource.mjs.map +1 -1
  98. package/resources/calls.d.ts +2 -3
  99. package/resources/calls.d.ts.map +1 -1
  100. package/resources/calls.js.map +1 -1
  101. package/resources/calls.mjs.map +1 -1
  102. package/resources/index.d.ts.map +1 -1
  103. package/shims/node.d.ts +30 -0
  104. package/shims/node.d.ts.map +1 -0
  105. package/shims/node.js +31 -0
  106. package/shims/node.js.map +1 -0
  107. package/shims/node.mjs +5 -0
  108. package/shims/node.mjs.map +1 -0
  109. package/shims/web.d.ts +26 -0
  110. package/shims/web.d.ts.map +1 -0
  111. package/shims/web.js +31 -0
  112. package/shims/web.js.map +1 -0
  113. package/shims/web.mjs +5 -0
  114. package/shims/web.mjs.map +1 -0
  115. package/src/_shims/MultipartBody.ts +9 -0
  116. package/src/_shims/README.md +46 -0
  117. package/src/_shims/auto/runtime-bun.ts +4 -0
  118. package/src/_shims/auto/runtime-node.ts +4 -0
  119. package/src/_shims/auto/runtime.ts +4 -0
  120. package/src/_shims/auto/types-node.ts +4 -0
  121. package/src/_shims/auto/types.d.ts +101 -0
  122. package/src/_shims/auto/types.js +3 -0
  123. package/src/_shims/auto/types.mjs +3 -0
  124. package/src/_shims/bun-runtime.ts +14 -0
  125. package/src/_shims/index.d.ts +81 -0
  126. package/src/_shims/index.js +13 -0
  127. package/src/_shims/index.mjs +7 -0
  128. package/src/_shims/manual-types.d.ts +12 -0
  129. package/src/_shims/manual-types.js +3 -0
  130. package/src/_shims/manual-types.mjs +3 -0
  131. package/src/_shims/node-runtime.ts +81 -0
  132. package/src/_shims/node-types.d.ts +42 -0
  133. package/src/_shims/node-types.js +3 -0
  134. package/src/_shims/node-types.mjs +3 -0
  135. package/src/_shims/registry.ts +67 -0
  136. package/src/_shims/web-runtime.ts +103 -0
  137. package/src/_shims/web-types.d.ts +83 -0
  138. package/src/_shims/web-types.js +3 -0
  139. package/src/_shims/web-types.mjs +3 -0
  140. package/src/core.ts +1200 -0
  141. package/src/error.ts +3 -3
  142. package/src/index.ts +172 -5
  143. package/src/resource.ts +3 -3
  144. package/src/resources/calls.ts +2 -3
  145. package/src/shims/node.ts +50 -0
  146. package/src/shims/web.ts +50 -0
  147. package/src/tsconfig.json +2 -2
  148. package/src/uploads.ts +255 -1
  149. package/src/version.ts +1 -1
  150. package/uploads.d.ts +74 -1
  151. package/uploads.d.ts.map +1 -1
  152. package/uploads.js +168 -3
  153. package/uploads.js.map +1 -1
  154. package/uploads.mjs +157 -1
  155. package/uploads.mjs.map +1 -1
  156. package/version.d.ts +1 -1
  157. package/version.js +1 -1
  158. package/version.mjs +1 -1
  159. package/api-promise.d.mts +0 -47
  160. package/api-promise.d.mts.map +0 -1
  161. package/api-promise.d.ts +0 -47
  162. package/api-promise.d.ts.map +0 -1
  163. package/api-promise.js +0 -84
  164. package/api-promise.js.map +0 -1
  165. package/api-promise.mjs +0 -80
  166. package/api-promise.mjs.map +0 -1
  167. package/client.d.mts +0 -186
  168. package/client.d.mts.map +0 -1
  169. package/client.d.ts +0 -186
  170. package/client.d.ts.map +0 -1
  171. package/client.js +0 -449
  172. package/client.js.map +0 -1
  173. package/client.mjs +0 -422
  174. package/client.mjs.map +0 -1
  175. package/error.d.mts +0 -47
  176. package/error.d.mts.map +0 -1
  177. package/index.d.mts.map +0 -1
  178. package/internal/builtin-types.d.mts +0 -65
  179. package/internal/builtin-types.d.mts.map +0 -1
  180. package/internal/builtin-types.d.ts +0 -65
  181. package/internal/builtin-types.d.ts.map +0 -1
  182. package/internal/builtin-types.js +0 -4
  183. package/internal/builtin-types.js.map +0 -1
  184. package/internal/builtin-types.mjs +0 -3
  185. package/internal/builtin-types.mjs.map +0 -1
  186. package/internal/detect-platform.d.mts +0 -15
  187. package/internal/detect-platform.d.mts.map +0 -1
  188. package/internal/detect-platform.d.ts +0 -15
  189. package/internal/detect-platform.d.ts.map +0 -1
  190. package/internal/detect-platform.js +0 -162
  191. package/internal/detect-platform.js.map +0 -1
  192. package/internal/detect-platform.mjs +0 -157
  193. package/internal/detect-platform.mjs.map +0 -1
  194. package/internal/errors.d.mts +0 -3
  195. package/internal/errors.d.mts.map +0 -1
  196. package/internal/errors.d.ts +0 -3
  197. package/internal/errors.d.ts.map +0 -1
  198. package/internal/errors.js +0 -26
  199. package/internal/errors.js.map +0 -1
  200. package/internal/errors.mjs +0 -21
  201. package/internal/errors.mjs.map +0 -1
  202. package/internal/headers.d.mts +0 -21
  203. package/internal/headers.d.mts.map +0 -1
  204. package/internal/headers.d.ts +0 -21
  205. package/internal/headers.d.ts.map +0 -1
  206. package/internal/headers.js +0 -77
  207. package/internal/headers.js.map +0 -1
  208. package/internal/headers.mjs +0 -72
  209. package/internal/headers.mjs.map +0 -1
  210. package/internal/parse.d.mts +0 -10
  211. package/internal/parse.d.mts.map +0 -1
  212. package/internal/parse.d.ts +0 -10
  213. package/internal/parse.d.ts.map +0 -1
  214. package/internal/parse.js +0 -28
  215. package/internal/parse.js.map +0 -1
  216. package/internal/parse.mjs +0 -24
  217. package/internal/parse.mjs.map +0 -1
  218. package/internal/polyfill/crypto.node.d.ts +0 -10
  219. package/internal/polyfill/crypto.node.js +0 -11
  220. package/internal/polyfill/crypto.node.mjs +0 -2
  221. package/internal/polyfill/file.node.d.ts +0 -9
  222. package/internal/polyfill/file.node.js +0 -17
  223. package/internal/polyfill/file.node.mjs +0 -9
  224. package/internal/request-options.d.mts +0 -34
  225. package/internal/request-options.d.mts.map +0 -1
  226. package/internal/request-options.d.ts +0 -34
  227. package/internal/request-options.d.ts.map +0 -1
  228. package/internal/request-options.js +0 -39
  229. package/internal/request-options.js.map +0 -1
  230. package/internal/request-options.mjs +0 -34
  231. package/internal/request-options.mjs.map +0 -1
  232. package/internal/shim-types.d.mts +0 -28
  233. package/internal/shim-types.d.ts +0 -28
  234. package/internal/shims.d.mts +0 -61
  235. package/internal/shims.d.mts.map +0 -1
  236. package/internal/shims.d.ts +0 -61
  237. package/internal/shims.d.ts.map +0 -1
  238. package/internal/shims.js +0 -101
  239. package/internal/shims.js.map +0 -1
  240. package/internal/shims.mjs +0 -92
  241. package/internal/shims.mjs.map +0 -1
  242. package/internal/types.d.mts +0 -68
  243. package/internal/types.d.mts.map +0 -1
  244. package/internal/types.d.ts +0 -68
  245. package/internal/types.d.ts.map +0 -1
  246. package/internal/types.js +0 -4
  247. package/internal/types.js.map +0 -1
  248. package/internal/types.mjs +0 -3
  249. package/internal/types.mjs.map +0 -1
  250. package/internal/uploads.d.mts +0 -73
  251. package/internal/uploads.d.mts.map +0 -1
  252. package/internal/uploads.d.ts +0 -73
  253. package/internal/uploads.d.ts.map +0 -1
  254. package/internal/uploads.js +0 -208
  255. package/internal/uploads.js.map +0 -1
  256. package/internal/uploads.mjs +0 -200
  257. package/internal/uploads.mjs.map +0 -1
  258. package/internal/utils/base64.d.mts +0 -3
  259. package/internal/utils/base64.d.mts.map +0 -1
  260. package/internal/utils/base64.d.ts +0 -3
  261. package/internal/utils/base64.d.ts.map +0 -1
  262. package/internal/utils/base64.js +0 -33
  263. package/internal/utils/base64.js.map +0 -1
  264. package/internal/utils/base64.mjs +0 -28
  265. package/internal/utils/base64.mjs.map +0 -1
  266. package/internal/utils/env.d.mts +0 -9
  267. package/internal/utils/env.d.mts.map +0 -1
  268. package/internal/utils/env.d.ts +0 -9
  269. package/internal/utils/env.d.ts.map +0 -1
  270. package/internal/utils/env.js +0 -22
  271. package/internal/utils/env.js.map +0 -1
  272. package/internal/utils/env.mjs +0 -18
  273. package/internal/utils/env.mjs.map +0 -1
  274. package/internal/utils/log.d.mts +0 -4
  275. package/internal/utils/log.d.mts.map +0 -1
  276. package/internal/utils/log.d.ts +0 -4
  277. package/internal/utils/log.d.ts.map +0 -1
  278. package/internal/utils/log.js +0 -47
  279. package/internal/utils/log.js.map +0 -1
  280. package/internal/utils/log.mjs +0 -43
  281. package/internal/utils/log.mjs.map +0 -1
  282. package/internal/utils/sleep.d.mts +0 -2
  283. package/internal/utils/sleep.d.mts.map +0 -1
  284. package/internal/utils/sleep.d.ts +0 -2
  285. package/internal/utils/sleep.d.ts.map +0 -1
  286. package/internal/utils/sleep.js +0 -7
  287. package/internal/utils/sleep.js.map +0 -1
  288. package/internal/utils/sleep.mjs +0 -3
  289. package/internal/utils/sleep.mjs.map +0 -1
  290. package/internal/utils/uuid.d.mts +0 -5
  291. package/internal/utils/uuid.d.mts.map +0 -1
  292. package/internal/utils/uuid.d.ts +0 -5
  293. package/internal/utils/uuid.d.ts.map +0 -1
  294. package/internal/utils/uuid.js +0 -15
  295. package/internal/utils/uuid.js.map +0 -1
  296. package/internal/utils/uuid.mjs +0 -11
  297. package/internal/utils/uuid.mjs.map +0 -1
  298. package/internal/utils/values.d.mts +0 -15
  299. package/internal/utils/values.d.mts.map +0 -1
  300. package/internal/utils/values.d.ts +0 -15
  301. package/internal/utils/values.d.ts.map +0 -1
  302. package/internal/utils/values.js +0 -100
  303. package/internal/utils/values.js.map +0 -1
  304. package/internal/utils/values.mjs +0 -84
  305. package/internal/utils/values.mjs.map +0 -1
  306. package/internal/utils.d.mts +0 -7
  307. package/internal/utils.d.mts.map +0 -1
  308. package/internal/utils.d.ts +0 -7
  309. package/internal/utils.d.ts.map +0 -1
  310. package/internal/utils.js.map +0 -1
  311. package/internal/utils.mjs +0 -8
  312. package/internal/utils.mjs.map +0 -1
  313. package/resource.d.mts +0 -6
  314. package/resource.d.mts.map +0 -1
  315. package/resources/calls.d.mts +0 -85
  316. package/resources/calls.d.mts.map +0 -1
  317. package/resources/index.d.mts +0 -2
  318. package/resources/index.d.mts.map +0 -1
  319. package/src/api-promise.ts +0 -92
  320. package/src/client.ts +0 -646
  321. package/src/internal/builtin-types.ts +0 -79
  322. package/src/internal/detect-platform.ts +0 -196
  323. package/src/internal/errors.ts +0 -22
  324. package/src/internal/headers.ts +0 -96
  325. package/src/internal/parse.ts +0 -41
  326. package/src/internal/polyfill/crypto.node.d.ts +0 -10
  327. package/src/internal/polyfill/crypto.node.js +0 -11
  328. package/src/internal/polyfill/crypto.node.mjs +0 -2
  329. package/src/internal/polyfill/file.node.d.ts +0 -9
  330. package/src/internal/polyfill/file.node.js +0 -17
  331. package/src/internal/polyfill/file.node.mjs +0 -9
  332. package/src/internal/request-options.ts +0 -67
  333. package/src/internal/shim-types.d.ts +0 -28
  334. package/src/internal/shims.ts +0 -145
  335. package/src/internal/types.ts +0 -98
  336. package/src/internal/uploads.ts +0 -307
  337. package/src/internal/utils/base64.ts +0 -37
  338. package/src/internal/utils/env.ts +0 -18
  339. package/src/internal/utils/log.ts +0 -49
  340. package/src/internal/utils/sleep.ts +0 -3
  341. package/src/internal/utils/uuid.ts +0 -13
  342. package/src/internal/utils/values.ts +0 -94
  343. package/src/internal/utils.ts +0 -8
  344. package/uploads.d.mts +0 -2
  345. package/uploads.d.mts.map +0 -1
  346. package/version.d.mts +0 -2
  347. package/version.d.mts.map +0 -1
package/uploads.d.ts CHANGED
@@ -1,2 +1,75 @@
1
- export { type Uploadable, toFile } from "./internal/uploads.js";
1
+ import { type RequestOptions } from "./core.js";
2
+ import { FormData, type Blob, type FilePropertyBag, type FsReadStream } from "./_shims/index.js";
3
+ import { MultipartBody } from "./_shims/MultipartBody.js";
4
+ export { fileFromPath } from "./_shims/index.js";
5
+ type BlobLikePart = string | ArrayBuffer | ArrayBufferView | BlobLike | Uint8Array | DataView;
6
+ export type BlobPart = string | ArrayBuffer | ArrayBufferView | Blob | Uint8Array | DataView;
7
+ /**
8
+ * Typically, this is a native "File" class.
9
+ *
10
+ * We provide the {@link toFile} utility to convert a variety of objects
11
+ * into the File class.
12
+ *
13
+ * For convenience, you can also pass a fetch Response, or in Node,
14
+ * the result of fs.createReadStream().
15
+ */
16
+ export type Uploadable = FileLike | ResponseLike | FsReadStream;
17
+ /**
18
+ * Intended to match web.Blob, node.Blob, node-fetch.Blob, etc.
19
+ */
20
+ export interface BlobLike {
21
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/size) */
22
+ readonly size: number;
23
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/type) */
24
+ readonly type: string;
25
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/text) */
26
+ text(): Promise<string>;
27
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/slice) */
28
+ slice(start?: number, end?: number): BlobLike;
29
+ }
30
+ /**
31
+ * Intended to match web.File, node.File, node-fetch.File, etc.
32
+ */
33
+ export interface FileLike extends BlobLike {
34
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/lastModified) */
35
+ readonly lastModified: number;
36
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/name) */
37
+ readonly name: string;
38
+ }
39
+ /**
40
+ * Intended to match web.Response, node.Response, node-fetch.Response, etc.
41
+ */
42
+ export interface ResponseLike {
43
+ url: string;
44
+ blob(): Promise<BlobLike>;
45
+ }
46
+ export declare const isResponseLike: (value: any) => value is ResponseLike;
47
+ export declare const isFileLike: (value: any) => value is FileLike;
48
+ /**
49
+ * The BlobLike type omits arrayBuffer() because @types/node-fetch@^2.6.4 lacks it; but this check
50
+ * adds the arrayBuffer() method type because it is available and used at runtime
51
+ */
52
+ export declare const isBlobLike: (value: any) => value is BlobLike & {
53
+ arrayBuffer(): Promise<ArrayBuffer>;
54
+ };
55
+ export declare const isUploadable: (value: any) => value is Uploadable;
56
+ export type ToFileInput = Uploadable | Exclude<BlobLikePart, string> | AsyncIterable<BlobLikePart>;
57
+ /**
58
+ * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats
59
+ * @param value the raw content of the file. Can be an {@link Uploadable}, {@link BlobLikePart}, or {@link AsyncIterable} of {@link BlobLikePart}s
60
+ * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible
61
+ * @param {Object=} options additional properties
62
+ * @param {string=} options.type the MIME type of the content
63
+ * @param {number=} options.lastModified the last modified timestamp
64
+ * @returns a {@link File} with the given properties
65
+ */
66
+ export declare function toFile(value: ToFileInput | PromiseLike<ToFileInput>, name?: string | null | undefined, options?: FilePropertyBag | undefined): Promise<FileLike>;
67
+ export declare const isMultipartBody: (body: any) => body is MultipartBody;
68
+ /**
69
+ * Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.
70
+ * Otherwise returns the request as is.
71
+ */
72
+ export declare const maybeMultipartFormRequestOptions: <T = Record<string, unknown>>(opts: RequestOptions<T>) => Promise<RequestOptions<MultipartBody | T>>;
73
+ export declare const multipartFormRequestOptions: <T = Record<string, unknown>>(opts: RequestOptions<T>) => Promise<RequestOptions<MultipartBody | T>>;
74
+ export declare const createForm: <T = Record<string, unknown>>(body: T | undefined) => Promise<FormData>;
2
75
  //# sourceMappingURL=uploads.d.ts.map
package/uploads.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":"OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE"}
1
+ {"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EACL,QAAQ,EAER,KAAK,IAAI,EACT,KAAK,eAAe,EAEpB,KAAK,YAAY,EAElB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,KAAK,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC9F,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,IAAI,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE7F;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,6EAA6E;IAC7E,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAE/C;AAED;;GAEG;AACH,MAAM,WAAW,QAAS,SAAQ,QAAQ;IACxC,oFAAoF;IACpF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,UAAW,GAAG,0BAIP,CAAC;AAEnC,eAAO,MAAM,UAAU,UAAW,GAAG,sBAKlB,CAAC;AAEpB;;;GAGG;AACH,eAAO,MAAM,UAAU,UAAW,GAAG;mBAAwC,QAAQ,WAAW,CAAC;CAOxD,CAAC;AAE1C,eAAO,MAAM,YAAY,UAAW,GAAG,wBAEtC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AAEnG;;;;;;;;GAQG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,EAC7C,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,GACpC,OAAO,CAAC,QAAQ,CAAC,CAiCnB;AAmDD,eAAO,MAAM,eAAe,SAAU,GAAG,0BACsD,CAAC;AAEhG;;;GAGG;AACH,eAAO,MAAM,gCAAgC,sGAO5C,CAAC;AAEF,eAAO,MAAM,2BAA2B,sGAKvC,CAAC;AAEF,eAAO,MAAM,UAAU,wDAA6D,QAAQ,QAAQ,CAInG,CAAC"}
package/uploads.js CHANGED
@@ -1,6 +1,171 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toFile = void 0;
4
- var uploads_1 = require("./internal/uploads.js");
5
- Object.defineProperty(exports, "toFile", { enumerable: true, get: function () { return uploads_1.toFile; } });
3
+ exports.createForm = exports.multipartFormRequestOptions = exports.maybeMultipartFormRequestOptions = exports.isMultipartBody = exports.toFile = exports.isUploadable = exports.isBlobLike = exports.isFileLike = exports.isResponseLike = exports.fileFromPath = void 0;
4
+ const index_1 = require("./_shims/index.js");
5
+ var index_2 = require("./_shims/index.js");
6
+ Object.defineProperty(exports, "fileFromPath", { enumerable: true, get: function () { return index_2.fileFromPath; } });
7
+ const isResponseLike = (value) => value != null &&
8
+ typeof value === 'object' &&
9
+ typeof value.url === 'string' &&
10
+ typeof value.blob === 'function';
11
+ exports.isResponseLike = isResponseLike;
12
+ const isFileLike = (value) => value != null &&
13
+ typeof value === 'object' &&
14
+ typeof value.name === 'string' &&
15
+ typeof value.lastModified === 'number' &&
16
+ (0, exports.isBlobLike)(value);
17
+ exports.isFileLike = isFileLike;
18
+ /**
19
+ * The BlobLike type omits arrayBuffer() because @types/node-fetch@^2.6.4 lacks it; but this check
20
+ * adds the arrayBuffer() method type because it is available and used at runtime
21
+ */
22
+ const isBlobLike = (value) => value != null &&
23
+ typeof value === 'object' &&
24
+ typeof value.size === 'number' &&
25
+ typeof value.type === 'string' &&
26
+ typeof value.text === 'function' &&
27
+ typeof value.slice === 'function' &&
28
+ typeof value.arrayBuffer === 'function';
29
+ exports.isBlobLike = isBlobLike;
30
+ const isUploadable = (value) => {
31
+ return (0, exports.isFileLike)(value) || (0, exports.isResponseLike)(value) || (0, index_1.isFsReadStream)(value);
32
+ };
33
+ exports.isUploadable = isUploadable;
34
+ /**
35
+ * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats
36
+ * @param value the raw content of the file. Can be an {@link Uploadable}, {@link BlobLikePart}, or {@link AsyncIterable} of {@link BlobLikePart}s
37
+ * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible
38
+ * @param {Object=} options additional properties
39
+ * @param {string=} options.type the MIME type of the content
40
+ * @param {number=} options.lastModified the last modified timestamp
41
+ * @returns a {@link File} with the given properties
42
+ */
43
+ async function toFile(value, name, options) {
44
+ // If it's a promise, resolve it.
45
+ value = await value;
46
+ // If we've been given a `File` we don't need to do anything
47
+ if ((0, exports.isFileLike)(value)) {
48
+ return value;
49
+ }
50
+ if ((0, exports.isResponseLike)(value)) {
51
+ const blob = await value.blob();
52
+ name || (name = new URL(value.url).pathname.split(/[\\/]/).pop() ?? 'unknown_file');
53
+ // we need to convert the `Blob` into an array buffer because the `Blob` class
54
+ // that `node-fetch` defines is incompatible with the web standard which results
55
+ // in `new File` interpreting it as a string instead of binary data.
56
+ const data = (0, exports.isBlobLike)(blob) ? [(await blob.arrayBuffer())] : [blob];
57
+ return new index_1.File(data, name, options);
58
+ }
59
+ const bits = await getBytes(value);
60
+ name || (name = getName(value) ?? 'unknown_file');
61
+ if (!options?.type) {
62
+ const type = bits[0]?.type;
63
+ if (typeof type === 'string') {
64
+ options = { ...options, type };
65
+ }
66
+ }
67
+ return new index_1.File(bits, name, options);
68
+ }
69
+ exports.toFile = toFile;
70
+ async function getBytes(value) {
71
+ let parts = [];
72
+ if (typeof value === 'string' ||
73
+ ArrayBuffer.isView(value) || // includes Uint8Array, Buffer, etc.
74
+ value instanceof ArrayBuffer) {
75
+ parts.push(value);
76
+ }
77
+ else if ((0, exports.isBlobLike)(value)) {
78
+ parts.push(await value.arrayBuffer());
79
+ }
80
+ else if (isAsyncIterableIterator(value) // includes Readable, ReadableStream, etc.
81
+ ) {
82
+ for await (const chunk of value) {
83
+ parts.push(chunk); // TODO, consider validating?
84
+ }
85
+ }
86
+ else {
87
+ throw new Error(`Unexpected data type: ${typeof value}; constructor: ${value?.constructor
88
+ ?.name}; props: ${propsForError(value)}`);
89
+ }
90
+ return parts;
91
+ }
92
+ function propsForError(value) {
93
+ const props = Object.getOwnPropertyNames(value);
94
+ return `[${props.map((p) => `"${p}"`).join(', ')}]`;
95
+ }
96
+ function getName(value) {
97
+ return (getStringFromMaybeBuffer(value.name) ||
98
+ getStringFromMaybeBuffer(value.filename) ||
99
+ // For fs.ReadStream
100
+ getStringFromMaybeBuffer(value.path)?.split(/[\\/]/).pop());
101
+ }
102
+ const getStringFromMaybeBuffer = (x) => {
103
+ if (typeof x === 'string')
104
+ return x;
105
+ if (typeof Buffer !== 'undefined' && x instanceof Buffer)
106
+ return String(x);
107
+ return undefined;
108
+ };
109
+ const isAsyncIterableIterator = (value) => value != null && typeof value === 'object' && typeof value[Symbol.asyncIterator] === 'function';
110
+ const isMultipartBody = (body) => body && typeof body === 'object' && body.body && body[Symbol.toStringTag] === 'MultipartBody';
111
+ exports.isMultipartBody = isMultipartBody;
112
+ /**
113
+ * Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.
114
+ * Otherwise returns the request as is.
115
+ */
116
+ const maybeMultipartFormRequestOptions = async (opts) => {
117
+ if (!hasUploadableValue(opts.body))
118
+ return opts;
119
+ const form = await (0, exports.createForm)(opts.body);
120
+ return (0, index_1.getMultipartRequestOptions)(form, opts);
121
+ };
122
+ exports.maybeMultipartFormRequestOptions = maybeMultipartFormRequestOptions;
123
+ const multipartFormRequestOptions = async (opts) => {
124
+ const form = await (0, exports.createForm)(opts.body);
125
+ return (0, index_1.getMultipartRequestOptions)(form, opts);
126
+ };
127
+ exports.multipartFormRequestOptions = multipartFormRequestOptions;
128
+ const createForm = async (body) => {
129
+ const form = new index_1.FormData();
130
+ await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));
131
+ return form;
132
+ };
133
+ exports.createForm = createForm;
134
+ const hasUploadableValue = (value) => {
135
+ if ((0, exports.isUploadable)(value))
136
+ return true;
137
+ if (Array.isArray(value))
138
+ return value.some(hasUploadableValue);
139
+ if (value && typeof value === 'object') {
140
+ for (const k in value) {
141
+ if (hasUploadableValue(value[k]))
142
+ return true;
143
+ }
144
+ }
145
+ return false;
146
+ };
147
+ const addFormValue = async (form, key, value) => {
148
+ if (value === undefined)
149
+ return;
150
+ if (value == null) {
151
+ throw new TypeError(`Received null for "${key}"; to pass null in FormData, you must use the string 'null'`);
152
+ }
153
+ // TODO: make nested formats configurable
154
+ if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
155
+ form.append(key, String(value));
156
+ }
157
+ else if ((0, exports.isUploadable)(value)) {
158
+ const file = await toFile(value);
159
+ form.append(key, file);
160
+ }
161
+ else if (Array.isArray(value)) {
162
+ await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry)));
163
+ }
164
+ else if (typeof value === 'object') {
165
+ await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop)));
166
+ }
167
+ else {
168
+ throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`);
169
+ }
170
+ };
6
171
  //# sourceMappingURL=uploads.js.map
package/uploads.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"uploads.js","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":";;;AAAA,iDAA6D;AAAnC,iGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"uploads.js","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":"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"}
package/uploads.mjs CHANGED
@@ -1,2 +1,158 @@
1
- export { toFile } from "./internal/uploads.mjs";
1
+ import { FormData, File, getMultipartRequestOptions, isFsReadStream, } from "./_shims/index.mjs";
2
+ export { fileFromPath } from "./_shims/index.mjs";
3
+ export const isResponseLike = (value) => value != null &&
4
+ typeof value === 'object' &&
5
+ typeof value.url === 'string' &&
6
+ typeof value.blob === 'function';
7
+ export const isFileLike = (value) => value != null &&
8
+ typeof value === 'object' &&
9
+ typeof value.name === 'string' &&
10
+ typeof value.lastModified === 'number' &&
11
+ isBlobLike(value);
12
+ /**
13
+ * The BlobLike type omits arrayBuffer() because @types/node-fetch@^2.6.4 lacks it; but this check
14
+ * adds the arrayBuffer() method type because it is available and used at runtime
15
+ */
16
+ export const isBlobLike = (value) => value != null &&
17
+ typeof value === 'object' &&
18
+ typeof value.size === 'number' &&
19
+ typeof value.type === 'string' &&
20
+ typeof value.text === 'function' &&
21
+ typeof value.slice === 'function' &&
22
+ typeof value.arrayBuffer === 'function';
23
+ export const isUploadable = (value) => {
24
+ return isFileLike(value) || isResponseLike(value) || isFsReadStream(value);
25
+ };
26
+ /**
27
+ * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats
28
+ * @param value the raw content of the file. Can be an {@link Uploadable}, {@link BlobLikePart}, or {@link AsyncIterable} of {@link BlobLikePart}s
29
+ * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible
30
+ * @param {Object=} options additional properties
31
+ * @param {string=} options.type the MIME type of the content
32
+ * @param {number=} options.lastModified the last modified timestamp
33
+ * @returns a {@link File} with the given properties
34
+ */
35
+ export async function toFile(value, name, options) {
36
+ // If it's a promise, resolve it.
37
+ value = await value;
38
+ // If we've been given a `File` we don't need to do anything
39
+ if (isFileLike(value)) {
40
+ return value;
41
+ }
42
+ if (isResponseLike(value)) {
43
+ const blob = await value.blob();
44
+ name || (name = new URL(value.url).pathname.split(/[\\/]/).pop() ?? 'unknown_file');
45
+ // we need to convert the `Blob` into an array buffer because the `Blob` class
46
+ // that `node-fetch` defines is incompatible with the web standard which results
47
+ // in `new File` interpreting it as a string instead of binary data.
48
+ const data = isBlobLike(blob) ? [(await blob.arrayBuffer())] : [blob];
49
+ return new File(data, name, options);
50
+ }
51
+ const bits = await getBytes(value);
52
+ name || (name = getName(value) ?? 'unknown_file');
53
+ if (!options?.type) {
54
+ const type = bits[0]?.type;
55
+ if (typeof type === 'string') {
56
+ options = { ...options, type };
57
+ }
58
+ }
59
+ return new File(bits, name, options);
60
+ }
61
+ async function getBytes(value) {
62
+ let parts = [];
63
+ if (typeof value === 'string' ||
64
+ ArrayBuffer.isView(value) || // includes Uint8Array, Buffer, etc.
65
+ value instanceof ArrayBuffer) {
66
+ parts.push(value);
67
+ }
68
+ else if (isBlobLike(value)) {
69
+ parts.push(await value.arrayBuffer());
70
+ }
71
+ else if (isAsyncIterableIterator(value) // includes Readable, ReadableStream, etc.
72
+ ) {
73
+ for await (const chunk of value) {
74
+ parts.push(chunk); // TODO, consider validating?
75
+ }
76
+ }
77
+ else {
78
+ throw new Error(`Unexpected data type: ${typeof value}; constructor: ${value?.constructor
79
+ ?.name}; props: ${propsForError(value)}`);
80
+ }
81
+ return parts;
82
+ }
83
+ function propsForError(value) {
84
+ const props = Object.getOwnPropertyNames(value);
85
+ return `[${props.map((p) => `"${p}"`).join(', ')}]`;
86
+ }
87
+ function getName(value) {
88
+ return (getStringFromMaybeBuffer(value.name) ||
89
+ getStringFromMaybeBuffer(value.filename) ||
90
+ // For fs.ReadStream
91
+ getStringFromMaybeBuffer(value.path)?.split(/[\\/]/).pop());
92
+ }
93
+ const getStringFromMaybeBuffer = (x) => {
94
+ if (typeof x === 'string')
95
+ return x;
96
+ if (typeof Buffer !== 'undefined' && x instanceof Buffer)
97
+ return String(x);
98
+ return undefined;
99
+ };
100
+ const isAsyncIterableIterator = (value) => value != null && typeof value === 'object' && typeof value[Symbol.asyncIterator] === 'function';
101
+ export const isMultipartBody = (body) => body && typeof body === 'object' && body.body && body[Symbol.toStringTag] === 'MultipartBody';
102
+ /**
103
+ * Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.
104
+ * Otherwise returns the request as is.
105
+ */
106
+ export const maybeMultipartFormRequestOptions = async (opts) => {
107
+ if (!hasUploadableValue(opts.body))
108
+ return opts;
109
+ const form = await createForm(opts.body);
110
+ return getMultipartRequestOptions(form, opts);
111
+ };
112
+ export const multipartFormRequestOptions = async (opts) => {
113
+ const form = await createForm(opts.body);
114
+ return getMultipartRequestOptions(form, opts);
115
+ };
116
+ export const createForm = async (body) => {
117
+ const form = new FormData();
118
+ await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));
119
+ return form;
120
+ };
121
+ const hasUploadableValue = (value) => {
122
+ if (isUploadable(value))
123
+ return true;
124
+ if (Array.isArray(value))
125
+ return value.some(hasUploadableValue);
126
+ if (value && typeof value === 'object') {
127
+ for (const k in value) {
128
+ if (hasUploadableValue(value[k]))
129
+ return true;
130
+ }
131
+ }
132
+ return false;
133
+ };
134
+ const addFormValue = async (form, key, value) => {
135
+ if (value === undefined)
136
+ return;
137
+ if (value == null) {
138
+ throw new TypeError(`Received null for "${key}"; to pass null in FormData, you must use the string 'null'`);
139
+ }
140
+ // TODO: make nested formats configurable
141
+ if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
142
+ form.append(key, String(value));
143
+ }
144
+ else if (isUploadable(value)) {
145
+ const file = await toFile(value);
146
+ form.append(key, file);
147
+ }
148
+ else if (Array.isArray(value)) {
149
+ await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry)));
150
+ }
151
+ else if (typeof value === 'object') {
152
+ await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop)));
153
+ }
154
+ else {
155
+ throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`);
156
+ }
157
+ };
2
158
  //# sourceMappingURL=uploads.mjs.map
package/uploads.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"uploads.mjs","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":"OAAO,EAAmB,MAAM,EAAE"}
1
+ {"version":3,"file":"uploads.mjs","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":"OACO,EACL,QAAQ,EACR,IAAI,EAGJ,0BAA0B,EAE1B,cAAc,GACf;OAEM,EAAE,YAAY,EAAE;AAiDvB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAU,EAAyB,EAAE,CAClE,KAAK,IAAI,IAAI;IACb,OAAO,KAAK,KAAK,QAAQ;IACzB,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;IAC7B,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AAEnC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAU,EAAqB,EAAE,CAC1D,KAAK,IAAI,IAAI;IACb,OAAO,KAAK,KAAK,QAAQ;IACzB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;IAC9B,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;IACtC,UAAU,CAAC,KAAK,CAAC,CAAC;AAEpB;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAU,EAA+D,EAAE,CACpG,KAAK,IAAI,IAAI;IACb,OAAO,KAAK,KAAK,QAAQ;IACzB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;IAC9B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;IAC9B,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU;IAChC,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;IACjC,OAAO,KAAK,CAAC,WAAW,KAAK,UAAU,CAAC;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAU,EAAuB,EAAE;IAC9D,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC,CAAC;AAIF;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,KAA6C,EAC7C,IAAgC,EAChC,OAAqC;IAErC,iCAAiC;IACjC,KAAK,GAAG,MAAM,KAAK,CAAC;IAEpB,4DAA4D;IAC5D,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;QACrB,OAAO,KAAK,CAAC;KACd;IAED,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;QACzB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,KAAJ,IAAI,GAAK,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,cAAc,EAAC;QAE5E,8EAA8E;QAC9E,gFAAgF;QAChF,oEAAoE;QACpE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE7E,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;KACtC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEnC,IAAI,KAAJ,IAAI,GAAK,OAAO,CAAC,KAAK,CAAC,IAAI,cAAc,EAAC;IAE1C,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;QAClB,MAAM,IAAI,GAAI,IAAI,CAAC,CAAC,CAAS,EAAE,IAAI,CAAC;QACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;SAChC;KACF;IAED,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,KAAkB;IACxC,IAAI,KAAK,GAAoB,EAAE,CAAC;IAChC,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,oCAAoC;QACjE,KAAK,YAAY,WAAW,EAC5B;QACA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnB;SAAM,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;QAC5B,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;KACvC;SAAM,IACL,uBAAuB,CAAC,KAAK,CAAC,CAAC,0CAA0C;MACzE;QACA,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,EAAE;YAC/B,KAAK,CAAC,IAAI,CAAC,KAAiB,CAAC,CAAC,CAAC,6BAA6B;SAC7D;KACF;SAAM;QACL,MAAM,IAAI,KAAK,CACb,yBAAyB,OAAO,KAAK,kBAAkB,KAAK,EAAE,WAAW;YACvE,EAAE,IAAI,YAAY,aAAa,CAAC,KAAK,CAAC,EAAE,CAC3C,CAAC;KACH;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAU;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChD,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACtD,CAAC;AAED,SAAS,OAAO,CAAC,KAAU;IACzB,OAAO,CACL,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC;QACpC,wBAAwB,CAAC,KAAK,CAAC,QAAQ,CAAC;QACxC,oBAAoB;QACpB,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAC3D,CAAC;AACJ,CAAC;AAED,MAAM,wBAAwB,GAAG,CAAC,CAA4B,EAAsB,EAAE;IACpF,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,YAAY,MAAM;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3E,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,KAAU,EAA2C,EAAE,CACtF,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,UAAU,CAAC;AAElG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAS,EAAyB,EAAE,CAClE,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,eAAe,CAAC;AAEhG;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,EACnD,IAAuB,EACqB,EAAE;IAC9C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAC9C,IAAuB,EACqB,EAAE;IAC9C,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAA+B,IAAmB,EAAqB,EAAE;IACtG,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC5B,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACpG,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAW,EAAE;IACrD,IAAI,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAChE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACtC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;YACrB,IAAI,kBAAkB,CAAE,KAAa,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;SACxD;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,EAAE,IAAc,EAAE,GAAW,EAAE,KAAc,EAAiB,EAAE;IACxF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,MAAM,IAAI,SAAS,CACjB,sBAAsB,GAAG,6DAA6D,CACvF,CAAC;KACH;IAED,yCAAyC;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;QACxF,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;KACjC;SAAM,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;QAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAY,CAAC,CAAC;KAChC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KAChF;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC,CACzF,CAAC;KACH;SAAM;QACL,MAAM,IAAI,SAAS,CACjB,wGAAwG,KAAK,UAAU,CACxH,CAAC;KACH;AACH,CAAC,CAAC"}
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.1.0-alpha.1";
1
+ export declare const VERSION = "0.1.0-alpha.2";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.1.0-alpha.1'; // x-release-please-version
4
+ exports.VERSION = '0.1.0-alpha.2'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.1.0-alpha.1'; // x-release-please-version
1
+ export const VERSION = '0.1.0-alpha.2'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map
package/api-promise.d.mts DELETED
@@ -1,47 +0,0 @@
1
-
2
- import { type Petstore } from "./client.mjs";
3
- import { type PromiseOrValue } from "./internal/types.mjs";
4
- import { APIResponseProps } from "./internal/parse.mjs";
5
- /**
6
- * A subclass of `Promise` providing additional helper methods
7
- * for interacting with the SDK.
8
- */
9
- export declare class APIPromise<T> extends Promise<T> {
10
- #private;
11
- private responsePromise;
12
- private parseResponse;
13
- private parsedPromise;
14
- constructor(client: Petstore, responsePromise: Promise<APIResponseProps>, parseResponse?: (client: Petstore, props: APIResponseProps) => PromiseOrValue<T>);
15
- _thenUnwrap<U>(transform: (data: T, props: APIResponseProps) => U): APIPromise<U>;
16
- /**
17
- * Gets the raw `Response` instance instead of parsing the response
18
- * data.
19
- *
20
- * If you want to parse the response body but still get the `Response`
21
- * instance, you can use {@link withResponse()}.
22
- *
23
- * 👋 Getting the wrong TypeScript type for `Response`?
24
- * Try setting `"moduleResolution": "NodeNext"` or add `"lib": ["DOM"]`
25
- * to your `tsconfig.json`.
26
- */
27
- asResponse(): Promise<Response>;
28
- /**
29
- * Gets the parsed response data and the raw `Response` instance.
30
- *
31
- * If you just want to get the raw `Response` instance without parsing it,
32
- * you can use {@link asResponse()}.
33
- *
34
- * 👋 Getting the wrong TypeScript type for `Response`?
35
- * Try setting `"moduleResolution": "NodeNext"` or add `"lib": ["DOM"]`
36
- * to your `tsconfig.json`.
37
- */
38
- withResponse(): Promise<{
39
- data: T;
40
- response: Response;
41
- }>;
42
- private parse;
43
- then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
44
- catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): Promise<T | TResult>;
45
- finally(onfinally?: (() => void) | undefined | null): Promise<T>;
46
- }
47
- //# sourceMappingURL=api-promise.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-promise.d.mts","sourceRoot":"","sources":["src/api-promise.ts"],"names":[],"mappings":";OAEO,EAAE,KAAK,QAAQ,EAAE;OAEjB,EAAE,KAAK,cAAc,EAAE;OACvB,EAAE,gBAAgB,EAAwB;AAEjD;;;GAGG;AACH,qBAAa,UAAU,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;;IAMzC,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,aAAa;IANvB,OAAO,CAAC,aAAa,CAAyB;gBAI5C,MAAM,EAAE,QAAQ,EACR,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAC1C,aAAa,GAAE,CACrB,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,gBAAgB,KACpB,cAAc,CAAC,CAAC,CAAwB;IAW/C,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAMjF;;;;;;;;;;OAUG;IACH,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC;IAI/B;;;;;;;;;OASG;IACG,YAAY,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;IAK9D,OAAO,CAAC,KAAK;IAOJ,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAC1C,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EACjF,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAClF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAItB,KAAK,CAAC,OAAO,GAAG,KAAK,EAC5B,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAChF,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IAId,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;CAG1E"}
package/api-promise.d.ts DELETED
@@ -1,47 +0,0 @@
1
-
2
- import { type Petstore } from "./client.js";
3
- import { type PromiseOrValue } from "./internal/types.js";
4
- import { APIResponseProps } from "./internal/parse.js";
5
- /**
6
- * A subclass of `Promise` providing additional helper methods
7
- * for interacting with the SDK.
8
- */
9
- export declare class APIPromise<T> extends Promise<T> {
10
- #private;
11
- private responsePromise;
12
- private parseResponse;
13
- private parsedPromise;
14
- constructor(client: Petstore, responsePromise: Promise<APIResponseProps>, parseResponse?: (client: Petstore, props: APIResponseProps) => PromiseOrValue<T>);
15
- _thenUnwrap<U>(transform: (data: T, props: APIResponseProps) => U): APIPromise<U>;
16
- /**
17
- * Gets the raw `Response` instance instead of parsing the response
18
- * data.
19
- *
20
- * If you want to parse the response body but still get the `Response`
21
- * instance, you can use {@link withResponse()}.
22
- *
23
- * 👋 Getting the wrong TypeScript type for `Response`?
24
- * Try setting `"moduleResolution": "NodeNext"` or add `"lib": ["DOM"]`
25
- * to your `tsconfig.json`.
26
- */
27
- asResponse(): Promise<Response>;
28
- /**
29
- * Gets the parsed response data and the raw `Response` instance.
30
- *
31
- * If you just want to get the raw `Response` instance without parsing it,
32
- * you can use {@link asResponse()}.
33
- *
34
- * 👋 Getting the wrong TypeScript type for `Response`?
35
- * Try setting `"moduleResolution": "NodeNext"` or add `"lib": ["DOM"]`
36
- * to your `tsconfig.json`.
37
- */
38
- withResponse(): Promise<{
39
- data: T;
40
- response: Response;
41
- }>;
42
- private parse;
43
- then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
44
- catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): Promise<T | TResult>;
45
- finally(onfinally?: (() => void) | undefined | null): Promise<T>;
46
- }
47
- //# sourceMappingURL=api-promise.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-promise.d.ts","sourceRoot":"","sources":["src/api-promise.ts"],"names":[],"mappings":";OAEO,EAAE,KAAK,QAAQ,EAAE;OAEjB,EAAE,KAAK,cAAc,EAAE;OACvB,EAAE,gBAAgB,EAAwB;AAEjD;;;GAGG;AACH,qBAAa,UAAU,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;;IAMzC,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,aAAa;IANvB,OAAO,CAAC,aAAa,CAAyB;gBAI5C,MAAM,EAAE,QAAQ,EACR,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAC1C,aAAa,GAAE,CACrB,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,gBAAgB,KACpB,cAAc,CAAC,CAAC,CAAwB;IAW/C,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAMjF;;;;;;;;;;OAUG;IACH,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC;IAI/B;;;;;;;;;OASG;IACG,YAAY,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;IAK9D,OAAO,CAAC,KAAK;IAOJ,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAC1C,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EACjF,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAClF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAItB,KAAK,CAAC,OAAO,GAAG,KAAK,EAC5B,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAChF,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IAId,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;CAG1E"}