Files
Basilosaurusrex f027651f9b main repo
2025-11-24 18:09:40 +01:00

73 lines
2.1 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
searchParamsToUrlQuery: null,
urlQueryToSearchParams: null,
assign: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
searchParamsToUrlQuery: function() {
return searchParamsToUrlQuery;
},
urlQueryToSearchParams: function() {
return urlQueryToSearchParams;
},
assign: function() {
return assign;
}
});
function searchParamsToUrlQuery(searchParams) {
const query = {};
searchParams.forEach((value, key)=>{
if (typeof query[key] === "undefined") {
query[key] = value;
} else if (Array.isArray(query[key])) {
query[key].push(value);
} else {
query[key] = [
query[key],
value
];
}
});
return query;
}
function stringifyUrlQueryParam(param) {
if (typeof param === "string" || typeof param === "number" && !isNaN(param) || typeof param === "boolean") {
return String(param);
} else {
return "";
}
}
function urlQueryToSearchParams(urlQuery) {
const result = new URLSearchParams();
Object.entries(urlQuery).forEach((param)=>{
let [key, value] = param;
if (Array.isArray(value)) {
value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));
} else {
result.set(key, stringifyUrlQueryParam(value));
}
});
return result;
}
function assign(target) {
for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
searchParamsList[_key - 1] = arguments[_key];
}
searchParamsList.forEach((searchParams)=>{
Array.from(searchParams.keys()).forEach((key)=>target.delete(key));
searchParams.forEach((value, key)=>target.append(key, value));
});
return target;
}
//# sourceMappingURL=querystring.js.map