EmbyCrackedClient/web/modules/alameda/alameda.js

1 line
7.6 KiB
JavaScript
Raw Normal View History

2025-06-25 11:46:04 +08:00
let undef,queue=[],urlRegExp=/^\/|\:|\?|\.js$/;function trimDots(ary){let i,part;var length=ary.length;for(i=0;i<length;i++)"."===(part=ary[i])?(ary.splice(i,1),--i):".."!==part||0===i||1===i&&".."===ary[2]||".."===ary[i-1]||0<i&&(ary.splice(i-1,2),i-=2)}function reject(d,err){d.rejected=!0,d.reject(err)}function splitPrefix(name){let prefix;var index=name?name.indexOf("!"):-1;return-1<index&&(prefix=name.substring(0,index),name=name.substring(index+1,name.length)),[prefix,name]}function makeErrback(d,name){return function(err){d.rejected||reject(d,err)}}let defined=Object.create(null),waiting=Object.create(null),config={baseUrl:"./"},mapCache=Object.create(null),deferreds=Object.create(null),calledDefine=Object.create(null),calledPlugin=Object.create(null),urlFetched=Object.create(null);function addUrlArgs(url){var args=config.urlArgs;return args?url+(-1===url.indexOf("?")?"?":"&")+args:url}let supportsCssVariables="undefined"!=typeof CSS&&CSS.supports&&CSS.supports("color","var(--fake-var)");function polyfillCssVars(link,loadFn){Emby.importModule("./modules/css-vars-ponyfill/css-vars-ponyfill.js").then(function(cssVars){cssVars({watch:!1,include:[link],onlyLegacy:!1,preserveVars:!1,shadowDOM:!1}),loadFn()})}function getXmlHttpRequestPromise(url){return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest;xhr.open("GET",url,!0),xhr.onload=function(e){resolve(this.response)},xhr.onerror=reject,xhr.send()})}let plugins={css:{load:function(url){if(config.noRequireCss)return Promise.resolve();url.endsWith(".css")||(console.log("require CSS url not ending with .css: "+url),url+=".css");let linkUrl=addUrlArgs(url=url.includes("://")?url:config.baseUrl+url);return new Promise(function(resolve,reject){var link=document.createElement("link");link.setAttribute("rel","stylesheet"),link.setAttribute("type","text/css"),supportsCssVariables||!url.includes("card.css")&&!url.includes("layout.css")?link.onload=resolve:link.onload=polyfillCssVars(link,resolve),link.setAttribute("href",linkUrl);try{document.head.appendChild(link)}catch(err){console.log("Error loading stylesheet"),reject(err)}})}},text:{load:function(url){return getXmlHttpRequestPromise(url=addUrlArgs(url=url.includes("://")?url:config.baseUrl+url))}}};function normalize(name,baseName){return name&&(trimDots(name="."===(name=name.split("/"))[0].charAt(0)&&(baseName=baseName?.split("/"))?baseName.slice(0,baseName.length-1).concat(name):name),name=name.join("/")),name}function takeQueue(anonId){let i,id,args;for(i=0;i<queue.length;i+=1){if("string"!=typeof queue[i][0]){if(!anonId)break;queue[i].unshift(anonId),anonId=undef}id=(args=queue.shift())[0],--i,id in defined||id in waiting||(id in deferreds?main.apply(undef,args):waiting[id]=args)}anonId&&main(anonId,[])}function defaultCallback(){return Array.prototype.slice.call(arguments,0)}function nameToUrl(moduleName){let url=moduleName;return addUrlArgs(url=urlRegExp.test(moduleName)?url:("/"===(url+=".js").charAt(0)||url.match(/^[\w\+\.\-]+:/)?"":config.baseUrl)+url)}function makeRequire(relName){return function(deps,callback){return callback=callback||defaultCallback,takeQueue(),main(undef,deps||[],callback,relName)}}function resolve(name,d,value){name&&(defined[name]=value),d.resolve(value)}function defineModule(d){let ret;var name=d.map.id;try{ret=d.factory.apply(defined[name],d.values)}catch(err){return reject(d,err)}resolve(name,d,ret=name&&ret===undef&&d.usingExports?defined[name]:ret)}function Defer(name){let d=this;d.promise=new Promise(function(resolve,reject){d.resolve=resolve,d.reject=reject}),d.map=name?makeMap(name):{},d.depCount=0,d.depMax=0,d.values=[],d.depDefined=[]}function getDefer(name){let d;return d=name?(d=deferreds[name])||(deferreds[name]=new Defer(name)):new Defer}function waitForDep(depMap,relName,d,i){d.depMax+=1,callDep(depMap,relName).then(function(val){d.rejected||d.depDefined[i]||(d.depDefined[i]=!0,d.depCount+=1,d.values[i]=val,d.depending)||d.depCount!==d.depMax||defineModule(d)},makeErrback(d,depMap.id)).catch(makeErrback(d,d.map.id))}function importScriptsHack(url){var urls=[];