EmbyCrackedClient/web/modules/polyfills/urlsearchparams.js

1 line
6.3 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
var self=this||{};try{(URLSearchParams=>{if("+"!==new URLSearchParams("q=%2B").get("q")||"+"!==new URLSearchParams({q:"+"}).get("q")||"+"!==new URLSearchParams([["q","+"]]).get("q")||"q=%0A"!==new URLSearchParams("q=\n").toString()||"q=+%26"!==new URLSearchParams({q:" &"}).toString()||"q=%25zx"!==new URLSearchParams({q:"%zx"}).toString())throw URLSearchParams;self.URLSearchParams=URLSearchParams})(URLSearchParams)}catch(URLSearchParams){((Object,String,isArray)=>{var key,create=Object.create,defineProperty=Object.defineProperty,find=/[!'\(\)~]|%20|%00/g,findPercentSign=/%(?![0-9a-fA-F]{2})/g,plus=/\+/g,replace={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"},proto={append:function(key,value){appendTo(this._ungap,key,value)},delete:function(key){delete this._ungap[key]},get:function(key){return this.has(key)?this._ungap[key][0]:null},getAll:function(key){return this.has(key)?this._ungap[key].slice(0):[]},has:function(key){return key in this._ungap},set:function(key,value){this._ungap[key]=[String(value)]},forEach:function(callback,thisArg){var key,self=this;for(key in self._ungap)self._ungap[key].forEach(invoke,key);function invoke(value){callback.call(thisArg,value,String(key),self)}},toJSON:function(){return{}},toString:function(){var key,query=[];for(key in this._ungap)for(var encoded=encode(key),i=0,value=this._ungap[key];i<value.length;i++)query.push(encoded+"="+encode(value[i]));return query.join("&")}};for(key in proto)defineProperty(URLSearchParams.prototype,key,{configurable:!0,writable:!0,value:proto[key]});function URLSearchParams(query){var dict=create(null);switch(defineProperty(this,"_ungap",{value:dict}),!0){case!query:break;case"string"==typeof query:for(var pairs=(query="?"===query.charAt(0)?query.slice(1):query).split("&"),i=0,length=pairs.length;i<length;i++){var index=(value=pairs[i]).indexOf("=");-1<index?appendTo(dict,decode(value.slice(0,index)),decode(value.slice(index+1))):value.length&&appendTo(dict,decode(value),"")}break;case isArray(query):for(var value,i=0,length=query.length;i<length;i++)appendTo(dict,(value=query[i])[0],value[1]);break;case"forEach"in query:query.forEach(addEach,dict);break;default:for(var key in query)appendTo(dict,key,query[key])}}function addEach(value,key){appendTo(this,key,value)}function appendTo(dict,key,value){value=isArray(value)?value.join(","):value;key in dict?dict[key].push(value):dict[key]=[value]}function decode(str){return decodeURIComponent(str.replace(findPercentSign,"%25").replace(plus," "))}function encode(str){return encodeURIComponent(str).replace(find,replacer)}function replacer(match){return replace[match]}self.URLSearchParams=URLSearchParams})(Object,String,Array.isArray)}(URLSearchParamsProto=>{var iterable=!1;try{iterable=!!Symbol.iterator}catch(o_O){}function iterator(self,callback){var items=[];return self.forEach(callback,items),iterable?items[Symbol.iterator]():{next:function(){var value=items.shift();return{done:void 0===value,value:value}}}}"forEach"in URLSearchParamsProto||(URLSearchParamsProto.forEach=function(callback,thisArg){var self=this,names=Object.create(null);this.toString().replace(/=[\s\S]*?(?:&|$)/g,"=").split("=").forEach(function(name){!name.length||name in names||(names[name]=self.getAll(name)).forEach(function(value){callback.call(thisArg,value,name,self)})})}),"keys"in URLSearchParamsProto||(URLSearchParamsProto.keys=function(){return iterator(this,function(value,key){this.push(key)})}),"values"in URLSearchParamsProto||(URLSearchParamsProto.values=function(){return iterator(this,function(value,key){this.push(value)})}),"entries"in URLSearchParamsProto||(URLSearchParamsProto.entries=function(){return iterator(this,function(value,key){this.push([key,value])})}),!iterable||Symbol.iterator in URLSearchParamsProto||(URLSearchParamsProto[Symbol.iterator]=URLSearchParamsProto.entries),"sort"in URLSearchParamsProto||(URLSearchParamsProto.sort=function(){for(var i,key,value,entries=this.entries(),entry=entries.next(),done=entry.done,keys=[],values=Object.create(null);!done;)key=(value=entry.value)[0],keys.pu