UNPKG

curl-amd

Version:

curl.js is small, fast, extensible module loader that handles AMD, CommonJS Modules/1.1, CSS, HTML/text, and legacy scripts.

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