@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.
- package/CHANGELOG.md +8 -0
- package/LICENSE +1 -1
- package/README.md +48 -85
- package/_shims/MultipartBody.d.ts +9 -0
- package/_shims/MultipartBody.d.ts.map +1 -0
- package/_shims/MultipartBody.js +16 -0
- package/_shims/MultipartBody.js.map +1 -0
- package/_shims/MultipartBody.mjs +12 -0
- package/_shims/MultipartBody.mjs.map +1 -0
- package/_shims/README.md +46 -0
- package/_shims/auto/runtime-bun.d.ts +5 -0
- package/_shims/auto/runtime-bun.d.ts.map +1 -0
- package/{internal/utils.js → _shims/auto/runtime-bun.js} +5 -8
- package/_shims/auto/runtime-bun.js.map +1 -0
- package/_shims/auto/runtime-bun.mjs +2 -0
- package/_shims/auto/runtime-bun.mjs.map +1 -0
- package/_shims/auto/runtime-node.d.ts +5 -0
- package/_shims/auto/runtime-node.d.ts.map +1 -0
- package/_shims/auto/runtime-node.js +21 -0
- package/_shims/auto/runtime-node.js.map +1 -0
- package/_shims/auto/runtime-node.mjs +2 -0
- package/_shims/auto/runtime-node.mjs.map +1 -0
- package/_shims/auto/runtime.d.ts +5 -0
- package/_shims/auto/runtime.d.ts.map +1 -0
- package/_shims/auto/runtime.js +21 -0
- package/_shims/auto/runtime.js.map +1 -0
- package/_shims/auto/runtime.mjs +2 -0
- package/_shims/auto/runtime.mjs.map +1 -0
- package/_shims/auto/types-node.d.ts +5 -0
- package/_shims/auto/types-node.d.ts.map +1 -0
- package/_shims/auto/types-node.js +21 -0
- package/_shims/auto/types-node.js.map +1 -0
- package/_shims/auto/types-node.mjs +2 -0
- package/_shims/auto/types-node.mjs.map +1 -0
- package/_shims/auto/types.d.ts +101 -0
- package/_shims/auto/types.js +3 -0
- package/_shims/auto/types.mjs +3 -0
- package/_shims/bun-runtime.d.ts +6 -0
- package/_shims/bun-runtime.d.ts.map +1 -0
- package/_shims/bun-runtime.js +14 -0
- package/_shims/bun-runtime.js.map +1 -0
- package/_shims/bun-runtime.mjs +10 -0
- package/_shims/bun-runtime.mjs.map +1 -0
- package/_shims/index.d.ts +81 -0
- package/_shims/index.js +13 -0
- package/_shims/index.mjs +7 -0
- package/_shims/manual-types.d.ts +12 -0
- package/_shims/manual-types.js +3 -0
- package/_shims/manual-types.mjs +3 -0
- package/_shims/node-runtime.d.ts +3 -0
- package/_shims/node-runtime.d.ts.map +1 -0
- package/_shims/node-runtime.js +89 -0
- package/_shims/node-runtime.js.map +1 -0
- package/_shims/node-runtime.mjs +56 -0
- package/_shims/node-runtime.mjs.map +1 -0
- package/_shims/node-types.d.ts +42 -0
- package/_shims/node-types.js +3 -0
- package/_shims/node-types.mjs +3 -0
- package/_shims/registry.d.ts +37 -0
- package/_shims/registry.d.ts.map +1 -0
- package/_shims/registry.js +41 -0
- package/_shims/registry.js.map +1 -0
- package/_shims/registry.mjs +37 -0
- package/_shims/registry.mjs.map +1 -0
- package/_shims/web-runtime.d.ts +5 -0
- package/_shims/web-runtime.d.ts.map +1 -0
- package/_shims/web-runtime.js +78 -0
- package/_shims/web-runtime.js.map +1 -0
- package/_shims/web-runtime.mjs +71 -0
- package/_shims/web-runtime.mjs.map +1 -0
- package/_shims/web-types.d.ts +83 -0
- package/_shims/web-types.js +3 -0
- package/_shims/web-types.mjs +3 -0
- package/core.d.ts +241 -0
- package/core.d.ts.map +1 -0
- package/core.js +908 -0
- package/core.js.map +1 -0
- package/core.mjs +876 -0
- package/core.mjs.map +1 -0
- package/error.d.ts +3 -3
- package/error.d.ts.map +1 -1
- package/error.js +6 -6
- package/error.js.map +1 -1
- package/error.mjs +3 -3
- package/error.mjs.map +1 -1
- package/index.d.mts +109 -5
- package/index.d.ts +109 -5
- package/index.d.ts.map +1 -1
- package/index.js +103 -11
- package/index.js.map +1 -1
- package/index.mjs +77 -5
- package/index.mjs.map +1 -1
- package/package.json +66 -82
- package/resource.d.ts +3 -3
- package/resource.d.ts.map +1 -1
- package/resource.js.map +1 -1
- package/resource.mjs.map +1 -1
- package/resources/calls.d.ts +2 -3
- package/resources/calls.d.ts.map +1 -1
- package/resources/calls.js.map +1 -1
- package/resources/calls.mjs.map +1 -1
- package/resources/index.d.ts.map +1 -1
- package/shims/node.d.ts +30 -0
- package/shims/node.d.ts.map +1 -0
- package/shims/node.js +31 -0
- package/shims/node.js.map +1 -0
- package/shims/node.mjs +5 -0
- package/shims/node.mjs.map +1 -0
- package/shims/web.d.ts +26 -0
- package/shims/web.d.ts.map +1 -0
- package/shims/web.js +31 -0
- package/shims/web.js.map +1 -0
- package/shims/web.mjs +5 -0
- package/shims/web.mjs.map +1 -0
- package/src/_shims/MultipartBody.ts +9 -0
- package/src/_shims/README.md +46 -0
- package/src/_shims/auto/runtime-bun.ts +4 -0
- package/src/_shims/auto/runtime-node.ts +4 -0
- package/src/_shims/auto/runtime.ts +4 -0
- package/src/_shims/auto/types-node.ts +4 -0
- package/src/_shims/auto/types.d.ts +101 -0
- package/src/_shims/auto/types.js +3 -0
- package/src/_shims/auto/types.mjs +3 -0
- package/src/_shims/bun-runtime.ts +14 -0
- package/src/_shims/index.d.ts +81 -0
- package/src/_shims/index.js +13 -0
- package/src/_shims/index.mjs +7 -0
- package/src/_shims/manual-types.d.ts +12 -0
- package/src/_shims/manual-types.js +3 -0
- package/src/_shims/manual-types.mjs +3 -0
- package/src/_shims/node-runtime.ts +81 -0
- package/src/_shims/node-types.d.ts +42 -0
- package/src/_shims/node-types.js +3 -0
- package/src/_shims/node-types.mjs +3 -0
- package/src/_shims/registry.ts +67 -0
- package/src/_shims/web-runtime.ts +103 -0
- package/src/_shims/web-types.d.ts +83 -0
- package/src/_shims/web-types.js +3 -0
- package/src/_shims/web-types.mjs +3 -0
- package/src/core.ts +1200 -0
- package/src/error.ts +3 -3
- package/src/index.ts +172 -5
- package/src/resource.ts +3 -3
- package/src/resources/calls.ts +2 -3
- package/src/shims/node.ts +50 -0
- package/src/shims/web.ts +50 -0
- package/src/tsconfig.json +2 -2
- package/src/uploads.ts +255 -1
- package/src/version.ts +1 -1
- package/uploads.d.ts +74 -1
- package/uploads.d.ts.map +1 -1
- package/uploads.js +168 -3
- package/uploads.js.map +1 -1
- package/uploads.mjs +157 -1
- package/uploads.mjs.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/api-promise.d.mts +0 -47
- package/api-promise.d.mts.map +0 -1
- package/api-promise.d.ts +0 -47
- package/api-promise.d.ts.map +0 -1
- package/api-promise.js +0 -84
- package/api-promise.js.map +0 -1
- package/api-promise.mjs +0 -80
- package/api-promise.mjs.map +0 -1
- package/client.d.mts +0 -186
- package/client.d.mts.map +0 -1
- package/client.d.ts +0 -186
- package/client.d.ts.map +0 -1
- package/client.js +0 -449
- package/client.js.map +0 -1
- package/client.mjs +0 -422
- package/client.mjs.map +0 -1
- package/error.d.mts +0 -47
- package/error.d.mts.map +0 -1
- package/index.d.mts.map +0 -1
- package/internal/builtin-types.d.mts +0 -65
- package/internal/builtin-types.d.mts.map +0 -1
- package/internal/builtin-types.d.ts +0 -65
- package/internal/builtin-types.d.ts.map +0 -1
- package/internal/builtin-types.js +0 -4
- package/internal/builtin-types.js.map +0 -1
- package/internal/builtin-types.mjs +0 -3
- package/internal/builtin-types.mjs.map +0 -1
- package/internal/detect-platform.d.mts +0 -15
- package/internal/detect-platform.d.mts.map +0 -1
- package/internal/detect-platform.d.ts +0 -15
- package/internal/detect-platform.d.ts.map +0 -1
- package/internal/detect-platform.js +0 -162
- package/internal/detect-platform.js.map +0 -1
- package/internal/detect-platform.mjs +0 -157
- package/internal/detect-platform.mjs.map +0 -1
- package/internal/errors.d.mts +0 -3
- package/internal/errors.d.mts.map +0 -1
- package/internal/errors.d.ts +0 -3
- package/internal/errors.d.ts.map +0 -1
- package/internal/errors.js +0 -26
- package/internal/errors.js.map +0 -1
- package/internal/errors.mjs +0 -21
- package/internal/errors.mjs.map +0 -1
- package/internal/headers.d.mts +0 -21
- package/internal/headers.d.mts.map +0 -1
- package/internal/headers.d.ts +0 -21
- package/internal/headers.d.ts.map +0 -1
- package/internal/headers.js +0 -77
- package/internal/headers.js.map +0 -1
- package/internal/headers.mjs +0 -72
- package/internal/headers.mjs.map +0 -1
- package/internal/parse.d.mts +0 -10
- package/internal/parse.d.mts.map +0 -1
- package/internal/parse.d.ts +0 -10
- package/internal/parse.d.ts.map +0 -1
- package/internal/parse.js +0 -28
- package/internal/parse.js.map +0 -1
- package/internal/parse.mjs +0 -24
- package/internal/parse.mjs.map +0 -1
- package/internal/polyfill/crypto.node.d.ts +0 -10
- package/internal/polyfill/crypto.node.js +0 -11
- package/internal/polyfill/crypto.node.mjs +0 -2
- package/internal/polyfill/file.node.d.ts +0 -9
- package/internal/polyfill/file.node.js +0 -17
- package/internal/polyfill/file.node.mjs +0 -9
- package/internal/request-options.d.mts +0 -34
- package/internal/request-options.d.mts.map +0 -1
- package/internal/request-options.d.ts +0 -34
- package/internal/request-options.d.ts.map +0 -1
- package/internal/request-options.js +0 -39
- package/internal/request-options.js.map +0 -1
- package/internal/request-options.mjs +0 -34
- package/internal/request-options.mjs.map +0 -1
- package/internal/shim-types.d.mts +0 -28
- package/internal/shim-types.d.ts +0 -28
- package/internal/shims.d.mts +0 -61
- package/internal/shims.d.mts.map +0 -1
- package/internal/shims.d.ts +0 -61
- package/internal/shims.d.ts.map +0 -1
- package/internal/shims.js +0 -101
- package/internal/shims.js.map +0 -1
- package/internal/shims.mjs +0 -92
- package/internal/shims.mjs.map +0 -1
- package/internal/types.d.mts +0 -68
- package/internal/types.d.mts.map +0 -1
- package/internal/types.d.ts +0 -68
- package/internal/types.d.ts.map +0 -1
- package/internal/types.js +0 -4
- package/internal/types.js.map +0 -1
- package/internal/types.mjs +0 -3
- package/internal/types.mjs.map +0 -1
- package/internal/uploads.d.mts +0 -73
- package/internal/uploads.d.mts.map +0 -1
- package/internal/uploads.d.ts +0 -73
- package/internal/uploads.d.ts.map +0 -1
- package/internal/uploads.js +0 -208
- package/internal/uploads.js.map +0 -1
- package/internal/uploads.mjs +0 -200
- package/internal/uploads.mjs.map +0 -1
- package/internal/utils/base64.d.mts +0 -3
- package/internal/utils/base64.d.mts.map +0 -1
- package/internal/utils/base64.d.ts +0 -3
- package/internal/utils/base64.d.ts.map +0 -1
- package/internal/utils/base64.js +0 -33
- package/internal/utils/base64.js.map +0 -1
- package/internal/utils/base64.mjs +0 -28
- package/internal/utils/base64.mjs.map +0 -1
- package/internal/utils/env.d.mts +0 -9
- package/internal/utils/env.d.mts.map +0 -1
- package/internal/utils/env.d.ts +0 -9
- package/internal/utils/env.d.ts.map +0 -1
- package/internal/utils/env.js +0 -22
- package/internal/utils/env.js.map +0 -1
- package/internal/utils/env.mjs +0 -18
- package/internal/utils/env.mjs.map +0 -1
- package/internal/utils/log.d.mts +0 -4
- package/internal/utils/log.d.mts.map +0 -1
- package/internal/utils/log.d.ts +0 -4
- package/internal/utils/log.d.ts.map +0 -1
- package/internal/utils/log.js +0 -47
- package/internal/utils/log.js.map +0 -1
- package/internal/utils/log.mjs +0 -43
- package/internal/utils/log.mjs.map +0 -1
- package/internal/utils/sleep.d.mts +0 -2
- package/internal/utils/sleep.d.mts.map +0 -1
- package/internal/utils/sleep.d.ts +0 -2
- package/internal/utils/sleep.d.ts.map +0 -1
- package/internal/utils/sleep.js +0 -7
- package/internal/utils/sleep.js.map +0 -1
- package/internal/utils/sleep.mjs +0 -3
- package/internal/utils/sleep.mjs.map +0 -1
- package/internal/utils/uuid.d.mts +0 -5
- package/internal/utils/uuid.d.mts.map +0 -1
- package/internal/utils/uuid.d.ts +0 -5
- package/internal/utils/uuid.d.ts.map +0 -1
- package/internal/utils/uuid.js +0 -15
- package/internal/utils/uuid.js.map +0 -1
- package/internal/utils/uuid.mjs +0 -11
- package/internal/utils/uuid.mjs.map +0 -1
- package/internal/utils/values.d.mts +0 -15
- package/internal/utils/values.d.mts.map +0 -1
- package/internal/utils/values.d.ts +0 -15
- package/internal/utils/values.d.ts.map +0 -1
- package/internal/utils/values.js +0 -100
- package/internal/utils/values.js.map +0 -1
- package/internal/utils/values.mjs +0 -84
- package/internal/utils/values.mjs.map +0 -1
- package/internal/utils.d.mts +0 -7
- package/internal/utils.d.mts.map +0 -1
- package/internal/utils.d.ts +0 -7
- package/internal/utils.d.ts.map +0 -1
- package/internal/utils.js.map +0 -1
- package/internal/utils.mjs +0 -8
- package/internal/utils.mjs.map +0 -1
- package/resource.d.mts +0 -6
- package/resource.d.mts.map +0 -1
- package/resources/calls.d.mts +0 -85
- package/resources/calls.d.mts.map +0 -1
- package/resources/index.d.mts +0 -2
- package/resources/index.d.mts.map +0 -1
- package/src/api-promise.ts +0 -92
- package/src/client.ts +0 -646
- package/src/internal/builtin-types.ts +0 -79
- package/src/internal/detect-platform.ts +0 -196
- package/src/internal/errors.ts +0 -22
- package/src/internal/headers.ts +0 -96
- package/src/internal/parse.ts +0 -41
- package/src/internal/polyfill/crypto.node.d.ts +0 -10
- package/src/internal/polyfill/crypto.node.js +0 -11
- package/src/internal/polyfill/crypto.node.mjs +0 -2
- package/src/internal/polyfill/file.node.d.ts +0 -9
- package/src/internal/polyfill/file.node.js +0 -17
- package/src/internal/polyfill/file.node.mjs +0 -9
- package/src/internal/request-options.ts +0 -67
- package/src/internal/shim-types.d.ts +0 -28
- package/src/internal/shims.ts +0 -145
- package/src/internal/types.ts +0 -98
- package/src/internal/uploads.ts +0 -307
- package/src/internal/utils/base64.ts +0 -37
- package/src/internal/utils/env.ts +0 -18
- package/src/internal/utils/log.ts +0 -49
- package/src/internal/utils/sleep.ts +0 -3
- package/src/internal/utils/uuid.ts +0 -13
- package/src/internal/utils/values.ts +0 -94
- package/src/internal/utils.ts +0 -8
- package/uploads.d.mts +0 -2
- package/uploads.d.mts.map +0 -1
- package/version.d.mts +0 -2
- package/version.d.mts.map +0 -1
package/uploads.d.ts
CHANGED
@@ -1,2 +1,75 @@
|
|
1
|
-
|
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
|
-
|
5
|
-
|
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":";;;
|
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
|
-
|
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,
|
1
|
+
{"version":3,"file":"uploads.mjs","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":"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"}
|
package/version.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const VERSION = "0.1.0-alpha.
|
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.
|
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
|
+
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
|
package/api-promise.d.mts.map
DELETED
@@ -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
|
package/api-promise.d.ts.map
DELETED
@@ -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"}
|