@anthropic-ai/foundry-sdk 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/logo.svg +3 -0
- package/CHANGELOG.md +17 -0
- package/README.md +6 -3
- package/internal/to-file.js +1 -1
- package/internal/to-file.js.map +1 -1
- package/internal/to-file.mjs +1 -1
- package/internal/to-file.mjs.map +1 -1
- package/internal/uploads.d.mts +3 -3
- package/internal/uploads.d.mts.map +1 -1
- package/internal/uploads.d.ts +3 -3
- package/internal/uploads.d.ts.map +1 -1
- package/internal/uploads.js +14 -15
- package/internal/uploads.js.map +1 -1
- package/internal/uploads.mjs +14 -15
- package/internal/uploads.mjs.map +1 -1
- package/package.json +11 -1
- package/src/internal/to-file.ts +1 -1
- package/src/internal/uploads.ts +33 -22
package/.github/logo.svg
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="248" height="248" viewBox="0 0 248 248" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M52.4285 162.873L98.7844 136.879L99.5485 134.602L98.7844 133.334H96.4921L88.7237 132.862L62.2346 132.153L39.3113 131.207L17.0249 130.026L11.4214 128.844L6.2 121.873L6.7094 118.447L11.4214 115.257L18.171 115.847L33.0711 116.911L55.485 118.447L71.6586 119.392L95.728 121.873H99.5485L100.058 120.337L98.7844 119.392L97.7656 118.447L74.5877 102.732L49.4995 86.1905L36.3823 76.62L29.3779 71.7757L25.8121 67.2858L24.2839 57.3608L30.6515 50.2716L39.3113 50.8623L41.4763 51.4531L50.2636 58.1879L68.9842 72.7209L93.4357 90.6804L97.0015 93.6343L98.4374 92.6652L98.6571 91.9801L97.0015 89.2625L83.757 65.2772L69.621 40.8192L63.2534 30.6579L61.5978 24.632C60.9565 22.1032 60.579 20.0111 60.579 17.4246L67.8381 7.49965L71.9133 6.19995L81.7193 7.49965L85.7946 11.0443L91.9074 24.9865L101.714 46.8451L116.996 76.62L121.453 85.4816L123.873 93.6343L124.764 96.1155H126.292V94.6976L127.566 77.9197L129.858 57.3608L132.15 30.8942L132.915 23.4505L136.608 14.4708L143.994 9.62643L149.725 12.344L154.437 19.0788L153.8 23.4505L150.998 41.6463L145.522 70.1215L141.957 89.2625H143.994L146.414 86.7813L156.093 74.0206L172.266 53.698L179.398 45.6635L187.803 36.802L193.152 32.5484H203.34L210.726 43.6549L207.415 55.1159L196.972 68.3492L188.312 79.5739L175.896 96.2095L168.191 109.585L168.882 110.689L170.738 110.53L198.755 104.504L213.91 101.787L231.994 98.7149L240.144 102.496L241.036 106.395L237.852 114.311L218.495 119.037L195.826 123.645L162.07 131.592L161.696 131.893L162.137 132.547L177.36 133.925L183.855 134.279H199.774L229.447 136.524L237.215 141.605L241.8 147.867L241.036 152.711L229.065 158.737L213.019 154.956L175.45 145.977L162.587 142.787H160.805V143.85L171.502 154.366L191.242 172.089L215.82 195.011L217.094 200.682L213.91 205.172L210.599 204.699L188.949 188.394L180.544 181.069L161.696 165.118H160.422V166.772L164.752 173.152L187.803 207.771L188.949 218.405L187.294 221.832L181.308 223.959L174.813 222.777L161.187 203.754L147.305 182.486L136.098 163.345L134.745 164.2L128.075 235.42L125.019 239.082L117.887 241.8L111.902 237.31L108.718 229.984L111.902 215.452L115.722 196.547L118.779 181.541L121.58 162.873L123.291 156.636L123.14 156.219L121.773 156.449L107.699 175.752L86.304 204.699L69.3663 222.777L65.291 224.431L58.2867 220.768L58.9235 214.27L62.8713 208.48L86.304 178.705L100.44 160.155L109.551 149.507L109.462 147.967L108.959 147.924L46.6977 188.512L35.6182 189.93L30.7788 185.44L31.4156 178.115L33.7079 175.752L52.4285 162.873Z" fill="#D97757"/>
|
|
3
|
+
</svg>
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.2 (2026-01-29)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [foundry-sdk-v0.2.1...foundry-sdk-v0.2.2](https://github.com/anthropics/anthropic-sdk-typescript/compare/foundry-sdk-v0.2.1...foundry-sdk-v0.2.2)
|
|
6
|
+
|
|
7
|
+
### Chores
|
|
8
|
+
|
|
9
|
+
* **internal:** version bump ([24ecc83](https://github.com/anthropics/anthropic-sdk-typescript/commit/24ecc838b0adbb837b14fe24fac0895d81ea8891))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Documentation
|
|
13
|
+
|
|
14
|
+
* update README with Claude branding ([#611](https://github.com/anthropics/anthropic-sdk-typescript/issues/611)) ([2a9a5f7](https://github.com/anthropics/anthropic-sdk-typescript/commit/2a9a5f7f94d2fe807bcc73aa6a3a92f8e50db763))
|
|
15
|
+
|
|
16
|
+
## 0.2.1 (2025-11-20)
|
|
17
|
+
|
|
18
|
+
Full Changelog: [foundry-sdk-v0.2.0...foundry-sdk-v0.2.1](https://github.com/anthropics/anthropic-sdk-typescript/compare/foundry-sdk-v0.2.0...foundry-sdk-v0.2.1)
|
|
19
|
+
|
|
3
20
|
## 0.2.0 (2025-11-18)
|
|
4
21
|
|
|
5
22
|
Full Changelog: [foundry-sdk-v0.1.0...foundry-sdk-v0.2.0](https://github.com/anthropics/anthropic-sdk-typescript/compare/foundry-sdk-v0.1.0...foundry-sdk-v0.2.0)
|
package/README.md
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
#
|
|
1
|
+
# <img src=".github/logo.svg" alt="" width="32"> Claude SDK for Microsoft Foundry
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
[](https://npmjs.org/package/@anthropic-ai/foundry-sdk)
|
|
4
|
+
|
|
5
|
+
This library provides convenient access to the Claude API via Microsoft Azure AI Foundry. See the [documentation](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry) for more details.
|
|
6
|
+
|
|
7
|
+
For the direct Claude API at api.anthropic.com, see [`@anthropic-ai/sdk`](https://github.com/anthropics/anthropic-sdk-typescript).
|
|
5
8
|
|
|
6
9
|
## Installation
|
|
7
10
|
|
package/internal/to-file.js
CHANGED
|
@@ -38,7 +38,7 @@ async function toFile(value, name, options) {
|
|
|
38
38
|
(0, uploads_2.checkFileSupport)();
|
|
39
39
|
// If it's a promise, resolve it.
|
|
40
40
|
value = await value;
|
|
41
|
-
name || (name = (0, uploads_1.getName)(value));
|
|
41
|
+
name || (name = (0, uploads_1.getName)(value, true));
|
|
42
42
|
// If we've been given a `File` we don't need to do anything if the name / options
|
|
43
43
|
// have not been customised.
|
|
44
44
|
if (isFileLike(value)) {
|
package/internal/to-file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-file.js","sourceRoot":"","sources":["../src/internal/to-file.ts"],"names":[],"mappings":";;AAkFA,wBA0CC;AA5HD,0CAAyE;AAEzE,0CAA6C;AAmB7C;;GAEG;AACH,MAAM,UAAU,GAAG,CAAC,KAAU,EAA+D,EAAE,CAC7F,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;AAY1C;;GAEG;AACH,MAAM,UAAU,GAAG,CAAC,KAAU,EAA+D,EAAE,CAC7F,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;AAUpB,MAAM,cAAc,GAAG,CAAC,KAAU,EAAyB,EAAE,CAC3D,KAAK,IAAI,IAAI;IACb,OAAO,KAAK,KAAK,QAAQ;IACzB,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;IAC7B,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AAQnC;;;;;;;;GAQG;AACI,KAAK,UAAU,MAAM,CAC1B,KAA6C,EAC7C,IAAgC,EAChC,OAAqC;IAErC,IAAA,0BAAgB,GAAE,CAAC;IAEnB,iCAAiC;IACjC,KAAK,GAAG,MAAM,KAAK,CAAC;IAEpB,IAAI,KAAJ,IAAI,GAAK,IAAA,iBAAO,EAAC,KAAK,CAAC,EAAC;
|
|
1
|
+
{"version":3,"file":"to-file.js","sourceRoot":"","sources":["../src/internal/to-file.ts"],"names":[],"mappings":"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"}
|
package/internal/to-file.mjs
CHANGED
|
@@ -35,7 +35,7 @@ export async function toFile(value, name, options) {
|
|
|
35
35
|
checkFileSupport();
|
|
36
36
|
// If it's a promise, resolve it.
|
|
37
37
|
value = await value;
|
|
38
|
-
name || (name = getName(value));
|
|
38
|
+
name || (name = getName(value, true));
|
|
39
39
|
// If we've been given a `File` we don't need to do anything if the name / options
|
|
40
40
|
// have not been customised.
|
|
41
41
|
if (isFileLike(value)) {
|
package/internal/to-file.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-file.mjs","sourceRoot":"","sources":["../src/internal/to-file.ts"],"names":[],"mappings":"OAAO,EAAY,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE;OAEhD,EAAE,gBAAgB,EAAE;AAmB3B;;GAEG;AACH,MAAM,UAAU,GAAG,CAAC,KAAU,EAA+D,EAAE,CAC7F,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;AAY1C;;GAEG;AACH,MAAM,UAAU,GAAG,CAAC,KAAU,EAA+D,EAAE,CAC7F,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;AAUpB,MAAM,cAAc,GAAG,CAAC,KAAU,EAAyB,EAAE,CAC3D,KAAK,IAAI,IAAI;IACb,OAAO,KAAK,KAAK,QAAQ;IACzB,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;IAC7B,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AAQnC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,KAA6C,EAC7C,IAAgC,EAChC,OAAqC;IAErC,gBAAgB,EAAE,CAAC;IAEnB,iCAAiC;IACjC,KAAK,GAAG,MAAM,KAAK,CAAC;IAEpB,IAAI,KAAJ,IAAI,GAAK,OAAO,CAAC,KAAK,CAAC,EAAC;
|
|
1
|
+
{"version":3,"file":"to-file.mjs","sourceRoot":"","sources":["../src/internal/to-file.ts"],"names":[],"mappings":"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"}
|
package/internal/uploads.d.mts
CHANGED
|
@@ -26,7 +26,7 @@ export type Uploadable = File | Response | FsReadStream | BunFile;
|
|
|
26
26
|
* for environments that don't define a global `File` yet.
|
|
27
27
|
*/
|
|
28
28
|
export declare function makeFile(fileBits: BlobPart[], fileName: string | undefined, options?: FilePropertyBag): File;
|
|
29
|
-
export declare function getName(value: any): string | undefined;
|
|
29
|
+
export declare function getName(value: any, stripPath: boolean): string | undefined;
|
|
30
30
|
export declare const isAsyncIterable: (value: any) => value is AsyncIterable<any>;
|
|
31
31
|
/**
|
|
32
32
|
* Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.
|
|
@@ -36,7 +36,7 @@ export declare const maybeMultipartFormRequestOptions: (opts: RequestOptions, fe
|
|
|
36
36
|
type MultipartFormRequestOptions = Omit<RequestOptions, 'body'> & {
|
|
37
37
|
body: unknown;
|
|
38
38
|
};
|
|
39
|
-
export declare const multipartFormRequestOptions: (opts: MultipartFormRequestOptions, fetch: BaseAnthropic | Fetch) => Promise<RequestOptions>;
|
|
40
|
-
export declare const createForm: <T = Record<string, unknown>>(body: T | undefined, fetch: BaseAnthropic | Fetch) => Promise<FormData>;
|
|
39
|
+
export declare const multipartFormRequestOptions: (opts: MultipartFormRequestOptions, fetch: BaseAnthropic | Fetch, stripFilenames?: boolean) => Promise<RequestOptions>;
|
|
40
|
+
export declare const createForm: <T = Record<string, unknown>>(body: T | undefined, fetch: BaseAnthropic | Fetch, stripFilenames?: boolean) => Promise<FormData>;
|
|
41
41
|
export {};
|
|
42
42
|
//# sourceMappingURL=uploads.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploads.d.mts","sourceRoot":"","sources":["../src/internal/uploads.ts"],"names":[],"mappings":"OAAO,EAAE,KAAK,cAAc,EAAE;OACvB,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;OAC/B,KAAK,EAAE,aAAa,EAAE;AAG7B,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,IAAI,GAAG,QAAQ,CAAC;AAChF,KAAK,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,IAAI,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAG1F,UAAU,OAAQ,SAAQ,IAAI;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,eAAO,MAAM,gBAAgB,YAY5B,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;AAElE;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,QAAQ,EAAE,EACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,CAAC,EAAE,eAAe,GACxB,IAAI,CAGN;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"uploads.d.mts","sourceRoot":"","sources":["../src/internal/uploads.ts"],"names":[],"mappings":"OAAO,EAAE,KAAK,cAAc,EAAE;OACvB,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;OAC/B,KAAK,EAAE,aAAa,EAAE;AAG7B,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,IAAI,GAAG,QAAQ,CAAC;AAChF,KAAK,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,IAAI,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAG1F,UAAU,OAAQ,SAAQ,IAAI;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,eAAO,MAAM,gBAAgB,YAY5B,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;AAElE;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,QAAQ,EAAE,EACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,CAAC,EAAE,eAAe,GACxB,IAAI,CAGN;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAW1E;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,aAAa,CAAC,GAAG,CAC0B,CAAC;AAElG;;;GAGG;AACH,eAAO,MAAM,gCAAgC,GAC3C,MAAM,cAAc,EACpB,OAAO,aAAa,GAAG,KAAK,KAC3B,OAAO,CAAC,cAAc,CAIxB,CAAC;AAEF,KAAK,2BAA2B,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpF,eAAO,MAAM,2BAA2B,GACtC,MAAM,2BAA2B,EACjC,OAAO,aAAa,GAAG,KAAK,EAC5B,iBAAgB,OAAc,KAC7B,OAAO,CAAC,cAAc,CAExB,CAAC;AAkCF,eAAO,MAAM,UAAU,GAAU,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,MAAM,CAAC,GAAG,SAAS,EACnB,OAAO,aAAa,GAAG,KAAK,EAC5B,iBAAgB,OAAc,KAC7B,OAAO,CAAC,QAAQ,CAWlB,CAAC"}
|
package/internal/uploads.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export type Uploadable = File | Response | FsReadStream | BunFile;
|
|
|
26
26
|
* for environments that don't define a global `File` yet.
|
|
27
27
|
*/
|
|
28
28
|
export declare function makeFile(fileBits: BlobPart[], fileName: string | undefined, options?: FilePropertyBag): File;
|
|
29
|
-
export declare function getName(value: any): string | undefined;
|
|
29
|
+
export declare function getName(value: any, stripPath: boolean): string | undefined;
|
|
30
30
|
export declare const isAsyncIterable: (value: any) => value is AsyncIterable<any>;
|
|
31
31
|
/**
|
|
32
32
|
* Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.
|
|
@@ -36,7 +36,7 @@ export declare const maybeMultipartFormRequestOptions: (opts: RequestOptions, fe
|
|
|
36
36
|
type MultipartFormRequestOptions = Omit<RequestOptions, 'body'> & {
|
|
37
37
|
body: unknown;
|
|
38
38
|
};
|
|
39
|
-
export declare const multipartFormRequestOptions: (opts: MultipartFormRequestOptions, fetch: BaseAnthropic | Fetch) => Promise<RequestOptions>;
|
|
40
|
-
export declare const createForm: <T = Record<string, unknown>>(body: T | undefined, fetch: BaseAnthropic | Fetch) => Promise<FormData>;
|
|
39
|
+
export declare const multipartFormRequestOptions: (opts: MultipartFormRequestOptions, fetch: BaseAnthropic | Fetch, stripFilenames?: boolean) => Promise<RequestOptions>;
|
|
40
|
+
export declare const createForm: <T = Record<string, unknown>>(body: T | undefined, fetch: BaseAnthropic | Fetch, stripFilenames?: boolean) => Promise<FormData>;
|
|
41
41
|
export {};
|
|
42
42
|
//# sourceMappingURL=uploads.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["../src/internal/uploads.ts"],"names":[],"mappings":"OAAO,EAAE,KAAK,cAAc,EAAE;OACvB,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;OAC/B,KAAK,EAAE,aAAa,EAAE;AAG7B,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,IAAI,GAAG,QAAQ,CAAC;AAChF,KAAK,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,IAAI,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAG1F,UAAU,OAAQ,SAAQ,IAAI;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,eAAO,MAAM,gBAAgB,YAY5B,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;AAElE;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,QAAQ,EAAE,EACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,CAAC,EAAE,eAAe,GACxB,IAAI,CAGN;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["../src/internal/uploads.ts"],"names":[],"mappings":"OAAO,EAAE,KAAK,cAAc,EAAE;OACvB,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;OAC/B,KAAK,EAAE,aAAa,EAAE;AAG7B,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,IAAI,GAAG,QAAQ,CAAC;AAChF,KAAK,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,IAAI,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAG1F,UAAU,OAAQ,SAAQ,IAAI;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,eAAO,MAAM,gBAAgB,YAY5B,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;AAElE;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,QAAQ,EAAE,EACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,CAAC,EAAE,eAAe,GACxB,IAAI,CAGN;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAW1E;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,aAAa,CAAC,GAAG,CAC0B,CAAC;AAElG;;;GAGG;AACH,eAAO,MAAM,gCAAgC,GAC3C,MAAM,cAAc,EACpB,OAAO,aAAa,GAAG,KAAK,KAC3B,OAAO,CAAC,cAAc,CAIxB,CAAC;AAEF,KAAK,2BAA2B,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpF,eAAO,MAAM,2BAA2B,GACtC,MAAM,2BAA2B,EACjC,OAAO,aAAa,GAAG,KAAK,EAC5B,iBAAgB,OAAc,KAC7B,OAAO,CAAC,cAAc,CAExB,CAAC;AAkCF,eAAO,MAAM,UAAU,GAAU,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,MAAM,CAAC,GAAG,SAAS,EACnB,OAAO,aAAa,GAAG,KAAK,EAC5B,iBAAgB,OAAc,KAC7B,OAAO,CAAC,QAAQ,CAWlB,CAAC"}
|
package/internal/uploads.js
CHANGED
|
@@ -23,16 +23,15 @@ function makeFile(fileBits, fileName, options) {
|
|
|
23
23
|
(0, exports.checkFileSupport)();
|
|
24
24
|
return new File(fileBits, fileName ?? 'unknown_file', options);
|
|
25
25
|
}
|
|
26
|
-
function getName(value) {
|
|
27
|
-
|
|
26
|
+
function getName(value, stripPath) {
|
|
27
|
+
const val = (typeof value === 'object' &&
|
|
28
28
|
value !== null &&
|
|
29
29
|
(('name' in value && value.name && String(value.name)) ||
|
|
30
30
|
('url' in value && value.url && String(value.url)) ||
|
|
31
31
|
('filename' in value && value.filename && String(value.filename)) ||
|
|
32
32
|
('path' in value && value.path && String(value.path)))) ||
|
|
33
|
-
''
|
|
34
|
-
|
|
35
|
-
.pop() || undefined);
|
|
33
|
+
'';
|
|
34
|
+
return stripPath ? val.split(/[\\/]/).pop() || undefined : val;
|
|
36
35
|
}
|
|
37
36
|
const isAsyncIterable = (value) => value != null && typeof value === 'object' && typeof value[Symbol.asyncIterator] === 'function';
|
|
38
37
|
exports.isAsyncIterable = isAsyncIterable;
|
|
@@ -46,8 +45,8 @@ const maybeMultipartFormRequestOptions = async (opts, fetch) => {
|
|
|
46
45
|
return { ...opts, body: await (0, exports.createForm)(opts.body, fetch) };
|
|
47
46
|
};
|
|
48
47
|
exports.maybeMultipartFormRequestOptions = maybeMultipartFormRequestOptions;
|
|
49
|
-
const multipartFormRequestOptions = async (opts, fetch) => {
|
|
50
|
-
return { ...opts, body: await (0, exports.createForm)(opts.body, fetch) };
|
|
48
|
+
const multipartFormRequestOptions = async (opts, fetch, stripFilenames = true) => {
|
|
49
|
+
return { ...opts, body: await (0, exports.createForm)(opts.body, fetch, stripFilenames) };
|
|
51
50
|
};
|
|
52
51
|
exports.multipartFormRequestOptions = multipartFormRequestOptions;
|
|
53
52
|
const supportsFormDataMap = /* @__PURE__ */ new WeakMap();
|
|
@@ -81,12 +80,12 @@ function supportsFormData(fetchObject) {
|
|
|
81
80
|
supportsFormDataMap.set(fetch, promise);
|
|
82
81
|
return promise;
|
|
83
82
|
}
|
|
84
|
-
const createForm = async (body, fetch) => {
|
|
83
|
+
const createForm = async (body, fetch, stripFilenames = true) => {
|
|
85
84
|
if (!(await supportsFormData(fetch))) {
|
|
86
85
|
throw new TypeError('The provided fetch function does not support file uploads with the current global FormData class.');
|
|
87
86
|
}
|
|
88
87
|
const form = new FormData();
|
|
89
|
-
await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));
|
|
88
|
+
await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value, stripFilenames)));
|
|
90
89
|
return form;
|
|
91
90
|
};
|
|
92
91
|
exports.createForm = createForm;
|
|
@@ -109,7 +108,7 @@ const hasUploadableValue = (value) => {
|
|
|
109
108
|
}
|
|
110
109
|
return false;
|
|
111
110
|
};
|
|
112
|
-
const addFormValue = async (form, key, value) => {
|
|
111
|
+
const addFormValue = async (form, key, value, stripFilenames) => {
|
|
113
112
|
if (value === undefined)
|
|
114
113
|
return;
|
|
115
114
|
if (value == null) {
|
|
@@ -125,19 +124,19 @@ const addFormValue = async (form, key, value) => {
|
|
|
125
124
|
if (contentType) {
|
|
126
125
|
options = { type: contentType };
|
|
127
126
|
}
|
|
128
|
-
form.append(key, makeFile([await value.blob()], getName(value), options));
|
|
127
|
+
form.append(key, makeFile([await value.blob()], getName(value, stripFilenames), options));
|
|
129
128
|
}
|
|
130
129
|
else if ((0, exports.isAsyncIterable)(value)) {
|
|
131
|
-
form.append(key, makeFile([await new Response((0, shims_1.ReadableStreamFrom)(value)).blob()], getName(value)));
|
|
130
|
+
form.append(key, makeFile([await new Response((0, shims_1.ReadableStreamFrom)(value)).blob()], getName(value, stripFilenames)));
|
|
132
131
|
}
|
|
133
132
|
else if (isNamedBlob(value)) {
|
|
134
|
-
form.append(key, makeFile([value], getName(value), { type: value.type }));
|
|
133
|
+
form.append(key, makeFile([value], getName(value, stripFilenames), { type: value.type }));
|
|
135
134
|
}
|
|
136
135
|
else if (Array.isArray(value)) {
|
|
137
|
-
await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry)));
|
|
136
|
+
await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry, stripFilenames)));
|
|
138
137
|
}
|
|
139
138
|
else if (typeof value === 'object') {
|
|
140
|
-
await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop)));
|
|
139
|
+
await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop, stripFilenames)));
|
|
141
140
|
}
|
|
142
141
|
else {
|
|
143
142
|
throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`);
|
package/internal/uploads.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploads.js","sourceRoot":"","sources":["../src/internal/uploads.ts"],"names":[],"mappings":";;;AA0CA,4BAOC;AAED,
|
|
1
|
+
{"version":3,"file":"uploads.js","sourceRoot":"","sources":["../src/internal/uploads.ts"],"names":[],"mappings":"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"}
|
package/internal/uploads.mjs
CHANGED
|
@@ -17,16 +17,15 @@ export function makeFile(fileBits, fileName, options) {
|
|
|
17
17
|
checkFileSupport();
|
|
18
18
|
return new File(fileBits, fileName ?? 'unknown_file', options);
|
|
19
19
|
}
|
|
20
|
-
export function getName(value) {
|
|
21
|
-
|
|
20
|
+
export function getName(value, stripPath) {
|
|
21
|
+
const val = (typeof value === 'object' &&
|
|
22
22
|
value !== null &&
|
|
23
23
|
(('name' in value && value.name && String(value.name)) ||
|
|
24
24
|
('url' in value && value.url && String(value.url)) ||
|
|
25
25
|
('filename' in value && value.filename && String(value.filename)) ||
|
|
26
26
|
('path' in value && value.path && String(value.path)))) ||
|
|
27
|
-
''
|
|
28
|
-
|
|
29
|
-
.pop() || undefined);
|
|
27
|
+
'';
|
|
28
|
+
return stripPath ? val.split(/[\\/]/).pop() || undefined : val;
|
|
30
29
|
}
|
|
31
30
|
export const isAsyncIterable = (value) => value != null && typeof value === 'object' && typeof value[Symbol.asyncIterator] === 'function';
|
|
32
31
|
/**
|
|
@@ -38,8 +37,8 @@ export const maybeMultipartFormRequestOptions = async (opts, fetch) => {
|
|
|
38
37
|
return opts;
|
|
39
38
|
return { ...opts, body: await createForm(opts.body, fetch) };
|
|
40
39
|
};
|
|
41
|
-
export const multipartFormRequestOptions = async (opts, fetch) => {
|
|
42
|
-
return { ...opts, body: await createForm(opts.body, fetch) };
|
|
40
|
+
export const multipartFormRequestOptions = async (opts, fetch, stripFilenames = true) => {
|
|
41
|
+
return { ...opts, body: await createForm(opts.body, fetch, stripFilenames) };
|
|
43
42
|
};
|
|
44
43
|
const supportsFormDataMap = /* @__PURE__ */ new WeakMap();
|
|
45
44
|
/**
|
|
@@ -72,12 +71,12 @@ function supportsFormData(fetchObject) {
|
|
|
72
71
|
supportsFormDataMap.set(fetch, promise);
|
|
73
72
|
return promise;
|
|
74
73
|
}
|
|
75
|
-
export const createForm = async (body, fetch) => {
|
|
74
|
+
export const createForm = async (body, fetch, stripFilenames = true) => {
|
|
76
75
|
if (!(await supportsFormData(fetch))) {
|
|
77
76
|
throw new TypeError('The provided fetch function does not support file uploads with the current global FormData class.');
|
|
78
77
|
}
|
|
79
78
|
const form = new FormData();
|
|
80
|
-
await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));
|
|
79
|
+
await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value, stripFilenames)));
|
|
81
80
|
return form;
|
|
82
81
|
};
|
|
83
82
|
// We check for Blob not File because Bun.File doesn't inherit from File,
|
|
@@ -99,7 +98,7 @@ const hasUploadableValue = (value) => {
|
|
|
99
98
|
}
|
|
100
99
|
return false;
|
|
101
100
|
};
|
|
102
|
-
const addFormValue = async (form, key, value) => {
|
|
101
|
+
const addFormValue = async (form, key, value, stripFilenames) => {
|
|
103
102
|
if (value === undefined)
|
|
104
103
|
return;
|
|
105
104
|
if (value == null) {
|
|
@@ -115,19 +114,19 @@ const addFormValue = async (form, key, value) => {
|
|
|
115
114
|
if (contentType) {
|
|
116
115
|
options = { type: contentType };
|
|
117
116
|
}
|
|
118
|
-
form.append(key, makeFile([await value.blob()], getName(value), options));
|
|
117
|
+
form.append(key, makeFile([await value.blob()], getName(value, stripFilenames), options));
|
|
119
118
|
}
|
|
120
119
|
else if (isAsyncIterable(value)) {
|
|
121
|
-
form.append(key, makeFile([await new Response(ReadableStreamFrom(value)).blob()], getName(value)));
|
|
120
|
+
form.append(key, makeFile([await new Response(ReadableStreamFrom(value)).blob()], getName(value, stripFilenames)));
|
|
122
121
|
}
|
|
123
122
|
else if (isNamedBlob(value)) {
|
|
124
|
-
form.append(key, makeFile([value], getName(value), { type: value.type }));
|
|
123
|
+
form.append(key, makeFile([value], getName(value, stripFilenames), { type: value.type }));
|
|
125
124
|
}
|
|
126
125
|
else if (Array.isArray(value)) {
|
|
127
|
-
await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry)));
|
|
126
|
+
await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry, stripFilenames)));
|
|
128
127
|
}
|
|
129
128
|
else if (typeof value === 'object') {
|
|
130
|
-
await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop)));
|
|
129
|
+
await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop, stripFilenames)));
|
|
131
130
|
}
|
|
132
131
|
else {
|
|
133
132
|
throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`);
|
package/internal/uploads.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploads.mjs","sourceRoot":"","sources":["../src/internal/uploads.ts"],"names":[],"mappings":"OAGO,EAAE,kBAAkB,EAAE;AAU7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAiB,CAAC;QACtC,MAAM,SAAS,GACb,OAAO,OAAO,EAAE,QAAQ,EAAE,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACjG,MAAM,IAAI,KAAK,CACb,wEAAwE;YACtE,CAAC,SAAS,CAAC,CAAC;gBACV,4FAA4F;gBAC9F,CAAC,CAAC,EAAE,CAAC,CACR,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAaF;;;GAGG;AACH,MAAM,UAAU,QAAQ,CACtB,QAAoB,EACpB,QAA4B,EAC5B,OAAyB;IAEzB,gBAAgB,EAAE,CAAC;IACnB,OAAO,IAAI,IAAI,CAAC,QAAe,EAAE,QAAQ,IAAI,cAAc,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAU;
|
|
1
|
+
{"version":3,"file":"uploads.mjs","sourceRoot":"","sources":["../src/internal/uploads.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anthropic-ai/foundry-sdk",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "The official TypeScript library for the Anthropic Foundry API",
|
|
5
5
|
"author": "Anthropic <support@anthropic.com>",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -37,6 +37,16 @@
|
|
|
37
37
|
"types": "./index.d.mts",
|
|
38
38
|
"default": "./index.mjs"
|
|
39
39
|
},
|
|
40
|
+
"./.github/*.mjs": {
|
|
41
|
+
"default": "./.github/*.mjs"
|
|
42
|
+
},
|
|
43
|
+
"./.github/*.js": {
|
|
44
|
+
"default": "./.github/*.js"
|
|
45
|
+
},
|
|
46
|
+
"./.github/*": {
|
|
47
|
+
"import": "./.github/*.mjs",
|
|
48
|
+
"require": "./.github/*.js"
|
|
49
|
+
},
|
|
40
50
|
"./client": {
|
|
41
51
|
"import": "./client.mjs",
|
|
42
52
|
"require": "./client.js"
|
package/src/internal/to-file.ts
CHANGED
|
@@ -90,7 +90,7 @@ export async function toFile(
|
|
|
90
90
|
// If it's a promise, resolve it.
|
|
91
91
|
value = await value;
|
|
92
92
|
|
|
93
|
-
name ||= getName(value);
|
|
93
|
+
name ||= getName(value, true);
|
|
94
94
|
|
|
95
95
|
// If we've been given a `File` we don't need to do anything if the name / options
|
|
96
96
|
// have not been customised.
|
package/src/internal/uploads.ts
CHANGED
|
@@ -49,20 +49,17 @@ export function makeFile(
|
|
|
49
49
|
return new File(fileBits as any, fileName ?? 'unknown_file', options);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
export function getName(value: any): string | undefined {
|
|
53
|
-
|
|
54
|
-
(
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
.split(/[\\/]/)
|
|
64
|
-
.pop() || undefined
|
|
65
|
-
);
|
|
52
|
+
export function getName(value: any, stripPath: boolean): string | undefined {
|
|
53
|
+
const val =
|
|
54
|
+
(typeof value === 'object' &&
|
|
55
|
+
value !== null &&
|
|
56
|
+
(('name' in value && value.name && String(value.name)) ||
|
|
57
|
+
('url' in value && value.url && String(value.url)) ||
|
|
58
|
+
('filename' in value && value.filename && String(value.filename)) ||
|
|
59
|
+
('path' in value && value.path && String(value.path)))) ||
|
|
60
|
+
'';
|
|
61
|
+
|
|
62
|
+
return stripPath ? val.split(/[\\/]/).pop() || undefined : val;
|
|
66
63
|
}
|
|
67
64
|
|
|
68
65
|
export const isAsyncIterable = (value: any): value is AsyncIterable<any> =>
|
|
@@ -86,8 +83,9 @@ type MultipartFormRequestOptions = Omit<RequestOptions, 'body'> & { body: unknow
|
|
|
86
83
|
export const multipartFormRequestOptions = async (
|
|
87
84
|
opts: MultipartFormRequestOptions,
|
|
88
85
|
fetch: BaseAnthropic | Fetch,
|
|
86
|
+
stripFilenames: boolean = true,
|
|
89
87
|
): Promise<RequestOptions> => {
|
|
90
|
-
return { ...opts, body: await createForm(opts.body, fetch) };
|
|
88
|
+
return { ...opts, body: await createForm(opts.body, fetch, stripFilenames) };
|
|
91
89
|
};
|
|
92
90
|
|
|
93
91
|
const supportsFormDataMap = /* @__PURE__ */ new WeakMap<Fetch, Promise<boolean>>();
|
|
@@ -125,6 +123,7 @@ function supportsFormData(fetchObject: BaseAnthropic | Fetch): Promise<boolean>
|
|
|
125
123
|
export const createForm = async <T = Record<string, unknown>>(
|
|
126
124
|
body: T | undefined,
|
|
127
125
|
fetch: BaseAnthropic | Fetch,
|
|
126
|
+
stripFilenames: boolean = true,
|
|
128
127
|
): Promise<FormData> => {
|
|
129
128
|
if (!(await supportsFormData(fetch))) {
|
|
130
129
|
throw new TypeError(
|
|
@@ -132,7 +131,9 @@ export const createForm = async <T = Record<string, unknown>>(
|
|
|
132
131
|
);
|
|
133
132
|
}
|
|
134
133
|
const form = new FormData();
|
|
135
|
-
await Promise.all(
|
|
134
|
+
await Promise.all(
|
|
135
|
+
Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value, stripFilenames)),
|
|
136
|
+
);
|
|
136
137
|
return form;
|
|
137
138
|
};
|
|
138
139
|
|
|
@@ -156,7 +157,12 @@ const hasUploadableValue = (value: unknown): boolean => {
|
|
|
156
157
|
return false;
|
|
157
158
|
};
|
|
158
159
|
|
|
159
|
-
const addFormValue = async (
|
|
160
|
+
const addFormValue = async (
|
|
161
|
+
form: FormData,
|
|
162
|
+
key: string,
|
|
163
|
+
value: unknown,
|
|
164
|
+
stripFilenames: boolean,
|
|
165
|
+
): Promise<void> => {
|
|
160
166
|
if (value === undefined) return;
|
|
161
167
|
if (value == null) {
|
|
162
168
|
throw new TypeError(
|
|
@@ -174,16 +180,21 @@ const addFormValue = async (form: FormData, key: string, value: unknown): Promis
|
|
|
174
180
|
options = { type: contentType };
|
|
175
181
|
}
|
|
176
182
|
|
|
177
|
-
form.append(key, makeFile([await value.blob()], getName(value), options));
|
|
183
|
+
form.append(key, makeFile([await value.blob()], getName(value, stripFilenames), options));
|
|
178
184
|
} else if (isAsyncIterable(value)) {
|
|
179
|
-
form.append(
|
|
185
|
+
form.append(
|
|
186
|
+
key,
|
|
187
|
+
makeFile([await new Response(ReadableStreamFrom(value)).blob()], getName(value, stripFilenames)),
|
|
188
|
+
);
|
|
180
189
|
} else if (isNamedBlob(value)) {
|
|
181
|
-
form.append(key, makeFile([value], getName(value), { type: value.type }));
|
|
190
|
+
form.append(key, makeFile([value], getName(value, stripFilenames), { type: value.type }));
|
|
182
191
|
} else if (Array.isArray(value)) {
|
|
183
|
-
await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry)));
|
|
192
|
+
await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry, stripFilenames)));
|
|
184
193
|
} else if (typeof value === 'object') {
|
|
185
194
|
await Promise.all(
|
|
186
|
-
Object.entries(value).map(([name, prop]) =>
|
|
195
|
+
Object.entries(value).map(([name, prop]) =>
|
|
196
|
+
addFormValue(form, `${key}[${name}]`, prop, stripFilenames),
|
|
197
|
+
),
|
|
187
198
|
);
|
|
188
199
|
} else {
|
|
189
200
|
throw new TypeError(
|