curl-amd
Version:
curl.js is small, fast, extensible module loader that handles AMD, CommonJS Modules/1.1, CSS, HTML/text, and legacy scripts.
26 lines (25 loc) • 10.5 kB
JavaScript
(function(){/*
MIT License (c) copyright 2010-2013 B Cavalier & J Hann MIT (c) copyright 2010-2013 B Cavalier & J Hann */
(function(p){function m(){}function l(a,b){return 0==W.call(a).indexOf("[object "+b)}function u(a){return a&&"/"==a.charAt(a.length-1)?a.substr(0,a.length-1):a}function F(a,b){var d,c,e,f;d=1;c=a;"."==c.charAt(0)&&(e=!0,c=c.replace(X,function(a,b,c,e){c&&d++;return e||""}));if(e){e=b.split("/");f=e.length-d;if(0>f)return a;e.splice(f,d);return e.concat(c||[]).join("/")}return c}function z(a){var b=a.indexOf("!");return{f:a.substr(b+1),d:0<=b&&a.substr(0,b)}}function A(){}function r(a,b){A.prototype=
a||O;var d=new A;A.prototype=O;for(var c in b)d[c]=b[c];return d}function B(){function a(a,b,d){c.push([a,b,d])}function b(a,b){for(var d,e=0;d=c[e++];)(d=d[a])&&d(b)}var d,c,e;d=this;c=[];e=function(d,h){a=d?function(a){a&&a(h)}:function(a,b){b&&b(h)};e=m;b(d?0:1,h);b=m;c=q};this.then=function(b,c,e){a(b,c,e);return d};this.i=function(a){d.pa=a;e(!0,a)};this.g=function(a){d.oa=a;e(!1,a)};this.v=function(a){b(2,a)}}function y(a){return a instanceof B||a instanceof C}function n(a,b,d,c){y(a)?a.then(b,
d,c):b(a)}function w(a,b,d){var c;return function(){0<=--a&&b&&(c=b.apply(q,arguments));0==a&&d&&d(c);return c}}function v(){var a,b;t="";a=[].slice.call(arguments);l(a[0],"Object")&&(b=a.shift(),b=g(b));return new C(a[0],a[1],a[2],b)}function g(a,b,d){var c;t="";if(a&&(k.O(a),x=k.a(a),"preloads"in a&&(c=new C(a.preloads,q,d,H,!0),k.l(function(){H=c})),a=a.main))return new C(a,b,d)}function C(a,b,d,c,e){var f;f=k.h(x,q,[].concat(a),e);this.then=this.then=a=function(a,b){n(f,function(b){a&&a.apply(q,
b)},function(a){if(b)b(a);else throw a;});return this};this.next=function(a,b,c){return new C(a,b,c,f)};this.config=g;(b||d)&&a(b,d);k.l(function(){n(e||H,function(){n(c,function(){k.r(f)},d)})})}function L(a){var b,d;b=a.id;b==q&&(I!==q?I={F:"Multiple anonymous defines encountered"}:(b=k.aa())||(I=a));if(b!=q){d=s[b];b in s||(d=k.j(b,x),d=k.B(d.a,b),s[b]=d);if(!y(d))throw Error("duplicate define: "+b);d.ca=!1;k.C(d,a)}}function D(){var a=k.Y(arguments);L(a)}var t,x,E,J,G=p.document,P=G&&(G.head||
G.getElementsByTagName("head")[0]),Y=P&&P.getElementsByTagName("base")[0]||null,S={},T={},M={},Z="addEventListener"in p?{}:{loaded:1,complete:1},O={},W=O.toString,q,s={},N={},H=!1,I,U=/^\/|^[^:]+:\/\//,X=/(\.)(\.?)(?:$|\/([^\.\/]+.*)?)/g,$=/\/\*[\s\S]*?\*\/|\/\/.*?[\n\r]/g,aa=/require\s*\(\s*(["'])(.*?[^\\])\1\s*\)|[^\\]?(["'])/g,ba=/\s*,\s*/,Q,k;k={n:function(a,b,d){var c;a=F(a,b);if("."==a.charAt(0))return a;c=z(a);a=(b=c.d)||c.f;a in d.c&&(a=d.c[a].K||a);b&&(0>b.indexOf("/")&&!(b in d.c)&&(a=u(d.M)+
"/"+b),a=a+"!"+c.f);return a},h:function(a,b,d,c){function e(b,c){var d,f;d=k.n(b,h.id,a);if(!c)return d;f=z(d);if(!f.d)return d;d=s[f.d];f.f="normalize"in d?d.normalize(f.f,e,h.a)||"":e(f.f);return f.d+"!"+f.f}function f(b,d,f){var R;R=d&&function(a){d.apply(q,a)};if(l(b,"String")){if(R)throw Error("require(id, callback) not allowed");f=e(b,!0);b=s[f];if(!(f in s))throw Error("Module not resolved: "+f);return(f=y(b)&&b.b)||b}n(k.r(k.h(a,h.id,b,c)),R,f)}var h;h=new B;h.id=b||"";h.ba=c;h.D=d;h.a=a;
h.m=f;f.toUrl=function(b){return k.j(e(b,!0),a).url};h.n=e;return h},B:function(a,b,d){var c,e,f;c=k.h(a,b,q,d);e=c.i;f=w(1,function(a){c.q=a;try{return k.S(c)}catch(b){c.g(b)}});c.i=function(a){n(d||H,function(){e(s[c.id]=N[c.url]=f(a))})};c.G=function(a){n(d||H,function(){c.b&&(f(a),c.v(T))})};return c},R:function(a,b,d,c){return k.h(a,d,q,c)},$:function(a){return a.m},H:function(a){return a.b||(a.b={})},Z:function(a){var b=a.s;b||(b=a.s={id:a.id,uri:k.I(a),exports:k.H(a),config:function(){return a.a}},
b.b=b.exports);return b},I:function(a){return a.url||(a.url=k.A(a.m.toUrl(a.id),a.a))},O:function(a){var b,d,c,e,f;b="curl";d="define";c=e=p;if(a&&(f=a.overwriteApi||a.ma,b=a.apiName||a.ea||b,c=a.apiContext||a.da||c,d=a.defineName||a.ga||d,e=a.defineContext||a.fa||e,E&&l(E,"Function")&&(p.curl=E),E=null,J&&l(J,"Function")&&(p.define=J),J=null,!f)){if(c[b]&&c[b]!=v)throw Error(b+" already exists");if(e[d]&&e[d]!=D)throw Error(d+" already exists");}c[b]=v;e[d]=D},a:function(a){function b(a,b){var d,
c,h,g,n;for(n in a){h=a[n];l(h,"String")&&(h={path:a[n]});h.name=h.name||n;g=e;c=z(u(h.name));d=c.f;if(c=c.d)g=f[c],g||(g=f[c]=r(e),g.c=r(e.c),g.e=[]),delete a[n];c=h;var t=b,K=void 0;c.path=u(c.path||c.location||"");t&&(K=c.main||"./main","."==K.charAt(0)||(K="./"+K),c.K=F(K,c.name+"/"));c.a=c.config;c.a&&(c.a=r(e,c.a));c.P=d.split("/").length;d?(g.c[d]=c,g.e.push(d)):g.o=k.N(h.path,e)}}function d(a){var b=a.c;a.L=RegExp("^("+a.e.sort(function(a,c){return b[c].P-b[a].P}).join("|").replace(/\/|\./g,
"\\$&")+")(?=\\/|$)");delete a.e}var c,e,f,h;"baseUrl"in a&&(a.o=a.baseUrl);"main"in a&&(a.K=a.main);"preloads"in a&&(a.na=a.preloads);"pluginPath"in a&&(a.M=a.pluginPath);if("dontAddFileExt"in a||a.k)a.k=RegExp(a.dontAddFileExt||a.k);c=x;e=r(c,a);e.c=r(c.c);f=a.plugins||{};e.plugins=r(c.plugins);e.u=r(c.u,a.u);e.t=r(c.t,a.t);e.e=[];b(a.packages,!0);b(a.paths,!1);for(h in f)a=k.n(h+"!","",e),e.plugins[a.substr(0,a.length-1)]=f[h];f=e.plugins;for(h in f)if(f[h]=r(e,f[h]),a=f[h].e)f[h].e=a.concat(e.e),
d(f[h]);for(h in c.c)e.c.hasOwnProperty(h)||e.e.push(h);d(e);return e},j:function(a,b){var d,c,e,f;d=b.c;e=U.test(a)?a:a.replace(b.L,function(a){c=d[a]||{};f=c.a;return c.path||""});return{a:f||x,url:k.N(e,b)}},N:function(a,b){var d=b.o;return d&&!U.test(a)?u(d)+"/"+a:a},A:function(a,b){return a+((b||x).k.test(a)?"":".js")},J:function(a,b,d){var c=G.createElement("script");c.onload=c.onreadystatechange=function(d){d=d||p.event;if("load"==d.type||Z[c.readyState])delete M[a.id],c.onload=c.onreadystatechange=
c.onerror="",b()};c.onerror=function(){d(Error("Syntax or http error: "+a.url))};c.type=a.ja||"text/javascript";c.charset="utf-8";c.async=!a.la;c.src=a.url;M[a.id]=c;P.insertBefore(c,Y);return c},T:function(a){var b=[],d;("string"==typeof a?a:a.toSource?a.toSource():a.toString()).replace($,"").replace(aa,function(a,e,f,h){h?d=d==h?q:d:d||b.push(f);return""});return b},Y:function(a){var b,d,c,e,f,h;f=a.length;c=a[f-1];e=l(c,"Function")?c.length:-1;2==f?l(a[0],"Array")?d=a[0]:b=a[0]:3==f&&(b=a[0],d=
a[1]);!d&&0<e&&(h=!0,d=["require","exports","module"].slice(0,e).concat(k.T(c)));return{id:b,q:d||[],w:0<=e?c:function(){return c},p:h}},S:function(a){var b;b=a.w.apply(a.p?a.b:q,a.q);b===q&&a.b&&(b=a.s?a.b=a.s.exports:a.b);return b},C:function(a,b){a.w=b.w;a.p=b.p;a.D=b.q;k.r(a)},r:function(a){function b(a,b,c){h[b]=a;c&&x(a,b)}function d(b,c){var d,e,f,h;d=w(1,function(a){e(a);s(a,c)});e=w(1,function(a){x(a,c)});f=k.V(b,a);(h=y(f)&&f.b)&&e(h);n(f,d,a.g,a.b&&function(a){f.b&&(a==S?e(f.b):a==T&&d(f.b))})}
function c(){a.i(h)}var e,f,h,g,t,x,s;h=[];f=a.D;g=f.length;0==f.length&&c();x=w(g,b,function(){a.G&&a.G(h)});s=w(g,b,c);for(e=0;e<g;e++)t=f[e],t in Q?(s(Q[t](a),e,!0),a.b&&a.v(S)):t?d(t,e):s(q,e,!0);return a},W:function(a){k.I(a);k.J(a,function(){var b=I;I=q;!1!==a.ca&&(!b||b.F?a.g(Error(b&&b.F||"define() missing or duplicated: "+a.url)):k.C(a,b))},a.g);return a},V:function(a,b){var d,c,e,f,h,g,t,l,p,m,r,q;d=b.n;c=b.ba;e=b.a||x;h=d(a);h in s?g=h:(f=z(h),l=f.f,g=f.d||l,p=k.j(g,e));if(!(h in s))if(q=
k.j(l,e).a,f.d)t=g;else if(t=q.moduleLoader||q.ka||q.loader||q.ia)l=g,g=t,p=k.j(t,e);g in s?m=s[g]:p.url in N?m=s[g]=N[p.url]:(m=k.B(q,g,c),m.url=k.A(p.url,p.a),s[g]=N[p.url]=m,k.W(m));g==t&&(f.d&&e.plugins[f.d]&&(q=e.plugins[f.d]),r=new B,n(m,function(a){var b,e,f;f=a.dynamic;l="normalize"in a?a.normalize(l,d,m.a)||"":d(l);e=t+"!"+l;b=s[e];if(!(e in s)){b=k.R(q,e,l,c);f||(s[e]=b);var h=function(a){f||(s[e]=a);b.i(a)};h.resolve=h;h.reject=h.error=b.g;a.load(l,b.m,h,q)}r!=b&&n(b,r.i,r.g,r.v)},r.g));
return r||m},aa:function(){var a;if(!l(p.opera,"Opera"))for(var b in M)if("interactive"==M[b].readyState){a=b;break}return a},X:function(a){var b=0,d,c;for(d=G&&(G.scripts||G.getElementsByTagName("script"));d&&(c=d[b++]);)if(a(c))return c},U:function(){var a,b="";(a=k.X(function(a){(a=a.getAttribute("data-curl-run"))&&(b=a);return a}))&&a.setAttribute("data-curl-run","");return b},Q:function(){function a(){k.J({url:c.shift()},b,b)}function b(){t&&(c.length?(k.l(d),a()):d("run.js script did not run."))}
function d(a){throw Error(a||"Primary run.js failed. Trying fallback.");}var c=t.split(ba);c.length&&a()},l:function(a){setTimeout(a,0)}};Q={require:k.$,exports:k.H,module:k.Z};v.version="0.8.10";v.config=g;D.amd={plugins:!0,jQuery:!0,curl:"0.8.10"};x={o:"",M:"curl/plugin",k:/\?|\.js\b/,u:{},t:{},plugins:{},c:{},L:/$^/};E=p.curl;J=p.define;E&&l(E,"Object")?(p.curl=q,g(E)):k.O();(t=k.U())&&k.l(k.Q);s.curl=v;s["curl/_privileged"]={core:k,cache:s,config:function(){return x},_define:L,_curl:v,Promise:B}})(this.window||
"undefined"!=typeof global&&global||this);
(function(p,m){function l(){if(!m.body)return!1;D||(D=m.createTextNode(""));try{return m.body.removeChild(m.body.appendChild(D)),D=L,!0}catch(g){return!1}}function u(){var t;t=A[m[z]]&&l();if(!y&&t){y=!0;for(clearTimeout(C);v=g.pop();)v();B&&(m[z]="complete");for(var n;n=r.shift();)n()}return t}function F(){u();y||(C=setTimeout(F,n))}var z="readyState",A={loaded:1,interactive:1,complete:1},r=[],B=m&&"string"!=typeof m[z],y=!1,n=10,w,v,g=[],C,L,D;w="addEventListener"in p?function(g,l){g.addEventListener(l,
u,!1);return function(){g.removeEventListener(l,u,!1)}}:function(g,l){g.attachEvent("on"+l,u);return function(){g.detachEvent(l,u)}};m&&!u()&&(g=[w(p,"load"),w(m,"readystatechange"),w(p,"DOMContentLoaded")],C=setTimeout(F,n));define("curl/domReady",function(){function g(l){y?l():r.push(l)}g.then=g;g.amd=!0;return g})})(this,this.document);var V;
(function(p,m){define("curl/shim/dojo18",["curl/_privileged"],function(l){function u(g){g.has||(g.has=v);g.on||(g.on=z);g.idle||(g.idle=F);g.async=!0}function F(){for(var g in r)if(r[g]instanceof B)return!1;return!0}function z(){}var A,r,B,y;A=l._curl;r=l.cache;B=l.Promise;y=l.core.h;var n,w,v;n=l.a().ha||{};w=m&&m.createElement("div");v=function(g){return"function"==typeof n[g]?n[g]=n[g](p,m,w):n[g]};v.add=function(g,l,m,p){if(void 0===n[g]||p)n[g]=l;if(m)return v(g)};n["dojo-loader"]=!1;r["dojo/_base/loader"]=
0;"undefined"==typeof V&&(u(A),V=A);l.core.h=function(){var g=y.apply(this,arguments);u(g.m);return g};return!0})})("object"==typeof global?global:this.window||this.global,"object"==typeof document&&document);define("curl/plugin/domReady",["../domReady"],function(p){return{load:function(m,l,u){p(u)}}});
}).call(this);