UNPKG

1.53 kBJavaScriptView Raw
1define("seajs/plugin-combo",[],function(){function n(){var c=i.prototype,d=c._load;c._load=function(a,b){o(a);d.call(this,a,b)}}function o(c){var d=j.comboExcludes,c=e.filter(c,function(a){var b=p[a];return(!b||b.status<i.STATUS.FETCHING)&&(!d||!d.test(a))});1<c.length&&seajs.config({map:k(l(c))})}function l(c){return q(r(c))}function r(c){var d={__KEYS:[]};e.forEach(c,function(a){var a=a.replace("://","__").split("/"),b=d;e.forEach(a,function(a){b[a]||(b[a]={__KEYS:[]},b.__KEYS.push(a));b=b[a]})});
2return d}function q(c){var d=[];e.forEach(c.__KEYS,function(a){for(var b=a,a=c[a],g=a.__KEYS;1===g.length;)b+="/"+g[0],a=a[g[0]],g=a.__KEYS;g.length&&d.push([b.replace("__","://"),m(a)])});return d}function m(c){var d=[];e.forEach(c.__KEYS,function(a){var b=m(c[a]);b.length?e.forEach(b,function(b){d.push(a+"/"+b)}):d.push(a)});return d}function k(c){var d=j.comboSyntax||["??",","],a=[];e.forEach(c,function(b){var c=b[0]+"/",b=s(b[1]);e.forEach(b,function(b){var f={},h=c+d[0]+b.join(d[1]);if(2E3<h.length)throw Error("The combo url is too long: "+
3h);e.forEach(b,function(a){f[c+a]=h});a.push(function(a){return f[a]||a})})});return a}function s(c){var d=[],a={};e.forEach(c,function(b){var c;c=b.lastIndexOf(".");(c=0<=c?b.substring(c):"")&&(a[c]||(a[c]=[])).push(b)});for(var b in a)a.hasOwnProperty(b)&&d.push(a[b]);return d}var f=seajs.pluginSDK,e=f.util,j=f.config,i=f.Module,p=seajs.cache;seajs.debug?seajs.log("Combo is turned off in debug mode"):n();e.toComboPaths=l;e.toComboMap=k});seajs.use("seajs/plugin-combo");