From c1b22efb2f9f014c04b6f299e392dc9e5e63b3d0 Mon Sep 17 00:00:00 2001 From: Omar McIver Date: Tue, 23 Sep 2025 09:21:58 -0500 Subject: [PATCH 1/5] fix: handle arrays properly in FormData When FormData contains arrays (e.g., multiple file uploads), the current implementation incorrectly stringifies the entire array instead of appending each item individually. This fix: - Detects when a property is an array - Iterates through each array item - Properly appends each file/blob individually to FormData - Preserves non-file array items by JSON.stringify-ing them individually This enables proper multi-file uploads and array handling in FormData, which is essential for APIs that accept multiple attachments or files. --- .../base/http-clients/fetch-http-client.ejs | 14 +- tests/__snapshots__/extended.test.ts.snap | 836 ++++++++++-------- tests/__snapshots__/simple.test.ts.snap | 836 ++++++++++-------- tests/fixtures/formdata-arrays.json | 66 ++ .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/inline.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../jsAxios/__snapshots__/basic.test.ts.snap | 18 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 14 +- .../patch/__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- .../__snapshots__/basic.test.ts.snap | 19 +- 30 files changed, 1320 insertions(+), 920 deletions(-) create mode 100644 tests/fixtures/formdata-arrays.json diff --git a/templates/base/http-clients/fetch-http-client.ejs b/templates/base/http-clients/fetch-http-client.ejs index 9f6a5c30..76c940b3 100644 --- a/templates/base/http-clients/fetch-http-client.ejs +++ b/templates/base/http-clients/fetch-http-client.ejs @@ -113,14 +113,12 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob ? - property : - typeof property === "object" && property !== null ? - JSON.stringify(property) : - `${property}` - ); + const propertyContent = property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = formItem instanceof Blob || formItem instanceof File; + formData.append(key, isFileType ? formItem : JSON.stringify(formItem)); + } return formData; }, new FormData()); }, diff --git a/tests/__snapshots__/extended.test.ts.snap b/tests/__snapshots__/extended.test.ts.snap index e95bc232..eb2bdc12 100644 --- a/tests/__snapshots__/extended.test.ts.snap +++ b/tests/__snapshots__/extended.test.ts.snap @@ -2845,14 +2845,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -4851,14 +4854,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -5133,14 +5139,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -5450,14 +5459,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -6470,14 +6482,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -7288,14 +7303,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -7648,14 +7666,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -7966,14 +7987,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -8332,14 +8356,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -9202,14 +9229,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -9828,14 +9858,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -10145,14 +10178,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -10468,14 +10504,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -10821,14 +10860,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -11175,14 +11217,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -11554,14 +11599,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -11901,14 +11949,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -50309,14 +50360,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -66112,14 +66166,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -67151,14 +67208,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -67649,14 +67709,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -68098,14 +68161,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -68494,14 +68560,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -68808,14 +68877,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -69170,14 +69242,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -69884,14 +69959,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -70469,14 +70547,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -70898,14 +70979,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -71363,14 +71447,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -71892,14 +71979,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -72284,14 +72374,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -72724,14 +72817,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -73661,14 +73757,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -74470,14 +74569,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -74865,14 +74967,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -75178,14 +75283,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -75474,14 +75582,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -75808,14 +75919,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -76551,14 +76665,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -77450,14 +77567,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -79276,14 +79396,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -80057,14 +80180,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -80408,14 +80534,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -80865,14 +80994,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/__snapshots__/simple.test.ts.snap b/tests/__snapshots__/simple.test.ts.snap index 710b2300..e5fc80e7 100644 --- a/tests/__snapshots__/simple.test.ts.snap +++ b/tests/__snapshots__/simple.test.ts.snap @@ -298,14 +298,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -2650,14 +2653,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -2932,14 +2938,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -3223,14 +3232,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -3651,14 +3663,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -4422,14 +4437,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -4764,14 +4782,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -5062,14 +5083,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -5372,14 +5396,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -5756,14 +5783,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -6411,14 +6441,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -6726,14 +6759,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -7032,14 +7068,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -7385,14 +7424,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -7700,14 +7742,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -8029,14 +8074,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -8356,14 +8404,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -17328,14 +17379,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -38465,14 +38519,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -39041,14 +39098,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -39716,14 +39776,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -40010,14 +40073,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -40409,14 +40475,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -40697,14 +40766,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -40992,14 +41064,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -41488,14 +41563,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -41986,14 +42064,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -42340,14 +42421,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -42695,14 +42779,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -43086,14 +43173,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -43467,14 +43557,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -43791,14 +43884,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -44207,14 +44303,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -44899,14 +44998,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -45255,14 +45357,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -45575,14 +45680,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -45852,14 +45960,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -46154,14 +46265,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -46579,14 +46693,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -47230,14 +47347,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -48417,14 +48537,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -49210,14 +49333,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -49575,14 +49701,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, @@ -49877,14 +50006,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/fixtures/formdata-arrays.json b/tests/fixtures/formdata-arrays.json new file mode 100644 index 00000000..14ca2250 --- /dev/null +++ b/tests/fixtures/formdata-arrays.json @@ -0,0 +1,66 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "FormData Arrays API", + "version": "1.0.0" + }, + "paths": { + "/upload-multiple": { + "post": { + "summary": "Upload multiple files", + "operationId": "uploadMultipleFiles", + "requestBody": { + "required": true, + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "files": { + "type": "array", + "items": { + "type": "string", + "format": "binary" + }, + "description": "Array of files to upload" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of tags for the files" + }, + "description": { + "type": "string", + "description": "Description of the upload" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Files uploaded successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "fileCount": { + "type": "number" + } + } + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/tests/spec/another-query-params/__snapshots__/basic.test.ts.snap b/tests/spec/another-query-params/__snapshots__/basic.test.ts.snap index f987d808..73c56d9a 100644 --- a/tests/spec/another-query-params/__snapshots__/basic.test.ts.snap +++ b/tests/spec/another-query-params/__snapshots__/basic.test.ts.snap @@ -169,14 +169,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/custom-extensions/__snapshots__/basic.test.ts.snap b/tests/spec/custom-extensions/__snapshots__/basic.test.ts.snap index aedb9d00..a674de17 100644 --- a/tests/spec/custom-extensions/__snapshots__/basic.test.ts.snap +++ b/tests/spec/custom-extensions/__snapshots__/basic.test.ts.snap @@ -141,14 +141,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/defaultAsSuccess/__snapshots__/basic.test.ts.snap b/tests/spec/defaultAsSuccess/__snapshots__/basic.test.ts.snap index 3b138631..4677ef9a 100644 --- a/tests/spec/defaultAsSuccess/__snapshots__/basic.test.ts.snap +++ b/tests/spec/defaultAsSuccess/__snapshots__/basic.test.ts.snap @@ -181,14 +181,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/defaultResponse/__snapshots__/basic.test.ts.snap b/tests/spec/defaultResponse/__snapshots__/basic.test.ts.snap index a2198338..9382182e 100644 --- a/tests/spec/defaultResponse/__snapshots__/basic.test.ts.snap +++ b/tests/spec/defaultResponse/__snapshots__/basic.test.ts.snap @@ -141,14 +141,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/deprecated/__snapshots__/basic.test.ts.snap b/tests/spec/deprecated/__snapshots__/basic.test.ts.snap index a8e4b05d..b8147e17 100644 --- a/tests/spec/deprecated/__snapshots__/basic.test.ts.snap +++ b/tests/spec/deprecated/__snapshots__/basic.test.ts.snap @@ -141,14 +141,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/dot-path-params/__snapshots__/basic.test.ts.snap b/tests/spec/dot-path-params/__snapshots__/basic.test.ts.snap index 161782a2..7c552197 100644 --- a/tests/spec/dot-path-params/__snapshots__/basic.test.ts.snap +++ b/tests/spec/dot-path-params/__snapshots__/basic.test.ts.snap @@ -143,14 +143,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/enumNamesAsValues/__snapshots__/basic.test.ts.snap b/tests/spec/enumNamesAsValues/__snapshots__/basic.test.ts.snap index 626a368e..96bbee9d 100644 --- a/tests/spec/enumNamesAsValues/__snapshots__/basic.test.ts.snap +++ b/tests/spec/enumNamesAsValues/__snapshots__/basic.test.ts.snap @@ -333,14 +333,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/enumNamesAsValues/__snapshots__/inline.test.ts.snap b/tests/spec/enumNamesAsValues/__snapshots__/inline.test.ts.snap index 816ee868..10b68bf3 100644 --- a/tests/spec/enumNamesAsValues/__snapshots__/inline.test.ts.snap +++ b/tests/spec/enumNamesAsValues/__snapshots__/inline.test.ts.snap @@ -153,14 +153,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/enumNotFirstInComponents/__snapshots__/basic.test.ts.snap b/tests/spec/enumNotFirstInComponents/__snapshots__/basic.test.ts.snap index ed22a3bd..0834626e 100644 --- a/tests/spec/enumNotFirstInComponents/__snapshots__/basic.test.ts.snap +++ b/tests/spec/enumNotFirstInComponents/__snapshots__/basic.test.ts.snap @@ -171,14 +171,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/extractRequestBody/__snapshots__/basic.test.ts.snap b/tests/spec/extractRequestBody/__snapshots__/basic.test.ts.snap index f34bbe52..54a40069 100644 --- a/tests/spec/extractRequestBody/__snapshots__/basic.test.ts.snap +++ b/tests/spec/extractRequestBody/__snapshots__/basic.test.ts.snap @@ -312,14 +312,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/extractRequestParams/__snapshots__/basic.test.ts.snap b/tests/spec/extractRequestParams/__snapshots__/basic.test.ts.snap index 985bf2f2..bc47d933 100644 --- a/tests/spec/extractRequestParams/__snapshots__/basic.test.ts.snap +++ b/tests/spec/extractRequestParams/__snapshots__/basic.test.ts.snap @@ -271,14 +271,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/extractResponseBody/__snapshots__/basic.test.ts.snap b/tests/spec/extractResponseBody/__snapshots__/basic.test.ts.snap index eaf33c1d..1626919a 100644 --- a/tests/spec/extractResponseBody/__snapshots__/basic.test.ts.snap +++ b/tests/spec/extractResponseBody/__snapshots__/basic.test.ts.snap @@ -296,14 +296,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/extractResponseError/__snapshots__/basic.test.ts.snap b/tests/spec/extractResponseError/__snapshots__/basic.test.ts.snap index e4a3e4f2..ef6b7b42 100644 --- a/tests/spec/extractResponseError/__snapshots__/basic.test.ts.snap +++ b/tests/spec/extractResponseError/__snapshots__/basic.test.ts.snap @@ -291,14 +291,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/jsAxios/__snapshots__/basic.test.ts.snap b/tests/spec/jsAxios/__snapshots__/basic.test.ts.snap index 0b4dbc53..19b5a3d6 100644 --- a/tests/spec/jsAxios/__snapshots__/basic.test.ts.snap +++ b/tests/spec/jsAxios/__snapshots__/basic.test.ts.snap @@ -86,14 +86,16 @@ export class HttpClient { } return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/jsonapi-media-type/__snapshots__/basic.test.ts.snap b/tests/spec/jsonapi-media-type/__snapshots__/basic.test.ts.snap index 5f4c7ab8..721f10e0 100644 --- a/tests/spec/jsonapi-media-type/__snapshots__/basic.test.ts.snap +++ b/tests/spec/jsonapi-media-type/__snapshots__/basic.test.ts.snap @@ -167,14 +167,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/moduleNameFirstTag/__snapshots__/basic.test.ts.snap b/tests/spec/moduleNameFirstTag/__snapshots__/basic.test.ts.snap index 347ca8d6..59ed46a8 100644 --- a/tests/spec/moduleNameFirstTag/__snapshots__/basic.test.ts.snap +++ b/tests/spec/moduleNameFirstTag/__snapshots__/basic.test.ts.snap @@ -266,14 +266,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/moduleNameIndex/__snapshots__/basic.test.ts.snap b/tests/spec/moduleNameIndex/__snapshots__/basic.test.ts.snap index fe0d3c47..a537c71d 100644 --- a/tests/spec/moduleNameIndex/__snapshots__/basic.test.ts.snap +++ b/tests/spec/moduleNameIndex/__snapshots__/basic.test.ts.snap @@ -266,14 +266,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/on-insert-path-param/__snapshots__/basic.test.ts.snap b/tests/spec/on-insert-path-param/__snapshots__/basic.test.ts.snap index 9328e352..2473b224 100644 --- a/tests/spec/on-insert-path-param/__snapshots__/basic.test.ts.snap +++ b/tests/spec/on-insert-path-param/__snapshots__/basic.test.ts.snap @@ -141,14 +141,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/operationId-starting-with-number/__snapshots__/basic.test.ts.snap b/tests/spec/operationId-starting-with-number/__snapshots__/basic.test.ts.snap index d1b17a5a..724e78c3 100644 --- a/tests/spec/operationId-starting-with-number/__snapshots__/basic.test.ts.snap +++ b/tests/spec/operationId-starting-with-number/__snapshots__/basic.test.ts.snap @@ -179,14 +179,12 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob ? - property : - typeof property === "object" && property !== null ? - JSON.stringify(property) : - \`\${property}\` - ); + const propertyContent = property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = formItem instanceof Blob || formItem instanceof File; + formData.append(key, isFileType ? formItem : JSON.stringify(formItem)); + } return formData; }, new FormData()); }, diff --git a/tests/spec/patch/__snapshots__/basic.test.ts.snap b/tests/spec/patch/__snapshots__/basic.test.ts.snap index a307e33c..537e4c19 100644 --- a/tests/spec/patch/__snapshots__/basic.test.ts.snap +++ b/tests/spec/patch/__snapshots__/basic.test.ts.snap @@ -1898,14 +1898,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/responses/__snapshots__/basic.test.ts.snap b/tests/spec/responses/__snapshots__/basic.test.ts.snap index c368fa92..3005eba9 100644 --- a/tests/spec/responses/__snapshots__/basic.test.ts.snap +++ b/tests/spec/responses/__snapshots__/basic.test.ts.snap @@ -181,14 +181,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/singleHttpClient/__snapshots__/basic.test.ts.snap b/tests/spec/singleHttpClient/__snapshots__/basic.test.ts.snap index 3679cfb0..c5cc5567 100644 --- a/tests/spec/singleHttpClient/__snapshots__/basic.test.ts.snap +++ b/tests/spec/singleHttpClient/__snapshots__/basic.test.ts.snap @@ -141,14 +141,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/sortTypes-false/__snapshots__/basic.test.ts.snap b/tests/spec/sortTypes-false/__snapshots__/basic.test.ts.snap index 69d5302e..4ff7abb1 100644 --- a/tests/spec/sortTypes-false/__snapshots__/basic.test.ts.snap +++ b/tests/spec/sortTypes-false/__snapshots__/basic.test.ts.snap @@ -1898,14 +1898,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/sortTypes/__snapshots__/basic.test.ts.snap b/tests/spec/sortTypes/__snapshots__/basic.test.ts.snap index 785d970c..5fb499e7 100644 --- a/tests/spec/sortTypes/__snapshots__/basic.test.ts.snap +++ b/tests/spec/sortTypes/__snapshots__/basic.test.ts.snap @@ -1898,14 +1898,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/typeSuffixPrefix/__snapshots__/basic.test.ts.snap b/tests/spec/typeSuffixPrefix/__snapshots__/basic.test.ts.snap index aef88bef..2eaf2e38 100644 --- a/tests/spec/typeSuffixPrefix/__snapshots__/basic.test.ts.snap +++ b/tests/spec/typeSuffixPrefix/__snapshots__/basic.test.ts.snap @@ -1910,14 +1910,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, diff --git a/tests/spec/unionEnums/__snapshots__/basic.test.ts.snap b/tests/spec/unionEnums/__snapshots__/basic.test.ts.snap index 1c138869..63d42ef0 100644 --- a/tests/spec/unionEnums/__snapshots__/basic.test.ts.snap +++ b/tests/spec/unionEnums/__snapshots__/basic.test.ts.snap @@ -153,14 +153,17 @@ export class HttpClient { return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; - formData.append( - key, - property instanceof Blob - ? property - : typeof property === "object" && property !== null - ? JSON.stringify(property) - : \`\${property}\`, - ); + const propertyContent = + property instanceof Array ? property : [property]; + + for (const formItem of propertyContent) { + const isFileType = + formItem instanceof Blob || formItem instanceof File; + formData.append( + key, + isFileType ? formItem : JSON.stringify(formItem), + ); + } return formData; }, new FormData()); }, From e4c4bae8329e1dc449777ceff462d7c21e585f12 Mon Sep 17 00:00:00 2001 From: Omar McIver Date: Tue, 23 Sep 2025 09:56:28 -0500 Subject: [PATCH 2/5] fix: apply formatter to test fixture --- tests/fixtures/formdata-arrays.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/fixtures/formdata-arrays.json b/tests/fixtures/formdata-arrays.json index 14ca2250..b924e611 100644 --- a/tests/fixtures/formdata-arrays.json +++ b/tests/fixtures/formdata-arrays.json @@ -63,4 +63,4 @@ } } } -} \ No newline at end of file +} From b9da1cdbc02bbe7101531539c1b32ff166a38146 Mon Sep 17 00:00:00 2001 From: Omar McIver Date: Tue, 14 Oct 2025 11:13:30 -0500 Subject: [PATCH 3/5] refactor: simplify FormData type checking and fix string handling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove redundant File instanceof check (File extends Blob) - Add explicit string type check to prevent double-stringification - Strings now passed directly to FormData instead of JSON.stringify Thanks to @lc-soft for the code review and suggestions! 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- templates/base/http-clients/fetch-http-client.ejs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/templates/base/http-clients/fetch-http-client.ejs b/templates/base/http-clients/fetch-http-client.ejs index 76c940b3..2e5e3d07 100644 --- a/templates/base/http-clients/fetch-http-client.ejs +++ b/templates/base/http-clients/fetch-http-client.ejs @@ -116,8 +116,7 @@ export class HttpClient { const propertyContent = property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = formItem instanceof Blob || formItem instanceof File; - formData.append(key, isFileType ? formItem : JSON.stringify(formItem)); + formData.append(key, formItem instanceof Blob || typeof formItem === "string" ? formItem : JSON.stringify(formItem)); } return formData; }, new FormData()); From 6e854b82bbfcd19825e539781e6b34017c35115f Mon Sep 17 00:00:00 2001 From: Omar McIver Date: Tue, 14 Oct 2025 11:32:06 -0500 Subject: [PATCH 4/5] test: update snapshots for FormData refactoring MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update test snapshots to reflect the simplified FormData handling: - Removed redundant File instanceof check - Added string type check to prevent double-stringification All 133 tests passing. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- tests/__snapshots__/extended.test.ts.snap | 264 +++++++++--------- tests/__snapshots__/simple.test.ts.snap | 264 +++++++++--------- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/inline.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../jsAxios/__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 3 +- .../patch/__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- .../__snapshots__/basic.test.ts.snap | 6 +- 28 files changed, 340 insertions(+), 341 deletions(-) diff --git a/tests/__snapshots__/extended.test.ts.snap b/tests/__snapshots__/extended.test.ts.snap index eb2bdc12..692338dd 100644 --- a/tests/__snapshots__/extended.test.ts.snap +++ b/tests/__snapshots__/extended.test.ts.snap @@ -2849,11 +2849,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -4858,11 +4858,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -5143,11 +5143,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -5463,11 +5463,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -6486,11 +6486,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -7307,11 +7307,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -7670,11 +7670,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -7991,11 +7991,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -8360,11 +8360,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -9233,11 +9233,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -9862,11 +9862,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -10182,11 +10182,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -10508,11 +10508,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -10864,11 +10864,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -11221,11 +11221,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -11603,11 +11603,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -11953,11 +11953,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -50364,11 +50364,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -66170,11 +66170,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -67212,11 +67212,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -67713,11 +67713,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -68165,11 +68165,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -68564,11 +68564,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -68881,11 +68881,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -69246,11 +69246,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -69963,11 +69963,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -70551,11 +70551,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -70983,11 +70983,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -71451,11 +71451,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -71983,11 +71983,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -72378,11 +72378,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -72821,11 +72821,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -73761,11 +73761,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -74573,11 +74573,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -74971,11 +74971,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -75287,11 +75287,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -75586,11 +75586,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -75923,11 +75923,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -76669,11 +76669,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -77571,11 +77571,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -79400,11 +79400,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -80184,11 +80184,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -80538,11 +80538,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -80998,11 +80998,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/__snapshots__/simple.test.ts.snap b/tests/__snapshots__/simple.test.ts.snap index e5fc80e7..9cf9a69d 100644 --- a/tests/__snapshots__/simple.test.ts.snap +++ b/tests/__snapshots__/simple.test.ts.snap @@ -302,11 +302,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -2657,11 +2657,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -2942,11 +2942,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -3236,11 +3236,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -3667,11 +3667,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -4441,11 +4441,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -4786,11 +4786,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -5087,11 +5087,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -5400,11 +5400,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -5787,11 +5787,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -6445,11 +6445,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -6763,11 +6763,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -7072,11 +7072,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -7428,11 +7428,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -7746,11 +7746,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -8078,11 +8078,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -8408,11 +8408,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -17383,11 +17383,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -38523,11 +38523,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -39102,11 +39102,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -39780,11 +39780,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -40077,11 +40077,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -40479,11 +40479,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -40770,11 +40770,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -41068,11 +41068,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -41567,11 +41567,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -42068,11 +42068,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -42425,11 +42425,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -42783,11 +42783,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -43177,11 +43177,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -43561,11 +43561,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -43888,11 +43888,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -44307,11 +44307,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -45002,11 +45002,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -45361,11 +45361,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -45684,11 +45684,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -45964,11 +45964,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -46269,11 +46269,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -46697,11 +46697,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -47351,11 +47351,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -48541,11 +48541,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -49337,11 +49337,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -49705,11 +49705,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; @@ -50010,11 +50010,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/another-query-params/__snapshots__/basic.test.ts.snap b/tests/spec/another-query-params/__snapshots__/basic.test.ts.snap index 73c56d9a..6c976557 100644 --- a/tests/spec/another-query-params/__snapshots__/basic.test.ts.snap +++ b/tests/spec/another-query-params/__snapshots__/basic.test.ts.snap @@ -173,11 +173,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/custom-extensions/__snapshots__/basic.test.ts.snap b/tests/spec/custom-extensions/__snapshots__/basic.test.ts.snap index a674de17..db1ec16a 100644 --- a/tests/spec/custom-extensions/__snapshots__/basic.test.ts.snap +++ b/tests/spec/custom-extensions/__snapshots__/basic.test.ts.snap @@ -145,11 +145,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/defaultAsSuccess/__snapshots__/basic.test.ts.snap b/tests/spec/defaultAsSuccess/__snapshots__/basic.test.ts.snap index 4677ef9a..f6d66c1b 100644 --- a/tests/spec/defaultAsSuccess/__snapshots__/basic.test.ts.snap +++ b/tests/spec/defaultAsSuccess/__snapshots__/basic.test.ts.snap @@ -185,11 +185,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/defaultResponse/__snapshots__/basic.test.ts.snap b/tests/spec/defaultResponse/__snapshots__/basic.test.ts.snap index 9382182e..b65f05c3 100644 --- a/tests/spec/defaultResponse/__snapshots__/basic.test.ts.snap +++ b/tests/spec/defaultResponse/__snapshots__/basic.test.ts.snap @@ -145,11 +145,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/deprecated/__snapshots__/basic.test.ts.snap b/tests/spec/deprecated/__snapshots__/basic.test.ts.snap index b8147e17..7c3b5741 100644 --- a/tests/spec/deprecated/__snapshots__/basic.test.ts.snap +++ b/tests/spec/deprecated/__snapshots__/basic.test.ts.snap @@ -145,11 +145,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/dot-path-params/__snapshots__/basic.test.ts.snap b/tests/spec/dot-path-params/__snapshots__/basic.test.ts.snap index 7c552197..545c4023 100644 --- a/tests/spec/dot-path-params/__snapshots__/basic.test.ts.snap +++ b/tests/spec/dot-path-params/__snapshots__/basic.test.ts.snap @@ -147,11 +147,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/enumNamesAsValues/__snapshots__/basic.test.ts.snap b/tests/spec/enumNamesAsValues/__snapshots__/basic.test.ts.snap index 96bbee9d..8429f6c8 100644 --- a/tests/spec/enumNamesAsValues/__snapshots__/basic.test.ts.snap +++ b/tests/spec/enumNamesAsValues/__snapshots__/basic.test.ts.snap @@ -337,11 +337,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/enumNamesAsValues/__snapshots__/inline.test.ts.snap b/tests/spec/enumNamesAsValues/__snapshots__/inline.test.ts.snap index 10b68bf3..6ed0d5ed 100644 --- a/tests/spec/enumNamesAsValues/__snapshots__/inline.test.ts.snap +++ b/tests/spec/enumNamesAsValues/__snapshots__/inline.test.ts.snap @@ -157,11 +157,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/enumNotFirstInComponents/__snapshots__/basic.test.ts.snap b/tests/spec/enumNotFirstInComponents/__snapshots__/basic.test.ts.snap index 0834626e..69b78f1c 100644 --- a/tests/spec/enumNotFirstInComponents/__snapshots__/basic.test.ts.snap +++ b/tests/spec/enumNotFirstInComponents/__snapshots__/basic.test.ts.snap @@ -175,11 +175,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/extractRequestBody/__snapshots__/basic.test.ts.snap b/tests/spec/extractRequestBody/__snapshots__/basic.test.ts.snap index 54a40069..1afdc208 100644 --- a/tests/spec/extractRequestBody/__snapshots__/basic.test.ts.snap +++ b/tests/spec/extractRequestBody/__snapshots__/basic.test.ts.snap @@ -316,11 +316,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/extractRequestParams/__snapshots__/basic.test.ts.snap b/tests/spec/extractRequestParams/__snapshots__/basic.test.ts.snap index bc47d933..cb65fe61 100644 --- a/tests/spec/extractRequestParams/__snapshots__/basic.test.ts.snap +++ b/tests/spec/extractRequestParams/__snapshots__/basic.test.ts.snap @@ -275,11 +275,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/extractResponseBody/__snapshots__/basic.test.ts.snap b/tests/spec/extractResponseBody/__snapshots__/basic.test.ts.snap index 1626919a..037369df 100644 --- a/tests/spec/extractResponseBody/__snapshots__/basic.test.ts.snap +++ b/tests/spec/extractResponseBody/__snapshots__/basic.test.ts.snap @@ -300,11 +300,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/extractResponseError/__snapshots__/basic.test.ts.snap b/tests/spec/extractResponseError/__snapshots__/basic.test.ts.snap index ef6b7b42..825de5f9 100644 --- a/tests/spec/extractResponseError/__snapshots__/basic.test.ts.snap +++ b/tests/spec/extractResponseError/__snapshots__/basic.test.ts.snap @@ -295,11 +295,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/jsAxios/__snapshots__/basic.test.ts.snap b/tests/spec/jsAxios/__snapshots__/basic.test.ts.snap index 19b5a3d6..6f7e31d8 100644 --- a/tests/spec/jsAxios/__snapshots__/basic.test.ts.snap +++ b/tests/spec/jsAxios/__snapshots__/basic.test.ts.snap @@ -89,11 +89,11 @@ export class HttpClient { const propertyContent = property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/jsonapi-media-type/__snapshots__/basic.test.ts.snap b/tests/spec/jsonapi-media-type/__snapshots__/basic.test.ts.snap index 721f10e0..e5c3d194 100644 --- a/tests/spec/jsonapi-media-type/__snapshots__/basic.test.ts.snap +++ b/tests/spec/jsonapi-media-type/__snapshots__/basic.test.ts.snap @@ -171,11 +171,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/moduleNameFirstTag/__snapshots__/basic.test.ts.snap b/tests/spec/moduleNameFirstTag/__snapshots__/basic.test.ts.snap index 59ed46a8..cd453dd8 100644 --- a/tests/spec/moduleNameFirstTag/__snapshots__/basic.test.ts.snap +++ b/tests/spec/moduleNameFirstTag/__snapshots__/basic.test.ts.snap @@ -270,11 +270,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/moduleNameIndex/__snapshots__/basic.test.ts.snap b/tests/spec/moduleNameIndex/__snapshots__/basic.test.ts.snap index a537c71d..ec379f4a 100644 --- a/tests/spec/moduleNameIndex/__snapshots__/basic.test.ts.snap +++ b/tests/spec/moduleNameIndex/__snapshots__/basic.test.ts.snap @@ -270,11 +270,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/on-insert-path-param/__snapshots__/basic.test.ts.snap b/tests/spec/on-insert-path-param/__snapshots__/basic.test.ts.snap index 2473b224..9944eb46 100644 --- a/tests/spec/on-insert-path-param/__snapshots__/basic.test.ts.snap +++ b/tests/spec/on-insert-path-param/__snapshots__/basic.test.ts.snap @@ -145,11 +145,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/operationId-starting-with-number/__snapshots__/basic.test.ts.snap b/tests/spec/operationId-starting-with-number/__snapshots__/basic.test.ts.snap index 724e78c3..320d2320 100644 --- a/tests/spec/operationId-starting-with-number/__snapshots__/basic.test.ts.snap +++ b/tests/spec/operationId-starting-with-number/__snapshots__/basic.test.ts.snap @@ -182,8 +182,7 @@ export class HttpClient { const propertyContent = property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = formItem instanceof Blob || formItem instanceof File; - formData.append(key, isFileType ? formItem : JSON.stringify(formItem)); + formData.append(key, formItem instanceof Blob || typeof formItem === "string" ? formItem : JSON.stringify(formItem)); } return formData; }, new FormData()); diff --git a/tests/spec/patch/__snapshots__/basic.test.ts.snap b/tests/spec/patch/__snapshots__/basic.test.ts.snap index 537e4c19..857e4846 100644 --- a/tests/spec/patch/__snapshots__/basic.test.ts.snap +++ b/tests/spec/patch/__snapshots__/basic.test.ts.snap @@ -1902,11 +1902,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/responses/__snapshots__/basic.test.ts.snap b/tests/spec/responses/__snapshots__/basic.test.ts.snap index 3005eba9..ee1eaa52 100644 --- a/tests/spec/responses/__snapshots__/basic.test.ts.snap +++ b/tests/spec/responses/__snapshots__/basic.test.ts.snap @@ -185,11 +185,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/singleHttpClient/__snapshots__/basic.test.ts.snap b/tests/spec/singleHttpClient/__snapshots__/basic.test.ts.snap index c5cc5567..1fb8d1c1 100644 --- a/tests/spec/singleHttpClient/__snapshots__/basic.test.ts.snap +++ b/tests/spec/singleHttpClient/__snapshots__/basic.test.ts.snap @@ -145,11 +145,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/sortTypes-false/__snapshots__/basic.test.ts.snap b/tests/spec/sortTypes-false/__snapshots__/basic.test.ts.snap index 4ff7abb1..f2460514 100644 --- a/tests/spec/sortTypes-false/__snapshots__/basic.test.ts.snap +++ b/tests/spec/sortTypes-false/__snapshots__/basic.test.ts.snap @@ -1902,11 +1902,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/sortTypes/__snapshots__/basic.test.ts.snap b/tests/spec/sortTypes/__snapshots__/basic.test.ts.snap index 5fb499e7..15612959 100644 --- a/tests/spec/sortTypes/__snapshots__/basic.test.ts.snap +++ b/tests/spec/sortTypes/__snapshots__/basic.test.ts.snap @@ -1902,11 +1902,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/typeSuffixPrefix/__snapshots__/basic.test.ts.snap b/tests/spec/typeSuffixPrefix/__snapshots__/basic.test.ts.snap index 2eaf2e38..dd5800b3 100644 --- a/tests/spec/typeSuffixPrefix/__snapshots__/basic.test.ts.snap +++ b/tests/spec/typeSuffixPrefix/__snapshots__/basic.test.ts.snap @@ -1914,11 +1914,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; diff --git a/tests/spec/unionEnums/__snapshots__/basic.test.ts.snap b/tests/spec/unionEnums/__snapshots__/basic.test.ts.snap index 63d42ef0..44b4abae 100644 --- a/tests/spec/unionEnums/__snapshots__/basic.test.ts.snap +++ b/tests/spec/unionEnums/__snapshots__/basic.test.ts.snap @@ -157,11 +157,11 @@ export class HttpClient { property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - const isFileType = - formItem instanceof Blob || formItem instanceof File; formData.append( key, - isFileType ? formItem : JSON.stringify(formItem), + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem), ); } return formData; From abc99efa426376c208344bc236429efdce581a89 Mon Sep 17 00:00:00 2001 From: Omar McIver Date: Fri, 24 Oct 2025 14:49:41 -0500 Subject: [PATCH 5/5] Update templates/base/http-clients/fetch-http-client.ejs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- templates/base/http-clients/fetch-http-client.ejs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/templates/base/http-clients/fetch-http-client.ejs b/templates/base/http-clients/fetch-http-client.ejs index 2e5e3d07..bf299be7 100644 --- a/templates/base/http-clients/fetch-http-client.ejs +++ b/templates/base/http-clients/fetch-http-client.ejs @@ -116,7 +116,12 @@ export class HttpClient { const propertyContent = property instanceof Array ? property : [property]; for (const formItem of propertyContent) { - formData.append(key, formItem instanceof Blob || typeof formItem === "string" ? formItem : JSON.stringify(formItem)); + formData.append( + key, + formItem instanceof Blob || typeof formItem === "string" + ? formItem + : JSON.stringify(formItem) + ); } return formData; }, new FormData());