{"mappings":"ymBACA,IAAAA,EAAAC,EAAA,sBAOO,MAuBMC,EAAiBC,IAC5B,IAAKA,EACH,MAAO,GAET,MAAMC,EAAUC,EAAAC,GAAGC,UAAUJ,GAE7B,MAAO,GADGC,EAAU,IAAM,KACZA,KAGHI,EAAsB,CACjCC,EACAC,EACAC,EAAsBC,OAAOC,SAASC,OACtCC,GAAwB,KAExBC,EAAqB,CAAEP,CAACA,GAAMC,GAASC,EAAaI,IAGzCC,EAAuB,CAClCC,EACAN,EAAsBC,OAAOC,SAASC,OACtCC,GAAwB,KAExB,MAAMZ,EAASE,EAAAC,GAAGY,MAAMP,GA9CqB,EAC7CP,EACAW,GAAwB,KAExB,GAAIH,OAAOC,SAASC,SAAWV,EAC7B,OAGF,MAAMe,EACJP,OAAOC,SAASO,SAChB,KACAR,OAAOC,SAASQ,KAChBT,OAAOC,SAASS,SAChBlB,GAEDW,EAAeH,OAAOW,QAAQR,aAAeH,OAAOW,QAAQC,WAAWC,KACtEb,OAAOW,QACP,CAAEG,KAAMP,GACR,GACAA,IA6BFQ,CADmBzB,EAAcG,EAAAL,EAAA,CAAA,GAAKG,EAAWc,IACLF,IAGjCa,EAAsB,CACjCnB,EACAE,EAAsBC,OAAOC,SAASC,UAEtC,IAEE,OADaT,EAAAC,GAAGY,MAAMP,GACRF,GAEhB,MAAOoB,GACLC,QAAQC,IAAIF,KAgBHG,EAAYC,IACvB,MAAMC,EAASC,SAASC,cAAc,KACtCF,EAAOG,KAAOJ,EACd,MAAMK,EAAejC,EAAAC,GAAGY,MAAMgB,EAAOpB,QAErC,MAAO,CACLM,SAAUc,EAAOd,SACjBC,KAAMa,EAAOb,KACbkB,SAAUL,EAAOK,SACjBC,KAAMN,EAAOM,KACblB,SAAUY,EAAOZ,SACjBR,OAAQoB,EAAOpB,oBACfwB,EACAG,KAAMP,EAAOO","sources":["scripts/src/react/utils/queryString.ts"],"sourcesContent":["// Vendor\r\nimport qs from \"query-string\";\r\n\r\nexport interface IKeyValueObject {\r\n [key: string]: string | null;\r\n}\r\n\r\n// https://medium.com/swlh/using-react-hooks-to-sync-your-component-state-with-the-url-query-string-81ccdfcb174f\r\nexport const setQueryStringWithoutPageReload = (\r\n qsValue: string,\r\n replaceState: boolean = false\r\n) => {\r\n if (window.location.search === qsValue) {\r\n return;\r\n }\r\n\r\n const newurl =\r\n window.location.protocol +\r\n \"//\" +\r\n window.location.host +\r\n window.location.pathname +\r\n qsValue;\r\n\r\n (replaceState ? window.history.replaceState : window.history.pushState).call(\r\n window.history,\r\n { path: newurl },\r\n \"\",\r\n newurl\r\n );\r\n};\r\n\r\nexport const toQueryString = (values?: IKeyValueObject) => {\r\n if (!values) {\r\n return \"\";\r\n }\r\n const qsValue = qs.stringify(values);\r\n const q = qsValue ? \"?\" : \"\";\r\n return `${q}${qsValue}`;\r\n};\r\n\r\nexport const setQueryStringValue = (\r\n key: string,\r\n value: string,\r\n queryString: string = window.location.search,\r\n replaceState: boolean = false\r\n) => {\r\n setQueryStringValues({ [key]: value }, queryString, replaceState);\r\n};\r\n\r\nexport const setQueryStringValues = (\r\n options: IKeyValueObject,\r\n queryString: string = window.location.search,\r\n replaceState: boolean = false\r\n) => {\r\n const values = qs.parse(queryString);\r\n const newQsValue = toQueryString({ ...values, ...options });\r\n setQueryStringWithoutPageReload(newQsValue, replaceState);\r\n};\r\n\r\nexport const getQueryStringValue = (\r\n key: string,\r\n queryString: string = window.location.search\r\n) => {\r\n try {\r\n var values = qs.parse(queryString);\r\n return values[key];\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n};\r\n\r\nexport const getQueryStringValues = (\r\n keys: string[],\r\n queryString: string = window.location.search\r\n) => {\r\n const values = qs.parse(queryString);\r\n let valuesArray = [];\r\n for (let i = 0; i < keys.length; i++) {\r\n valuesArray.push(values[keys[i]]);\r\n }\r\n return valuesArray;\r\n};\r\n\r\nexport const parseUrl = (url: string) => {\r\n const parser = document.createElement(\"a\");\r\n parser.href = url;\r\n const searchObject = qs.parse(parser.search);\r\n\r\n return {\r\n protocol: parser.protocol,\r\n host: parser.host,\r\n hostname: parser.hostname,\r\n port: parser.port,\r\n pathname: parser.pathname,\r\n search: parser.search,\r\n searchObject,\r\n hash: parser.hash\r\n };\r\n};\r\n"],"names":["$7oZCY","parcelRequire","$1b1075c4f20722f2$export$249cc09c933c4d7a","values","qsValue","$parcel$interopDefault","$8arLK","stringify","$1b1075c4f20722f2$export$a96fe8d60ab88f9b","key","value","queryString","window","location","search","replaceState","$1b1075c4f20722f2$export$23147fd49f64d508","options","parse","newurl","protocol","host","pathname","history","pushState","call","path","$1b1075c4f20722f2$export$6bc3e2d360b51774","$1b1075c4f20722f2$export$5aceca89951644f3","e","console","log","$1b1075c4f20722f2$export$7a5253c0f62e0150","url","parser","document","createElement","href","searchObject","hostname","port","hash"],"version":3,"file":"hotspots.92981624.js.map"}