@wordpress/url
Version:
WordPress URL utilities.
27 lines (26 loc) • 789 B
JavaScript
// packages/url/src/build-query-string.ts
function buildQueryString(data) {
let string = "";
const stack = Object.entries(data);
let pair;
while (pair = stack.shift()) {
let [key, value] = pair;
const hasNestedData = Array.isArray(value) || value && value.constructor === Object;
if (hasNestedData) {
const valuePairs = Object.entries(value).reverse();
for (const [member, memberValue] of valuePairs) {
stack.unshift([`${key}[${member}]`, memberValue]);
}
} else if (value !== void 0) {
if (value === null) {
value = "";
}
string += "&" + [key, String(value)].map(encodeURIComponent).join("=");
}
}
return string.substr(1);
}
export {
buildQueryString
};
//# sourceMappingURL=build-query-string.mjs.map