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