fe-essential-utils
Version:
Essential utils for front-end development
1 lines • 2.7 kB
JavaScript
var _UrlUtils;function _defineProperty(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.UrlUtils=void 0;var URL_PARAM_PREFIX="#/?",addQueryStringParameter=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e||(e=window.location.href),""!==r&&""!==t&&(e=-1!==e.indexOf(URL_PARAM_PREFIX)?e.concat(e.length!==URL_PARAM_PREFIX.length?"&":"",r,"=",t):e.concat(URL_PARAM_PREFIX,r,"=",t)),e},removeQueryStringParameter=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";e||(e=window.location.href);var t,a=e.split("?")[0],n=[],i=-1!==e.indexOf("?")?e.split("?")[1]:"";if(""!==i){n=i.split("&");for(var l=n.length-1;l>=0;l-=1)t=n[l].split("=")[0],t===r&&n.splice(l,1);a=a+"?"+n.join("&")}return a},replaceQueryStringParameter=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(e||(e=window.location.href),""!==r){-1===e.indexOf(URL_PARAM_PREFIX)&&(e=e.concat(URL_PARAM_PREFIX));var a=-1,n=e.split("#");if(n[1]&&""!==n[1]){if(a=n[1].indexOf(r),-1!==a){var i=n[1].indexOf("&",a),l=-1===i?n[1].slice(a):n[1].slice(a,i),o=r.concat("=").concat(t);n[1]=n[1].replace(l,o),n[1]="#".concat(n[1])}else n[1]=addQueryStringParameter("#".concat(n[1]),r,t);e=n[0].concat(n[1])}else n[0]=addQueryStringParameter(n[0],r,t),e=n[0]}return e},getQueryStringParameter=function(e,r){r||(r=window.location.href),e=e.replace(/[\]]/g,"\\$&");var t=new RegExp("[?&]"+e+"(=([^&#]*)|&|#|$)"),a=t.exec(r);return a?a[2]?decodeURIComponent(a[2]):"":null},updateHashParams=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=window.location.hash;if(""===r&&(t=removeQueryStringParameter(null,e)),""!==e){-1===t.indexOf(URL_PARAM_PREFIX)&&(t=t.concat(URL_PARAM_PREFIX));var a=-1,n=t.split("#");if(n[1]&&""!==n[1]){if(a=n[1].indexOf(e),-1!==a){var i=n[1].indexOf("&",a),l=-1===i?n[1].slice(a):n[1].slice(a,i),o=e.concat("=").concat(r);n[1]=n[1].replace(l,o),n[1]="#".concat(n[1])}else n[1]=addQueryStringParameter("#".concat(n[1]),e,r);t=n[1]}}return t},UrlUtils=(_UrlUtils={getQueryStringParameter:getQueryStringParameter,removeQueryStringParameter:removeQueryStringParameter,replaceQueryStringParameter:replaceQueryStringParameter},_defineProperty(_UrlUtils,"getQueryStringParameter",getQueryStringParameter),_defineProperty(_UrlUtils,"updateHashParams",updateHashParams),_UrlUtils);exports.UrlUtils=UrlUtils;
;