[typescript-axios] Support array query arguments (#8772)

* [typescript-axios] Support array query arguments

typescript-axios does not correctly output query arguments when you use `explode: true` for a parameter.

fixes #7966
fixes #7973

* Fix mistake in query parameter setting
This commit is contained in:
Daniel Friesen 2021-02-21 08:27:46 -08:00 committed by GitHub
parent a9e797c6ca
commit 047a71c574
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 72 additions and 9 deletions

View File

@ -80,7 +80,14 @@ export const setSearchParams = function (url: URL, ...objects: any[]) {
const searchParams = new URLSearchParams(url.search); const searchParams = new URLSearchParams(url.search);
for (const object of objects) { for (const object of objects) {
for (const key in object) { for (const key in object) {
searchParams.set(key, object[key]); if (Array.isArray(object[key])) {
searchParams.delete(key);
for (const item of object[key]) {
searchParams.append(key, item);
}
} else {
searchParams.set(key, object[key]);
}
} }
} }
url.search = searchParams.toString(); url.search = searchParams.toString();

View File

@ -91,7 +91,14 @@ export const setSearchParams = function (url: URL, ...objects: any[]) {
const searchParams = new URLSearchParams(url.search); const searchParams = new URLSearchParams(url.search);
for (const object of objects) { for (const object of objects) {
for (const key in object) { for (const key in object) {
searchParams.set(key, object[key]); if (Array.isArray(object[key])) {
searchParams.delete(key);
for (const item of object[key]) {
searchParams.append(key, item);
}
} else {
searchParams.set(key, object[key]);
}
} }
} }
url.search = searchParams.toString(); url.search = searchParams.toString();

View File

@ -91,7 +91,14 @@ export const setSearchParams = function (url: URL, ...objects: any[]) {
const searchParams = new URLSearchParams(url.search); const searchParams = new URLSearchParams(url.search);
for (const object of objects) { for (const object of objects) {
for (const key in object) { for (const key in object) {
searchParams.set(key, object[key]); if (Array.isArray(object[key])) {
searchParams.delete(key);
for (const item of object[key]) {
searchParams.append(key, item);
}
} else {
searchParams.set(key, object[key]);
}
} }
} }
url.search = searchParams.toString(); url.search = searchParams.toString();

View File

@ -91,7 +91,14 @@ export const setSearchParams = function (url: URL, ...objects: any[]) {
const searchParams = new URLSearchParams(url.search); const searchParams = new URLSearchParams(url.search);
for (const object of objects) { for (const object of objects) {
for (const key in object) { for (const key in object) {
searchParams.set(key, object[key]); if (Array.isArray(object[key])) {
searchParams.delete(key);
for (const item of object[key]) {
searchParams.append(key, item);
}
} else {
searchParams.set(key, object[key]);
}
} }
} }
url.search = searchParams.toString(); url.search = searchParams.toString();

View File

@ -91,7 +91,14 @@ export const setSearchParams = function (url: URL, ...objects: any[]) {
const searchParams = new URLSearchParams(url.search); const searchParams = new URLSearchParams(url.search);
for (const object of objects) { for (const object of objects) {
for (const key in object) { for (const key in object) {
searchParams.set(key, object[key]); if (Array.isArray(object[key])) {
searchParams.delete(key);
for (const item of object[key]) {
searchParams.append(key, item);
}
} else {
searchParams.set(key, object[key]);
}
} }
} }
url.search = searchParams.toString(); url.search = searchParams.toString();

View File

@ -91,7 +91,14 @@ export const setSearchParams = function (url: URL, ...objects: any[]) {
const searchParams = new URLSearchParams(url.search); const searchParams = new URLSearchParams(url.search);
for (const object of objects) { for (const object of objects) {
for (const key in object) { for (const key in object) {
searchParams.set(key, object[key]); if (Array.isArray(object[key])) {
searchParams.delete(key);
for (const item of object[key]) {
searchParams.append(key, item);
}
} else {
searchParams.set(key, object[key]);
}
} }
} }
url.search = searchParams.toString(); url.search = searchParams.toString();

View File

@ -91,7 +91,14 @@ export const setSearchParams = function (url: URL, ...objects: any[]) {
const searchParams = new URLSearchParams(url.search); const searchParams = new URLSearchParams(url.search);
for (const object of objects) { for (const object of objects) {
for (const key in object) { for (const key in object) {
searchParams.set(key, object[key]); if (Array.isArray(object[key])) {
searchParams.delete(key);
for (const item of object[key]) {
searchParams.append(key, item);
}
} else {
searchParams.set(key, object[key]);
}
} }
} }
url.search = searchParams.toString(); url.search = searchParams.toString();

View File

@ -91,7 +91,14 @@ export const setSearchParams = function (url: URL, ...objects: any[]) {
const searchParams = new URLSearchParams(url.search); const searchParams = new URLSearchParams(url.search);
for (const object of objects) { for (const object of objects) {
for (const key in object) { for (const key in object) {
searchParams.set(key, object[key]); if (Array.isArray(object[key])) {
searchParams.delete(key);
for (const item of object[key]) {
searchParams.append(key, item);
}
} else {
searchParams.set(key, object[key]);
}
} }
} }
url.search = searchParams.toString(); url.search = searchParams.toString();

View File

@ -91,7 +91,14 @@ export const setSearchParams = function (url: URL, ...objects: any[]) {
const searchParams = new URLSearchParams(url.search); const searchParams = new URLSearchParams(url.search);
for (const object of objects) { for (const object of objects) {
for (const key in object) { for (const key in object) {
searchParams.set(key, object[key]); if (Array.isArray(object[key])) {
searchParams.delete(key);
for (const item of object[key]) {
searchParams.append(key, item);
}
} else {
searchParams.set(key, object[key]);
}
} }
} }
url.search = searchParams.toString(); url.search = searchParams.toString();