forked from webduinoio/webduino-blockly
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathquerystring.min.js
More file actions
1 lines (1 loc) · 1.45 KB
/
querystring.min.js
File metadata and controls
1 lines (1 loc) · 1.45 KB
1
+function(t){"use strict";function r(t){this.dict={},t||(t=n.search),"?"==t.charAt(0)&&(t=t.substring(1));for(var e,i=/([^=&]+)(=([^&]*))?/g;e=i.exec(t);){var o=decodeURIComponent(e[1].replace(/\+/g," ")),c=e[3]?r.decode(e[3]):"";this.dict[o]?this.dict[o].push(c):this.dict[o]=[c]}}function e(t,r){var e="?"+t.toString();if(r)n.search=e;else{var o=i.state||{};o.page=e,i.pushState(o,null,e+n.hash)}}var n=t.location,i=t.history;r.decode=function(t){return t=t.replace(/\+/g," "),t=t.replace(/%([EF][0-9A-F])%([89AB][0-9A-F])%([89AB][0-9A-F])/gi,function(t,r,e,n){var i=parseInt(r,16)-224,o=parseInt(e,16)-128;if(0==i&&32>o)return t;var c=parseInt(n,16)-128,a=(i<<12)+(o<<6)+c;return a>65535?t:String.fromCharCode(a)}),t=t.replace(/%([CD][0-9A-F])%([89AB][0-9A-F])/gi,function(t,r,e){var n=parseInt(r,16)-192;if(2>n)return t;var i=parseInt(e,16)-128;return String.fromCharCode((n<<6)+i)}),t=t.replace(/%([0-7][0-9A-F])/gi,function(t,r){return String.fromCharCode(parseInt(r,16))})},r.prototype.get=function(t){var r=this.dict[t];return Array.isArray(r)?r[r.length-1]:r},r.prototype.set=function(t,r,n){this.dict[t]=r,e(this,n)},r.prototype.unset=function(t,r){delete this.dict[t],e(this,r)},r.prototype.values=function(t){var r=this.dict[t];return r?r:[]},r.prototype.keys=function(){var t=[];for(var r in this.dict)t.push(r);return t},r.prototype.toString=function(){return Object.keys(this.dict).map(function(t){return t+"="+this.dict[t]}.bind(this)).join("&")},t.QueryString=r}(window);