Spaces:
Running
Running
| ; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| 0 && (module.exports = { | |
| assign: null, | |
| searchParamsToUrlQuery: null, | |
| urlQueryToSearchParams: null | |
| }); | |
| function _export(target, all) { | |
| for(var name in all)Object.defineProperty(target, name, { | |
| enumerable: true, | |
| get: all[name] | |
| }); | |
| } | |
| _export(exports, { | |
| assign: function() { | |
| return assign; | |
| }, | |
| searchParamsToUrlQuery: function() { | |
| return searchParamsToUrlQuery; | |
| }, | |
| urlQueryToSearchParams: function() { | |
| return urlQueryToSearchParams; | |
| } | |
| }); | |
| function searchParamsToUrlQuery(searchParams) { | |
| const query = {}; | |
| for (const [key, value] of searchParams.entries()){ | |
| const existing = query[key]; | |
| if (typeof existing === 'undefined') { | |
| query[key] = value; | |
| } else if (Array.isArray(existing)) { | |
| existing.push(value); | |
| } else { | |
| query[key] = [ | |
| existing, | |
| value | |
| ]; | |
| } | |
| } | |
| return query; | |
| } | |
| function stringifyUrlQueryParam(param) { | |
| if (typeof param === 'string') { | |
| return param; | |
| } | |
| if (typeof param === 'number' && !isNaN(param) || typeof param === 'boolean') { | |
| return String(param); | |
| } else { | |
| return ''; | |
| } | |
| } | |
| function urlQueryToSearchParams(query) { | |
| const searchParams = new URLSearchParams(); | |
| for (const [key, value] of Object.entries(query)){ | |
| if (Array.isArray(value)) { | |
| for (const item of value){ | |
| searchParams.append(key, stringifyUrlQueryParam(item)); | |
| } | |
| } else { | |
| searchParams.set(key, stringifyUrlQueryParam(value)); | |
| } | |
| } | |
| return searchParams; | |
| } | |
| function assign(target, ...searchParamsList) { | |
| for (const searchParams of searchParamsList){ | |
| for (const key of searchParams.keys()){ | |
| target.delete(key); | |
| } | |
| for (const [key, value] of searchParams.entries()){ | |
| target.append(key, value); | |
| } | |
| } | |
| return target; | |
| } | |
| //# sourceMappingURL=querystring.js.map |