Skip to content

Instantly share code, notes, and snippets.

@snaptopixel
Created March 12, 2013 20:59
Show Gist options
  • Save snaptopixel/5146977 to your computer and use it in GitHub Desktop.
Save snaptopixel/5146977 to your computer and use it in GitHub Desktop.
Curl for jsfiddle
(function(){/*
MIT License (c) copyright B Cavalier & J Hann */
var h=!0,n=null,q=!1,r=this.window||"undefined"!=typeof global&&global||this;function aa(){}function u(a,b){return 0==ba.call(a).indexOf("[object "+b)}function v(a){return a&&"/"==a.charAt(a.length-1)?a.substr(0,a.length-1):a}function ca(a,b){var c,d,e,f;c=1;d=a;"."==d.charAt(0)&&(e=h,d=d.replace(da,function(a,b,d,e){d&&c++;return e||""}));if(e){e=b.split("/");f=e.length-c;if(0>f)return a;e.splice(f,c);return e.concat(d||[]).join("/")}return d}
function w(a){var b=a.indexOf("!");return{p:a.substr(b+1),m:0<=b&&a.substr(0,b)}}function x(){}function y(a,b){x.prototype=a||fa;var c=new x;x.prototype=fa;for(var d in b)c[d]=b[d];return c}
function z(){function a(a,b,c){d.push([a,b,c])}function b(a,b){for(var c,e=0;c=d[e++];)(c=c[a])&&c(b)}var c,d,e;c=this;d=[];e=function(c,g){a=c?function(a){a&&a(g)}:function(a,b){b&&b(g)};e=aa;b(c?0:1,g);b=aa;d=A};this.j=function(b,d,e){a(b,d,e);return c};this.g=function(a){c.C=a;e(h,a)};this.d=function(a){c.sa=a;e(q,a)};this.A=function(a){b(2,a)}}function B(a,b,c,d){a instanceof z?a.j(b,c,d):b(a)}
function C(a,b,c){var d;return function(){0<=--a&&b&&(d=b.apply(A,arguments));0==a&&c&&c(d);return d}}function E(){var a=[].slice.call(arguments),b;u(a[0],"Object")&&(b=a.shift(),F(b));return new ga(a[0],a[1],a[2])}function F(a){a&&(G.S(a),H=G.b(a),G.V(a),"main"in a&&setTimeout(function(){var b;b=G.e(H,A,[].concat(a.main));G.i(b)},0))}
function ga(a,b,c,d){var e;e=G.e(H,A,[].concat(a));this.then=a=function(a,b){B(e,function(b){a&&a.apply(A,b)},function(a){if(b)b(a);else throw a;});return this};this.next=function(a,b,d){return new ga(a,b,d,e)};this.config=F;(b||c)&&a(b,c);B(d,function(){G.i(e)})}
function ha(a){var b,c;b=a.id;if(b==A)if(I!==A)I={I:"Multiple anonymous defines in url"};else if(!(b=G.da()))I=a;if(b!=A){c=J[b];b in J||(c=G.o(b,H),c=G.F(c.b,b),J[b]=c);if(!(c instanceof z))throw Error("duplicate define: "+b);c.ia=q;G.G(c,a)}}function ia(){var a=G.aa(arguments);ha(a)}
var H,K,L,M=r.document,ja=M&&(M.head||M.getElementsByTagName("head")[0]),ka=ja&&ja.getElementsByTagName("base")[0]||n,ma={},na={},N={},oa="addEventListener"in r?{}:{loaded:1,complete:1},fa={},ba=fa.toString,A,J={},O={},P=q,I,pa=/^\/|^[^:]+:\/\//,da=/(\.)(\.?)(?:$|\/([^\.\/]+.*)?)/g,qa=/\/\*[\s\S]*?\*\/|(?:[^\\])\/\/.*?[\n\r]/g,sa=/require\s*\(\s*["']([^"']+)["']\s*\)|(?:[^\\]?)(["'])/g,ta,G;
G={q:function(a,b,c){var d,a=ca(a,b);if("."==a.charAt(0))return a;d=w(a);a=(b=d.m)||d.p;a in c.c&&(a=c.c[a].N||a);b&&(0>b.indexOf("/")&&!(b in c.c)&&(a=v(c.Q)+"/"+b),a=a+"!"+d.p);return a},e:function(a,b,c,d){function e(b){return G.q(b,g.id,a)}function f(b,c,f){var j;j=c&&function(a){c.apply(A,a)};if(u(b,"String")){if(j)throw Error("require(id, callback) not allowed");f=e(b);b=J[f];if(!(f in J))throw Error("Module not resolved: "+f);return(f=b instanceof z&&b.a)||b}B(G.i(G.e(a,g.id,b,d)),j,f)}var g;
g=new z;g.id=b||"";g.ea=d;g.H=c;g.b=a;g.n=f;f.toUrl=function(b){return G.o(e(b),a).url};g.q=e;return g},F:function(a,b,c){var d,e,f;d=G.e(a,b,A,c);e=d.g;f=C(1,function(a){d.s=a;try{return G.Y(d)}catch(b){d.d(b)}});d.g=function(a){B(c||P,function(){e(J[d.id]=O[d.url]=f(a))})};d.J=function(a){B(c||P,function(){d.a&&(f(a),d.A(na))})};return d},W:function(a,b,c,d){return G.e(a,c,A,d)},ca:function(a){return a.n},L:function(a){return a.a||(a.a={})},ba:function(a){var b=a.u;b||(b=a.u={id:a.id,uri:G.M(a),
exports:G.L(a),config:function(){return a.b}},b.a=b.exports);return b},M:function(a){return a.url||(a.url=G.D(a.n.toUrl(a.id),a.b))},S:function(a){var b,c,d,e,f;b="curl";c="define";d=e=r;if(a&&(f=a.overwriteApi||a.qa,b=a.apiName||a.ka||b,d=a.apiContext||a.ja||d,c=a.defineName||a.oa||c,e=a.defineContext||a.na||e,K&&u(K,"Function")&&(r.curl=K),K=n,L&&u(L,"Function")&&(r.define=L),L=n,!f)){if(d[b]&&d[b]!=E)throw Error(b+" already exists");if(e[c]&&e[c]!=ia)throw Error(c+" already exists");}d[b]=E;e[c]=
ia},b:function(a){function b(a,b){var d,c,g,p,s;for(s in a){g=a[s];u(g,"String")&&(g={path:a[s]});g.name=g.name||s;p=e;c=w(v(g.name));d=c.p;if(c=c.m)p=f[c],p||(p=f[c]=y(e),p.c=y(e.c),p.f=[]),delete a[s];if(b){c=g;var t=void 0;c.path=v(c.path||c.location||"");t=c.main||"./main";"."==t.charAt(0)||(t="./"+t);c.N=ca(t,c.name+"/");c.b=c.config;c.b&&(c.b=y(e,c.b))}else c={path:v(g.path)};c.T=d.split("/").length;d?(p.c[d]=c,p.f.push(d)):p.h=G.R(g.path,e)}}function c(a){var b=a.c;a.P=RegExp("^("+a.f.sort(function(a,
d){return b[d].T-b[a].T}).join("|").replace(/\/|\./g,"\\$&")+")(?=\\/|$)");delete a.f}var d,e,f,g;"baseUrl"in a&&(a.h=a.baseUrl);"main"in a&&(a.N=a.main);"preloads"in a&&(a.ra=a.preloads);"pluginPath"in a&&(a.Q=a.pluginPath);if("dontAddFileExt"in a||a.l)a.l=RegExp(a.dontAddFileExt||a.l);d=H;e=y(d,a);e.c=y(d.c);f=a.plugins||{};e.plugins=y(d.plugins);e.z=y(d.z,a.z);e.w=y(d.w,a.w);e.f=[];b(a.packages,h);b(a.paths,q);for(g in f)a=G.q(g+"!","",e),e.plugins[a.substr(0,a.length-1)]=f[g];f=e.plugins;for(g in f)if(f[g]=
y(e,f[g]),a=f[g].f)f[g].f=a.concat(e.f),c(f[g]);for(g in d.c)e.c.hasOwnProperty(g)||e.f.push(g);c(e);return e},V:function(a){var b;(b=a&&a.preloads)&&0<b.length&&B(P,function(){P=G.i(G.e(H,A,b,h))})},o:function(a,b){var c,d,e,f;c=b.c;e=pa.test(a)?a:a.replace(b.P,function(a){d=c[a]||{};f=d.b;return d.path||""});return{b:f||H,url:G.R(e,b)}},R:function(a,b){var c=b.h;return c&&!pa.test(a)?v(c)+"/"+a:a},D:function(a,b){return a+((b||H).l.test(a)?"":".js")},t:function(a,b,c){var d=M.createElement("script");
d.onload=d.onreadystatechange=function(c){c=c||r.event;if("load"==c.type||oa[d.readyState])delete N[a.id],d.onload=d.onreadystatechange=d.onerror="",b()};d.onerror=function(){c(Error("Syntax or http error: "+a.url))};d.type=a.O||"text/javascript";d.charset="utf-8";d.async=!a.fa;d.src=a.url;N[a.id]=d;ja.insertBefore(d,ka);return d},K:function(a){var b=[],c;("string"==typeof a?a:a.toSource?a.toSource():a.toString()).replace(qa,"").replace(sa,function(a,e,f){f?c=c==f?A:c:c||b.push(e);return""});return b},
aa:function(a){var b,c,d,e,f,g;f=a.length;d=a[f-1];e=u(d,"Function")?d.length:-1;2==f?u(a[0],"Array")?c=a[0]:b=a[0]:3==f&&(b=a[0],c=a[1]);!c&&0<e&&(g=h,c=["require","exports","module"].slice(0,e).concat(G.K(d)));return{id:b,s:c||[],B:0<=e?d:function(){return d},r:g}},Y:function(a){var b;b=a.B.apply(a.r?a.a:A,a.s);b===A&&a.a&&(b=a.u?a.a=a.u.a:a.a);return b},G:function(a,b){a.B=b.B;a.r=b.r;a.H=b.s;G.i(a)},i:function(a){function b(a,b,d){g[b]=a;d&&l(a,b)}function c(b,d){var c,e,f,g;c=C(1,function(a){e(a);
j(a,d)});e=C(1,function(a){l(a,d)});f=G.Z(b,a);(g=f instanceof z&&f.a)&&e(g);B(f,c,a.d,a.a&&function(a){f.a&&(a==ma?e(f.a):a==na&&c(f.a))})}function d(){a.g(g)}var e,f,g,i,m,l,j;g=[];f=a.H;i=f.length;0==f.length&&d();l=C(i,b,function(){a.J&&a.J(g)});j=C(i,b,d);for(e=0;e<i;e++)m=f[e],m in ta?(j(ta[m](a),e,h),a.a&&a.A(ma)):m?c(m,e):j(A,e,h);return a},$:function(a){G.M(a);G.t(a,function(){var b=I;I=A;a.ia!==q&&(!b||b.I?a.d(Error(b&&b.I||"define() missing or duplicated: "+a.url)):G.G(a,b))},a.d);return a},
Z:function(a,b){var c,d,e,f,g,i,m,l,j,k,p;c=b.q;d=b.ea;e=b.b||H;f=w(c(a));m=f.p;g=f.m||m;l=G.o(g,e);if(f.m)i=g;else if(i=l.b.moduleLoader||l.b.pa)m=g,g=i,l=G.o(i,e);g in J?j=J[g]:l.url in O?j=J[g]=O[l.url]:(j=G.F(l.b,g,d),j.url=G.D(l.url,l.b),J[g]=O[l.url]=j,G.$(j));g==i&&(k=new z,p=e.plugins[i]||e,B(j,function(a){var b,e,f;f=a.dynamic;m="normalize"in a?a.normalize(m,c,j.b)||"":c(m);e=i+"!"+m;b=J[e];if(!(e in J)){b=G.W(p,e,m,d);f||(J[e]=b);var g=function(a){b.g(a);f||(J[e]=a)};g.resolve=g;g.reject=
g.error=b.d;a.load(m,b.n,g,p)}k!=b&&B(b,k.g,k.d,k.A)},k.d));return k||j},da:function(){var a;if(!u(r.opera,"Opera"))for(var b in N)if("interactive"==N[b].readyState){a=b;break}return a}};ta={require:G.ca,exports:G.L,module:G.ba};E.version="0.7.3";E.config=F;ia.amd={plugins:h,jQuery:h,curl:"0.7.3"};H={h:"",Q:"curl/plugin",l:/\?|\.js\b/,z:{},w:{},plugins:{},c:{},P:/$^/};K=r.curl;L=r.define;!K||u(K,"Function")?G.S():(r.curl=A,F(K));J.curl=E;
J["curl/_privileged"]={core:G,cache:J,config:function(){return H},_define:ha,_curl:E,Promise:z};var Q=this.document;function ua(){if(!Q.body)return q;R||(R=Q.createTextNode(""));try{return Q.body.removeChild(Q.body.appendChild(R)),R=va,h}catch(a){return q}}function S(){var a;a=wa[Q[xa]]&&ua();if(!T&&a){T=h;for(clearTimeout(ya);za=Aa.pop();)za();Ba&&(Q[xa]="complete");for(var b;b=Ca.shift();)b()}return a}function Da(){S();T||(ya=setTimeout(Da,Ea))}
var xa="readyState",wa={loaded:1,interactive:1,complete:1},Ca=[],Ba=Q&&"string"!=typeof Q[xa],T=q,Ea=10,U,za,Aa=[],ya,va,R;U="addEventListener"in this?function(a,b){a.addEventListener(b,S,q);return function(){a.removeEventListener(b,S,q)}}:function(a,b){a.attachEvent("on"+b,S);return function(){a.detachEvent(b,S)}};Q&&!S()&&(Aa=[U(this,"load"),U(Q,"readystatechange"),U(this,"DOMContentLoaded")],ya=setTimeout(Da,Ea));
define("curl/domReady",function(){function a(a){T?a():Ca.push(a)}a.then=a;a.amd=h;return a});var Fa;define("curl/shim/dojo16",["curl/_privileged","curl/domReady"],function(a,b){function c(a){a.ready||(a.ready=function(a){b(a)});a.nameToUrl||(a.nameToUrl=function(b,d){return a.toUrl(b+(d||""))});a.cache||(a.cache={})}var d=a._curl,e=a.core.e;c(d);"undefined"==typeof Fa&&(Fa=d);a.core.e=function(){var a=e.apply(this,arguments);c(a.n);return a};return h});var Ga=this.document;
function Ha(a){try{return eval(a)}catch(b){}}
define("curl/plugin/js",["curl/_privileged"],function(a){function b(b,d,c){function e(){g||(f<new Date?c():setTimeout(e,10))}var f,g,i;f=(new Date).valueOf()+(b.ha||3E5);c&&b.a&&setTimeout(e,10);i=a.core.t(b,function(){g=h;b.a&&(b.C=Ha(b.a));!b.a||b.C?d(i):c()},function(a){g=h;c(a)})}function c(a,d){b(a,function(){var b=e.shift();i=0<e.length;b&&c.apply(n,b);d.g(a.C||h)},function(a){d.d(a)})}var d={},e=[],f=Ga&&Ga.createElement("script").async==h,g,i;g=a.Promise;return{dynamic:h,normalize:function(a,
b){var d=a.indexOf("!");return 0<=d?b(a.substr(0,d))+a.substr(d):b(a)},load:function(a,l,j,k){function p(a){(j.error||function(a){throw a;})(a)}var s,t,ea,ra,D;s=0<a.indexOf("!order");t=a.indexOf("!exports=");ea=0<t&&a.substr(t+9);ra="prefetch"in k?k.prefetch:h;a=s||0<t?a.substr(0,a.indexOf("!")):a;l=l.toUrl(a);D=l.lastIndexOf(".")<=l.lastIndexOf("/")?l+".js":l;D in d?d[D]instanceof g?d[D].j(j,p):j(d[D]):(a={name:a,url:D,fa:s,a:ea,ha:k.timeout},d[D]=k=new g,k.j(function(a){d[D]=a;j(a)},p),s&&!f&&
i?(e.push([a,k]),ra&&(a.O="text/cache",b(a,function(a){a&&a.parentNode.removeChild(a)},function(){}),a.O="")):(i=i||s,c(a,k)))}}});
define("curl/plugin/text",function(){function a(){if("undefined"!==typeof XMLHttpRequest)a=function(){return new XMLHttpRequest};else for(var b=a=function(){throw Error("getXhr(): XMLHttpRequest not available");};0<c.length&&a===b;)(function(b){try{new ActiveXObject(b),a=function(){return new ActiveXObject(b)}}catch(d){}})(c.shift());return a()}function b(a){throw a;}var c=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"];return{load:function(d,c,f){var d=c.toUrl(d),g=f.error||b,i=a();i.open("GET",
d,h);i.onreadystatechange=function(){4===i.readyState&&(400>i.status?f(i.responseText):g(Error("fetchText() failed. status: "+i.statusText)))};i.send(n)},"plugin-builder":"./builder/text"}});define("curl/plugin/async",function(){return{load:function(a,b,c){function d(a){"function"==typeof c.error&&c.error(a)}b([a],function(a){"function"==typeof a.j?a.j(function(b){0==arguments.length&&(b=a);c(b)},d):c(a)},c.error||function(a){throw a;})},analyze:function(a,b,c){c(a)}}});
function Ia(){var a;a=V[Ja]("link");a.rel="stylesheet";a.type="text/css";return a}function Ka(a,b,c){La.push({url:a,U:b,X:function(){c(Error(Ma))}});a=Na.shift();!a&&Oa.length<Pa&&(a=V.createElement("style"),Oa.push(a),W.appendChild(a));a&&Qa(a)}function Qa(a){var b,c;b=La.shift();c=a.styleSheet;b?(a.onload=function(){b.U(b.ga);Qa(a)},a.onerror=function(){b.X();Qa(a)},b.ga=c.imports[c.addImport(b.url)]):(a.onload=a.onerror=X,Na.push(a))}
function Ra(a,b,c){if(!Y.load){var d;var e,f;if(!a.href||V.readyState&&"complete"!=V.readyState)d=q;else{d=q;try{if(e=a.sheet)f=e.cssRules,d=f===n,!d&&f&&(e.insertRule("-curl-css-test {}",0),e.deleteRule(0),d=h)}catch(g){d="[object Opera]"!=Object.prototype.toString.call(window.opera)&&/security|denied/i.test(g.message)}}d?c(a.sheet):a.onload==X||!a.onload||Sa(function(){Ra(a,b,c)},b)}}
function Ta(a,b,c,d){function e(){if(f.onload!=X&&f.onload){f.onload=f.onerror=X;var a=function(){!V.readyState||"complete"==V.readyState?b(f.sheet):Sa(a,10)};a()}}var f;f=Ia();f.onload=function(){Y.load=Y.load||h;e()};Ra(f,d,e);f.onerror=function(){Y.error=Y.error||h;f.onload!=X&&f.onload&&(f.onload=f.onerror=X,c(Error(Ma)))};f.href=a;W.appendChild(f)}function X(){}
var Ja="createElement",Sa=this.setTimeout,V=this.document,W,Ua=V&&V.createStyleSheet&&!(10<=V.documentMode),Oa=[],Na=[],La=[],Pa=12,Va,Ma="HTTP or network error.",Y={};V&&(W=V.head||V.getElementsByTagName("head")[0],Va=Ua?Ka:Ta);
define("curl/plugin/css",{normalize:function(a,b){var c,d;if(!a)return a;c=a.split(",");d=[];for(var e=0,f=c.length;e<f;e++)d.push(b(c[e]));return d.join(",")},load:function(a,b,c,d){function e(a){1<i.length&&g.push(a);0==--l&&c(1==i.length?a:g)}function f(a){(c.d||function(a){throw a;})(a)}var g,i,m,l,j;g=[];i=(a||"").split(",");m=d.cssWatchPeriod||50;d=d.cssNoWait;l=i.length;for(j=0;j<i.length;j++){var a=i[j],k,a=b.toUrl(a),a=a.lastIndexOf(".")<=a.lastIndexOf("/")?a+".css":a;d?(k=Ia(),k.href=a,
W.appendChild(k),e(k.sheet||k.styleSheet)):Va(a,e,f,m)}},"plugin-builder":"./builder/css",pluginBuilder:"./builder/css"});var Z=this.document,Wa=/^\/\//,Xa;Z&&(Xa=Z.head||(Z.head=Z.getElementsByTagName("head")[0]));
define("curl/plugin/link",{load:function(a,b,c,d){a=b.toUrl(a);a=a.lastIndexOf(".")<=a.lastIndexOf("/")?a+".css":a;d=a=(d="fixSchemalessUrls"in d?d.fixSchemalessUrls:Z.location.protocol)?a.replace(Wa,d+"//"):a;a=Z.createElement("link");a.rel="stylesheet";a.type="text/css";a.href=d;Xa.appendChild(a);c(a.sheet||a.styleSheet)}});define("curl/plugin/domReady",["../domReady"],function(a){return{load:function(b,c,d){a(d)}}});var $=this.document;function Ya(a){eval(a)}
define("curl/loader/cjsm11",function(){function a(b,c){a="text"in b?function(a,b){a.text=b}:function(a,b){a.appendChild($.createTextNode(b))};a(b,c)}var b,c;c=(b=$&&($.head||$.getElementsByTagName("head")[0]))&&b.getElementsByTagName("base")[0]||n;return{load:function(d,e,f,g){e(["text!"+d+".js","curl/_privileged"],function(i,m){var l;l=m.core.K(i);e(l,function(){var j=i,k=g.injectSourceUrl!==q&&e.ua(d),k=k?"////@ sourceURL="+k.replace(/\s/g,"%20")+".js":"";i="define('"+d+"',['require','exports','module'],function(require,exports,module){"+
j+"\n});\n"+k+"\n";g.injectScript?(j=i,k=$.createElement("script"),a(k,j),k.charset="utf-8",b.insertBefore(k,c)):Ya(i);f(e(d))},f.error||function(a){throw a;})})}}});define.amd.ta=h;
(function(a,b){define("curl/shim/ssjs",function(c){function d(a,c,d){try{b(a.url),c()}catch(e){d(e)}}function e(b,c,d){var e;try{e=b.url.replace(/\.js$/,""),a(e),c()}catch(f){d(f)}}function f(b,c,d){var e,b=a("url").parse(b.url,q,h);e="";p.get(b,function(a){a.v("data",function(a){e+=a}).v("end",function(){i(e);c()}).v("error",d)}).v("error",d)}function g(a){throw Error("ssjs: unable to load module in current environment: "+a.url);}function i(a){eval(a)}var m,l,j,k,p,s,t;if(!("object"==typeof window&&
(window.la||window.navigator))){c=c("curl/_privileged");m=c.b();l=/^\w+:/;j=/(^\w+:)?.*$/;k=(m.k&&":"!=m.k[m.k.length-1]?m.k+":":m.k)||m.h&&m.h.replace(j,function(a,b){return b})||"http:";if(b)s=t=d;else if(a){s=e;try{p=a("http"),t=f}catch(ea){t=g}}else s=t=g;c.ma.t=function(a,b,c){/^\/\//.test(a.url)&&(a.url=k+a.url);return l.test(a.url)?t(a,b,c):s(a,b,c)}}})})(Fa,void 0);
}).call(this);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment