UNPKG

@shopgate/pwa-common

Version:

Common library for the Shopgate Connect PWA.

15 lines 2.03 kB
function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import{createBrowserHistory}from'history';import URLSearchParams from'url-search-params';import{router}from'@virtuous/conductor';var match=/^(.*)index.html/.exec(window.location.pathname);var getCurrentRoute=router.getCurrentRoute;/** * @deprecated */export{getCurrentRoute,router};/** * Creates the router history. * @returns {Object} */export var history=function history(){return createBrowserHistory({basename:match?match[0]:''});};/** * Transforms a given URL query string to an object. * @param {string} queryString An URL query string. * @returns {Object} */export var parseQueryStringToObject=function parseQueryStringToObject(){var queryString=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(!queryString){return{};}var urlParams=new URLSearchParams(queryString);var keys=Array.from(urlParams.keys());return keys.reduce(function(obj,key){return _extends({},obj,_defineProperty({},key,urlParams.get(key)));},{});};/** * Transforms a given object to an URL query string. * @param {Object} obj An object with keys/values. * @param {boolean} [includePrefix=true] If true a `?` is prefixed. * @returns {string} */export var parseObjectToQueryString=function parseObjectToQueryString(obj){var includePrefix=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;if(!obj){return'';}var urlParams=new URLSearchParams();var keys=Object.keys(obj);if(keys.length===0){return'';}keys.forEach(function(key){return urlParams.set(key,obj[key]);});if(includePrefix){return"?".concat(urlParams.toString());}return urlParams.toString();};