{"version":3,"file":"../../javascript/url.js","names":["URN","build","parts","url","path","querystring","replace","hash","toString","split","length","paramsToQueryString","params","pairs","key","val","undefined","push","encodeURIComponent","join","queryStringToParams","queryString","indexOf","i","pair","decodeURIComponent","setQueryStringParam","value","this"],"sources":["url.js"],"mappings":"AAAA,IAAIA,IAAM,CACNC,MAAO,SAASC,GACZ,IAAIC,EAAMD,EAAME,KAYhB,OAVAF,EAAMG,YAAcH,EAAMG,YAAYC,QAAQ,IAAK,IACzB,KAAtBJ,EAAMG,cACNF,GAAO,IAAMD,EAAMG,aAGvBH,EAAMK,KAAOL,EAAMK,KAAKD,QAAQ,IAAK,IAClB,KAAfJ,EAAMK,OACNJ,GAAO,IAAMD,EAAMK,MAGhBJ,CACX,EAEAD,MAAO,SAASC,GACZ,IAAID,EAAQC,EAAIK,WAAWC,MAAM,KACjCN,EAAMD,EAAM,GACZ,IAAIK,EAAOL,EAAMQ,OAAS,EAAI,IAAMR,EAAM,GAAK,GAM/C,MAAO,CAACE,MAJRF,EAAQC,EAAIM,MAAM,MACD,GAGKJ,YAFXH,EAAMQ,OAAS,EAAIR,EAAM,GAAK,GAEAK,KAAQA,EACrD,EAEAI,oBAAqB,SAASC,GAC1B,IAAIC,EAAQ,GACZ,IAAK,IAAIC,KAAOF,EAAQ,CACpB,IAAIG,EAAMH,EAAOE,GAEN,IAAPA,GAAoB,MAAPC,GAAsBC,MAAPD,GAA2B,IAAPA,GAChDF,EAAMI,KAAKC,mBAAmBJ,GAAO,IAAMI,mBAAmBN,EAAOE,IAE7E,CAEA,OAAID,EAAMH,OAAS,EACR,IAAMG,EAAMM,KAAK,KAEjB,EAEf,EAEAC,oBAAqB,SAASC,GAC1B,GAAIA,EAAYC,QAAQ,MAAQ,EACxBD,EAAcA,EAAYZ,MAAM,KAAK,GAG7C,IAAII,EAAQQ,EAAYZ,MAAM,KAE9BG,OAAS,GACT,IAAK,IAAIW,EAAE,EAAGA,EAAEV,EAAMH,OAAQa,IAAK,CAC/B,IAAIC,EAAOX,EAAMU,GAAGd,MAAM,KAC1BG,OAAOa,mBAAmBD,EAAK,KAAOC,mBAAmBD,EAAK,GAClE,CAEA,OAAOZ,MACX,EAEAc,oBAAqB,SAASL,EAAaP,EAAKa,GAC5C,IAAIf,EAASgB,KAAKR,oBAAoBC,GAQtC,OANa,MAATM,SACOf,EAAOE,GAEdF,EAAOE,GAAOa,EAGXC,KAAKjB,oBAAoBC,EACpC","ignoreList":[],"sourceRoot":"../../../../resources/javascript","sourcesContent":["var URN = {\n    build: function(parts) {\n        var url = parts.path;\n\n        parts.querystring = parts.querystring.replace('?', '');\n        if (parts.querystring !== '') {\n            url += '?' + parts.querystring;\n        }\n\n        parts.hash = parts.hash.replace('#', '');\n        if (parts.hash !== '') {\n            url += '#' + parts.hash;\n        }\n\n        return url;\n    },\n\n    parts: function(url) {\n        var parts = url.toString().split('#');\n        url = parts[0];\n        var hash = parts.length > 1 ? '#' + parts[1] : '';\n\n        parts = url.split('?');\n        var path = parts[0];\n        var qs   = parts.length > 1 ? parts[1] : '';\n\n        return {'path': path, 'querystring': qs, 'hash': hash};\n    },\n\n    paramsToQueryString: function(params) {\n        var pairs = [];\n        for (var key in params) {\n            var val = params[key];\n\n            if (key != '' && val != null && val != undefined && val != '') {\n                pairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(params[key]));\n            }\n        }\n\n        if (pairs.length > 0) {\n            return '?' + pairs.join('&');\n        } else {\n            return '';\n        }\n    },\n\n    queryStringToParams: function(queryString) {\n        if (queryString.indexOf('?') > -1) {\n            var queryString = queryString.split('?')[1];\n        }\n\n        var pairs = queryString.split('&');\n\n        params = [];\n        for (var i=0; i<pairs.length; i++) {\n            var pair = pairs[i].split('=');\n            params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n        }\n\n        return params;\n    },\n\n    setQueryStringParam: function(queryString, key, value) {\n        var params = this.queryStringToParams(queryString);\n\n        if (value == null) {\n            delete params[key];\n        } else {\n            params[key] = value;\n        }\n\n        return this.paramsToQueryString(params);\n    },\n};\n"]}