From 6923be5f14dbdf095e4eb69aa49887277550ab7a Mon Sep 17 00:00:00 2001 From: Francesco Zardi Date: Wed, 11 Dec 2024 16:03:35 +0100 Subject: [PATCH 1/3] Skip formatting if FormData input is provided --- templates/base/http-clients/fetch-http-client.ejs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/templates/base/http-clients/fetch-http-client.ejs b/templates/base/http-clients/fetch-http-client.ejs index 1b98b021..d63efa53 100644 --- a/templates/base/http-clients/fetch-http-client.ejs +++ b/templates/base/http-clients/fetch-http-client.ejs @@ -106,8 +106,12 @@ export class HttpClient { [ContentType.Json]: (input:any) => input !== null && (typeof input === "object" || typeof input === "string") ? JSON.stringify(input) : input, [ContentType.JsonApi]: (input:any) => input !== null && (typeof input === "object" || typeof input === "string") ? JSON.stringify(input) : input, [ContentType.Text]: (input:any) => input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -118,7 +122,8 @@ export class HttpClient { `${property}` ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), } From 36a852f5c0de9cb5d6b69040079975cf1e76a860 Mon Sep 17 00:00:00 2001 From: Francesco Zardi Date: Fri, 13 Dec 2024 13:42:59 +0100 Subject: [PATCH 2/3] Update all unit tests snapshots --- tests/__snapshots__/extended.test.ts.snap | 462 +++++++++++++----- tests/__snapshots__/simple.test.ts.snap | 462 +++++++++++++----- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../jsAxios/__snapshots__/basic.test.ts.snap | 10 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../patch/__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- .../__snapshots__/basic.test.ts.snap | 11 +- 27 files changed, 871 insertions(+), 327 deletions(-) diff --git a/tests/__snapshots__/extended.test.ts.snap b/tests/__snapshots__/extended.test.ts.snap index caf87072..05a48e1f 100644 --- a/tests/__snapshots__/extended.test.ts.snap +++ b/tests/__snapshots__/extended.test.ts.snap @@ -2479,8 +2479,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -2491,7 +2495,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -4498,8 +4503,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -4510,7 +4519,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -4774,8 +4784,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -4786,7 +4800,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -5085,8 +5100,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -5097,7 +5116,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -6037,8 +6057,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -6049,7 +6073,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -6827,8 +6852,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -6839,7 +6868,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -7181,8 +7211,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -7193,7 +7227,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -7493,8 +7528,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -7505,7 +7544,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -7853,8 +7893,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -7865,7 +7909,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -8660,8 +8705,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -8672,7 +8721,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -9251,8 +9301,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -9263,7 +9317,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -9562,8 +9617,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -9574,7 +9633,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -9915,8 +9975,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -9927,7 +9991,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -10263,8 +10328,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -10275,7 +10344,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -10632,8 +10702,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -10644,7 +10718,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -10973,8 +11048,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -10985,7 +11064,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -46523,8 +46603,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -46535,7 +46619,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -62214,8 +62299,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -62226,7 +62315,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -63236,8 +63326,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -63248,7 +63342,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -63859,8 +63954,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -63871,7 +63970,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -64248,8 +64348,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -64260,7 +64364,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -64556,8 +64661,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -64568,7 +64677,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -64912,8 +65022,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -64924,7 +65038,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -65600,8 +65715,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -65612,7 +65731,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -66168,8 +66288,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -66180,7 +66304,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -66583,8 +66708,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -66595,7 +66724,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -67023,8 +67153,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -67035,7 +67169,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -67517,8 +67652,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -67529,7 +67668,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -67898,8 +68038,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -67910,7 +68054,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -68316,8 +68461,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -68328,7 +68477,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -69175,8 +69325,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -69187,7 +69341,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -69940,8 +70095,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -69952,7 +70111,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -70323,8 +70483,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -70335,7 +70499,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -70630,8 +70795,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -70642,7 +70811,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -70920,8 +71090,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -70932,7 +71106,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -71248,8 +71423,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -71260,7 +71439,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -71961,8 +72141,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -71973,7 +72157,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -72840,8 +73025,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -72852,7 +73041,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -74596,8 +74786,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -74608,7 +74802,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -75327,8 +75522,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -75339,7 +75538,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -75674,8 +75874,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -75686,7 +75890,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -76100,8 +76305,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -76112,7 +76321,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/__snapshots__/simple.test.ts.snap b/tests/__snapshots__/simple.test.ts.snap index 47478cb0..66737f26 100644 --- a/tests/__snapshots__/simple.test.ts.snap +++ b/tests/__snapshots__/simple.test.ts.snap @@ -291,8 +291,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -303,7 +307,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -2637,8 +2642,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -2649,7 +2658,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -2913,8 +2923,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -2925,7 +2939,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -3198,8 +3213,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -3210,7 +3229,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -3620,8 +3640,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -3632,7 +3656,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -4385,8 +4410,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -4397,7 +4426,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -4721,8 +4751,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -4733,7 +4767,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -5013,8 +5048,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -5025,7 +5064,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -5317,8 +5357,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -5329,7 +5373,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -5695,8 +5740,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -5707,7 +5756,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -6344,8 +6394,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -6356,7 +6410,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -6653,8 +6708,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -6665,7 +6724,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -7006,8 +7066,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -7018,7 +7082,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -7315,8 +7380,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -7327,7 +7396,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -7638,8 +7708,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -7650,7 +7724,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -7959,8 +8034,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -7971,7 +8050,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -16925,8 +17005,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -16937,7 +17021,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -38056,8 +38141,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -38068,7 +38157,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -38626,8 +38716,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -38638,7 +38732,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -39307,8 +39402,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -39319,7 +39418,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -39700,8 +39800,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -39712,7 +39816,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -39982,8 +40087,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -39994,7 +40103,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -40271,8 +40381,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -40283,7 +40397,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -40761,8 +40876,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -40773,7 +40892,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -41253,8 +41373,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -41265,7 +41389,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -41601,8 +41726,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -41613,7 +41742,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -41950,8 +42080,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -41962,7 +42096,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -42335,8 +42470,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -42347,7 +42486,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -42710,8 +42850,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -42722,7 +42866,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -43028,8 +43173,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -43040,7 +43189,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -43438,8 +43588,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -43450,7 +43604,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -44124,8 +44279,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -44136,7 +44295,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -44474,8 +44634,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -44486,7 +44650,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -44788,8 +44953,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -44800,7 +44969,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -45059,8 +45229,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -45071,7 +45245,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -45355,8 +45530,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -45367,7 +45546,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -45774,8 +45954,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -45786,7 +45970,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -46419,8 +46604,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -46431,7 +46620,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -47600,8 +47790,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -47612,7 +47806,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -48387,8 +48582,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -48399,7 +48598,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -48746,8 +48946,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -48758,7 +48962,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; @@ -49042,8 +49247,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -49054,7 +49263,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; 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 9598b39d..afa6ebe0 100644 --- a/tests/spec/another-query-params/__snapshots__/basic.test.ts.snap +++ b/tests/spec/another-query-params/__snapshots__/basic.test.ts.snap @@ -162,8 +162,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -174,7 +178,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/custom-extensions/__snapshots__/basic.test.ts.snap b/tests/spec/custom-extensions/__snapshots__/basic.test.ts.snap index 4e61612d..44edae96 100644 --- a/tests/spec/custom-extensions/__snapshots__/basic.test.ts.snap +++ b/tests/spec/custom-extensions/__snapshots__/basic.test.ts.snap @@ -134,8 +134,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -146,7 +150,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/defaultAsSuccess/__snapshots__/basic.test.ts.snap b/tests/spec/defaultAsSuccess/__snapshots__/basic.test.ts.snap index b5f75e01..9946c26b 100644 --- a/tests/spec/defaultAsSuccess/__snapshots__/basic.test.ts.snap +++ b/tests/spec/defaultAsSuccess/__snapshots__/basic.test.ts.snap @@ -174,8 +174,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -186,7 +190,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/defaultResponse/__snapshots__/basic.test.ts.snap b/tests/spec/defaultResponse/__snapshots__/basic.test.ts.snap index 6f3645e8..3b33955f 100644 --- a/tests/spec/defaultResponse/__snapshots__/basic.test.ts.snap +++ b/tests/spec/defaultResponse/__snapshots__/basic.test.ts.snap @@ -134,8 +134,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -146,7 +150,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/deprecated/__snapshots__/basic.test.ts.snap b/tests/spec/deprecated/__snapshots__/basic.test.ts.snap index dc098293..7e71b0df 100644 --- a/tests/spec/deprecated/__snapshots__/basic.test.ts.snap +++ b/tests/spec/deprecated/__snapshots__/basic.test.ts.snap @@ -134,8 +134,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -146,7 +150,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; 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 b76be01b..dd0ffc71 100644 --- a/tests/spec/dot-path-params/__snapshots__/basic.test.ts.snap +++ b/tests/spec/dot-path-params/__snapshots__/basic.test.ts.snap @@ -136,8 +136,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -148,7 +152,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/enumNamesAsValues/__snapshots__/basic.test.ts.snap b/tests/spec/enumNamesAsValues/__snapshots__/basic.test.ts.snap index fe32e763..800c3e00 100644 --- a/tests/spec/enumNamesAsValues/__snapshots__/basic.test.ts.snap +++ b/tests/spec/enumNamesAsValues/__snapshots__/basic.test.ts.snap @@ -326,8 +326,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -338,7 +342,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/enumNotFirstInComponents/__snapshots__/basic.test.ts.snap b/tests/spec/enumNotFirstInComponents/__snapshots__/basic.test.ts.snap index c29e1c88..1fda2f01 100644 --- a/tests/spec/enumNotFirstInComponents/__snapshots__/basic.test.ts.snap +++ b/tests/spec/enumNotFirstInComponents/__snapshots__/basic.test.ts.snap @@ -164,8 +164,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -176,7 +180,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/extractRequestBody/__snapshots__/basic.test.ts.snap b/tests/spec/extractRequestBody/__snapshots__/basic.test.ts.snap index 91bc048b..44ff1425 100644 --- a/tests/spec/extractRequestBody/__snapshots__/basic.test.ts.snap +++ b/tests/spec/extractRequestBody/__snapshots__/basic.test.ts.snap @@ -305,8 +305,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -317,7 +321,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/extractRequestParams/__snapshots__/basic.test.ts.snap b/tests/spec/extractRequestParams/__snapshots__/basic.test.ts.snap index 186ea7f5..314dccef 100644 --- a/tests/spec/extractRequestParams/__snapshots__/basic.test.ts.snap +++ b/tests/spec/extractRequestParams/__snapshots__/basic.test.ts.snap @@ -209,8 +209,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -221,7 +225,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/extractResponseBody/__snapshots__/basic.test.ts.snap b/tests/spec/extractResponseBody/__snapshots__/basic.test.ts.snap index c2aa9c9c..17f4632b 100644 --- a/tests/spec/extractResponseBody/__snapshots__/basic.test.ts.snap +++ b/tests/spec/extractResponseBody/__snapshots__/basic.test.ts.snap @@ -289,8 +289,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -301,7 +305,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/extractResponseError/__snapshots__/basic.test.ts.snap b/tests/spec/extractResponseError/__snapshots__/basic.test.ts.snap index 15e631b1..4154f787 100644 --- a/tests/spec/extractResponseError/__snapshots__/basic.test.ts.snap +++ b/tests/spec/extractResponseError/__snapshots__/basic.test.ts.snap @@ -284,8 +284,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -296,7 +300,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/jsAxios/__snapshots__/basic.test.ts.snap b/tests/spec/jsAxios/__snapshots__/basic.test.ts.snap index a1e3fc78..055002ec 100644 --- a/tests/spec/jsAxios/__snapshots__/basic.test.ts.snap +++ b/tests/spec/jsAxios/__snapshots__/basic.test.ts.snap @@ -80,8 +80,11 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input) => { + if (input instanceof FormData) { + return input; + } + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -92,7 +95,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input) => this.toQueryString(input), }; mergeRequestParams(params1, params2) { 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 05bfae3e..12647a1d 100644 --- a/tests/spec/jsonapi-media-type/__snapshots__/basic.test.ts.snap +++ b/tests/spec/jsonapi-media-type/__snapshots__/basic.test.ts.snap @@ -150,8 +150,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -162,7 +166,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/moduleNameFirstTag/__snapshots__/basic.test.ts.snap b/tests/spec/moduleNameFirstTag/__snapshots__/basic.test.ts.snap index f201e51e..53203d2f 100644 --- a/tests/spec/moduleNameFirstTag/__snapshots__/basic.test.ts.snap +++ b/tests/spec/moduleNameFirstTag/__snapshots__/basic.test.ts.snap @@ -259,8 +259,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -271,7 +275,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/moduleNameIndex/__snapshots__/basic.test.ts.snap b/tests/spec/moduleNameIndex/__snapshots__/basic.test.ts.snap index 201f1a46..a8a7798a 100644 --- a/tests/spec/moduleNameIndex/__snapshots__/basic.test.ts.snap +++ b/tests/spec/moduleNameIndex/__snapshots__/basic.test.ts.snap @@ -259,8 +259,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -271,7 +275,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; 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 74571a09..e2f238bb 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 @@ -134,8 +134,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -146,7 +150,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; 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 8a01e775..bb089f9f 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 @@ -172,8 +172,12 @@ export class HttpClient { [ContentType.Json]: (input:any) => input !== null && (typeof input === "object" || typeof input === "string") ? JSON.stringify(input) : input, [ContentType.JsonApi]: (input:any) => input !== null && (typeof input === "object" || typeof input === "string") ? JSON.stringify(input) : input, [ContentType.Text]: (input:any) => input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -184,7 +188,8 @@ export class HttpClient { \`\${property}\` ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), } diff --git a/tests/spec/patch/__snapshots__/basic.test.ts.snap b/tests/spec/patch/__snapshots__/basic.test.ts.snap index 1071ae26..7f4ce2ff 100644 --- a/tests/spec/patch/__snapshots__/basic.test.ts.snap +++ b/tests/spec/patch/__snapshots__/basic.test.ts.snap @@ -1891,8 +1891,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -1903,7 +1907,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/responses/__snapshots__/basic.test.ts.snap b/tests/spec/responses/__snapshots__/basic.test.ts.snap index 696057c0..95cbdfcc 100644 --- a/tests/spec/responses/__snapshots__/basic.test.ts.snap +++ b/tests/spec/responses/__snapshots__/basic.test.ts.snap @@ -174,8 +174,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -186,7 +190,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/singleHttpClient/__snapshots__/basic.test.ts.snap b/tests/spec/singleHttpClient/__snapshots__/basic.test.ts.snap index 378ad16b..6e893adc 100644 --- a/tests/spec/singleHttpClient/__snapshots__/basic.test.ts.snap +++ b/tests/spec/singleHttpClient/__snapshots__/basic.test.ts.snap @@ -134,8 +134,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -146,7 +150,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/sortTypes-false/__snapshots__/basic.test.ts.snap b/tests/spec/sortTypes-false/__snapshots__/basic.test.ts.snap index 4ccf2758..f3d801b7 100644 --- a/tests/spec/sortTypes-false/__snapshots__/basic.test.ts.snap +++ b/tests/spec/sortTypes-false/__snapshots__/basic.test.ts.snap @@ -1891,8 +1891,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -1903,7 +1907,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/sortTypes/__snapshots__/basic.test.ts.snap b/tests/spec/sortTypes/__snapshots__/basic.test.ts.snap index e9161f97..407884a9 100644 --- a/tests/spec/sortTypes/__snapshots__/basic.test.ts.snap +++ b/tests/spec/sortTypes/__snapshots__/basic.test.ts.snap @@ -1891,8 +1891,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -1903,7 +1907,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/typeSuffixPrefix/__snapshots__/basic.test.ts.snap b/tests/spec/typeSuffixPrefix/__snapshots__/basic.test.ts.snap index fdb52beb..8c404390 100644 --- a/tests/spec/typeSuffixPrefix/__snapshots__/basic.test.ts.snap +++ b/tests/spec/typeSuffixPrefix/__snapshots__/basic.test.ts.snap @@ -1903,8 +1903,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -1915,7 +1919,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; diff --git a/tests/spec/unionEnums/__snapshots__/basic.test.ts.snap b/tests/spec/unionEnums/__snapshots__/basic.test.ts.snap index 50811cc8..78c8353b 100644 --- a/tests/spec/unionEnums/__snapshots__/basic.test.ts.snap +++ b/tests/spec/unionEnums/__snapshots__/basic.test.ts.snap @@ -146,8 +146,12 @@ export class HttpClient { input !== null && typeof input !== "string" ? JSON.stringify(input) : input, - [ContentType.FormData]: (input: any) => - Object.keys(input || {}).reduce((formData, key) => { + [ContentType.FormData]: (input: any) => { + if (input instanceof FormData) { + return input; + } + + return Object.keys(input || {}).reduce((formData, key) => { const property = input[key]; formData.append( key, @@ -158,7 +162,8 @@ export class HttpClient { : \`\${property}\`, ); return formData; - }, new FormData()), + }, new FormData()); + }, [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input), }; From 25e12e34bfcda25c0f18c33695abdc3733ab584f Mon Sep 17 00:00:00 2001 From: Sora Morimoto Date: Fri, 8 Aug 2025 20:39:41 +0900 Subject: [PATCH 3/3] Changeset Signed-off-by: Sora Morimoto --- .changeset/loud-dancers-shake.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .changeset/loud-dancers-shake.md diff --git a/.changeset/loud-dancers-shake.md b/.changeset/loud-dancers-shake.md new file mode 100644 index 00000000..3efbe6a4 --- /dev/null +++ b/.changeset/loud-dancers-shake.md @@ -0,0 +1,19 @@ +--- +"swagger-typescript-api": patch +--- + +Fix handling of FormData inputs in Fetch HTTP client + +Previously, when users passed a `FormData` object directly to the Fetch +client's `multipart/form-data` formatter, it would incorrectly attempt to use +`Object.keys()` on the FormData instance, which returns an empty array. This +caused the FormData to be processed incorrectly. + +The fix adds a type check to return FormData instances unchanged, allowing +users to have full control over FormData construction when needed whilst +maintaining backwards compatibility for object inputs. This aligns the Fetch +client behaviour with the existing Axios client implementation. + +This resolves issues where users needed to send multipart requests with +multiple entries for the same key, which is only possible with direct FormData +manipulation.