UNPKG

@rcsb/rcsb-saguaro-app

Version:
32 lines 1.47 kB
export var UrlTools; (function (UrlTools) { function encodeUrlParameterList(paramList) { const urlParams = []; paramList.filter(p => p.value).forEach(p => { urlParams.push(`${p.key}=${encode(p.value)}`); }); globalThis === null || globalThis === void 0 ? void 0 : globalThis.history.replaceState(null, "", "?" + urlParams.join("&")); } UrlTools.encodeUrlParameterList = encodeUrlParameterList; function encodeUrlParameter(key, value) { globalThis === null || globalThis === void 0 ? void 0 : globalThis.history.replaceState(null, "", "?" + (value ? `${key}=${encode(value)}` : "")); } UrlTools.encodeUrlParameter = encodeUrlParameter; function decodeUrlParameters() { var _a; return (_a = parseUrlParameters()) === null || _a === void 0 ? void 0 : _a.map(param => ({ key: param.key, value: JSON.parse(decodeURIComponent(param.value)) })); } UrlTools.decodeUrlParameters = decodeUrlParameters; function parseUrlParameters() { if (globalThis.window.location.search.length === 0) return; return globalThis.window.location.search.substring(1) .split("&") .map((param) => (param.split("="))) .map((param) => ({ key: param[0], value: param[1] })); } function encode(p) { return encodeURIComponent(JSON.stringify(p)); } })(UrlTools || (UrlTools = {})); //# sourceMappingURL=UrlTools.js.map