-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathclojure.min.js
1 lines (1 loc) · 13.6 KB
/
clojure.min.js
1
(function(){var a=function(b,c){var d=a.resolve(b,c||"/"),e=a.modules[d];if(!e)throw new Error("Failed to resolve module "+b+", tried "+d);var f=e._cached?e._cached:e();return f};a.paths=[],a.modules={},a.extensions=[".js",".coffee"],a._core={assert:!0,events:!0,fs:!0,path:!0,vm:!0},a.resolve=function(){return function(b,c){function h(b){if(a.modules[b])return b;for(var c=0;c<a.extensions.length;c++){var d=a.extensions[c];if(a.modules[b+d])return b+d}}function i(b){b=b.replace(/\/+$/,"");var c=b+"/package.json";if(a.modules[c]){var e=a.modules[c](),f=e.browserify;if(typeof f=="object"&&f.main){var g=h(d.resolve(b,f.main));if(g)return g}else if(typeof f=="string"){var g=h(d.resolve(b,f));if(g)return g}else if(e.main){var g=h(d.resolve(b,e.main));if(g)return g}}return h(b+"/index")}function j(a,b){var c=k(b);for(var d=0;d<c.length;d++){var e=c[d],f=h(e+"/"+a);if(f)return f;var g=i(e+"/"+a);if(g)return g}var f=h(a);if(f)return f}function k(a){var b;a==="/"?b=[""]:b=d.normalize(a).split("/");var c=[];for(var e=b.length-1;e>=0;e--){if(b[e]==="node_modules")continue;var f=b.slice(0,e+1).join("/")+"/node_modules";c.push(f)}return c}c||(c="/");if(a._core[b])return b;var d=a.modules.path();c=d.resolve("/",c);var e=c||"/";if(b.match(/^(?:\.\.?\/|\/)/)){var f=h(d.resolve(e,b))||i(d.resolve(e,b));if(f)return f}var g=j(b,e);if(g)return g;throw new Error("Cannot find module '"+b+"'")}}(),a.alias=function(b,c){var d=a.modules.path(),e=null;try{e=a.resolve(b+"/package.json","/")}catch(f){e=a.resolve(b,"/")}var g=d.dirname(e),h=(Object.keys||function(a){var b=[];for(var c in a)b.push(c);return b})(a.modules);for(var i=0;i<h.length;i++){var j=h[i];if(j.slice(0,g.length+1)===g+"/"){var k=j.slice(g.length);a.modules[c+k]=a.modules[g+k]}else j===g&&(a.modules[c]=a.modules[g])}},a.define=function(b,c){var d=a._core[b]?"":a.modules.path().dirname(b),e=function(b){return a(b,d)};e.resolve=function(b){return a.resolve(b,d)},e.modules=a.modules,e.define=a.define;var f={exports:{}};a.modules[b]=function(){return a.modules[b]._cached=f.exports,c.call(f.exports,e,f,f.exports,d,b),a.modules[b]._cached=f.exports,f.exports}},typeof process=="undefined"&&(process={}),process.nextTick||(process.nextTick=function(){var a=[],b=typeof window!="undefined"&&window.postMessage&&window.addEventListener;return b&&window.addEventListener("message",function(b){if(b.source===window&&b.data==="browserify-tick"){b.stopPropagation();if(a.length>0){var c=a.shift();c()}}},!0),function(c){b?(a.push(c),window.postMessage("browserify-tick","*")):setTimeout(c,0)}}()),process.title||(process.title="browser"),process.binding||(process.binding=function(b){if(b==="evals")return a("vm");throw new Error("No such module")}),process.cwd||(process.cwd=function(){return"."}),a.define("path",function(a,b,c,d,e){function f(a,b){var c=[];for(var d=0;d<a.length;d++)b(a[d],d,a)&&c.push(a[d]);return c}function g(a,b){var c=0;for(var d=a.length;d>=0;d--){var e=a[d];e=="."?a.splice(d,1):e===".."?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}var h=/^(.+\/(?!$)|\/)?((?:.+?)?(\.[^.]*)?)$/;c.resolve=function(){var a="",b=!1;for(var c=arguments.length;c>=-1&&!b;c--){var d=c>=0?arguments[c]:process.cwd();if(typeof d!="string"||!d)continue;a=d+"/"+a,b=d.charAt(0)==="/"}return a=g(f(a.split("/"),function(a){return!!a}),!b).join("/"),(b?"/":"")+a||"."},c.normalize=function(a){var b=a.charAt(0)==="/",c=a.slice(-1)==="/";return a=g(f(a.split("/"),function(a){return!!a}),!b).join("/"),!a&&!b&&(a="."),a&&c&&(a+="/"),(b?"/":"")+a},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(f(a,function(a,b){return a&&typeof a=="string"}).join("/"))},c.dirname=function(a){var b=h.exec(a)[1]||"",c=!1;return b?b.length===1||c&&b.length<=3&&b.charAt(1)===":"?b:b.substring(0,b.length-1):"."},c.basename=function(a,b){var c=h.exec(a)[2]||"";return b&&c.substr(-1*b.length)===b&&(c=c.substr(0,c.length-b.length)),c},c.extname=function(a){return h.exec(a)[3]||""}}),a.define("/reader.js",function(a,b,c,d,e){function h(a,b,c){var d=[],e,h,i,j;b=b||{pos:0};for(;b.pos<a.length;b.pos++){j=a[b.pos];for(e in g)if(f.hasOwnProperty(e))if(i=f[e].pattern.exec(a.substr(b.pos))){h=g[e](i,b,a),h&&d.push(h);break}if(j===c)break}return d}function i(a,b){return b.pos+=a[0].length-1,f.number(+a[0])}function j(a,b){return b.pos+=a[0].length,f.string(a[1])}function k(a,b){return b.pos+=a[0].length-1,l(a)?f.literal(a[2]):f.symbol(a[1],a[2])}function l(a){var b=a[1]!==undefined;return!b&&f.literal.pattern.exec(a[0])}function m(a,b){return b.pos+=a[0].length-1,f.keyword(a[1],a[2])}function n(a,b,c){return b.pos+=a[0].length,f.vector.apply(f,h(c,b,f.vector.closeChr))}function o(a,b,c){b.pos+=a[0].length;var d=a[1]==="'"||a[1]==="`",e=h(c,b,f.list.closeChr),g=!d&&e.length>0,i=g?f.call:f.list;return i=i.apply(f,e),i.quoted=d,i}function p(a,b){return b.pos+=a[0].length,null}var f=a("./forms"),g={number:i,string:j,symbol:k,keyword:m,vector:n,list:o,comment:p};b.exports={read:function(a){return h(a)}}}),a.define("/forms.js",function(a,b,c,d,e){function j(a,b,c,d,e){var g=function(){var b=Array.prototype.slice.call(arguments),g=e!==!1&&b.length===2?b.shift():undefined,h=e===!1?b:b.shift();return new f(a,g,h,c,d,e)};return g.kind=a,g.pattern=b,g.closeChr=d,g}var f=a("./form").Form,g="a-z\\*\\+\\!\\-\\_\\?\\.\\~\\@",h=g+"0-9",i=b.exports={number:j("number",/^'?\d+/),string:j("string",/^'?"(([^\\"]|\\\\|\\")*)/,'"','"'),literal:j("literal",/^'?(true|false|nil)$/),symbol:j("symbol",new RegExp("^'?(?:(["+g+"]["+h+"]*)\\/)?"+"(["+g+"\\/|="+"]["+h+"]*)","i")),keyword:j("keyword",new RegExp("^'?::?(?:(["+g+"]["+h+"]*)\\/)?"+"(["+g+"="+"]["+h+"]*)","i"),":"),vector:j("vector",/^('?)\[/,"[","]",!1),call:j("call",/^('?)\(/,"(",")",!1),list:j("list",/^(['`])?\(/,"(",")",!1),comment:j("comment",/^;.*?(\n|$)/)}}),a.define("/form.js",function(a,b,c,d,e){function f(a,b,c,d,e,f){this.kind=a,this.namespace=b,this.value=c,this.openChr=d,this.closeChr=e,this.terminal=f,this.quoted=!1}c.Form=f,f.prototype.stringify=function(){var a;return this.terminal!==!1?a=this.value:a=this.value.map(function(a){return a.stringify()}).join(" "),(this.openChr||"")+a+(this.closeChr||"")},f.prototype.toString=function(){return this.stringify()}}),a.define("/evaluator.js",function(a,b,c,d,e){function p(a,b){b=b||f.current;var c=a.map(function(a){return q(a,b)}).slice(-1)[0];return c===undefined?k(null):c}function q(a,b){if(a.quoted)return a;switch(a.kind){case k.kind:return k(s(a.value));case l.kind:return t(a.value,a.namespace,b);case m.kind:return m.apply(h,a.value.map(function(a){return q(a,b)}));case o.kind:return r(a,b.extend());default:return a}}function r(a,b){var c=q(a.value[0],b),d=a.value.slice(1);return c.macro||(d=d.map(function(a){return q(a,b)})),(typeof c=="function"?c:c.value).apply(b,d)}function s(a){if(a==="true")return!0;if(a==="false")return!1;if(a==="nil")return null}function t(a,b,c){var d,e=[u,v,w,x,y,z];return e.find(function(e){return(d=e.call(this,a,b,c))!==undefined}),d}function u(a,b){if(b!==undefined){if(f.get(b)===undefined)throw new Error("No such namespace: "+b);return f.get(b).get(a)}}function v(a,b){if(b!==undefined)return;var c=g[a];if(typeof c=="function")return c}function w(a,b,c){if(c.get(a)!==undefined)return c.get(a)}function x(a){if(typeof window!="undefined"&&window[a]!==undefined)return function(){return window[a].apply(window,arguments)}}function y(a){if(typeof global!="undefined"&&global[a]!==undefined)return function(){return global[a].apply(global,arguments)}}function z(a,b,c){throw b!==undefined?new Error("No such var: "+b+"/"+a):new Error("Unable to resolve symbol: "+a+" in this context")}var f=a("./namespace").Namespace,g=a("./clojure/specialforms"),h=a("./forms"),i=h.number,j=h.string,k=h.literal,l=h.symbol,m=h.vector,n=h.list,o=h.call;c.evaluate=p,Array.prototype.map=Array.prototype.map||function(a){var b,c=[];for(b=0;b<this.length;++b)c.push(a(this[b]));return c},Array.prototype.find=Array.prototype.find||function(a){var b;for(b=0;b<this.length;++b)if(a(this[b]))return this[b]}}),a.define("/namespace.js",function(a,b,c,d,e){function h(a){this.name=a,this.vars={}}var f=a("./forms"),g=f.literal;c.Namespace=h,h.get=function(a){return h.all[a]},h.set=function(b){if(!h.all[b]){var c=new h(b);c.use(a("./clojure/core")),h.all[b]=c}h.current=h.all[b]},h.reset=function(){h.all=[],h.set("user")},h.prototype.use=function(a){var b;for(b in a.vars)this.set(b,a.get(b))},h.prototype.get=function(a){return this.vars[a]},h.prototype.set=function(a,b){this.vars[a]=b},h.prototype.extend=function(){function b(){}var a=new h;return b.prototype=this.vars,a.vars=new b,a},h.reset()}),a.define("/clojure/core.js",function(a,b,c,d,e){function h(a){var b;for(b in a)g.set(b,a[b])}var f=a("../namespace").Namespace,g=b.exports=new f("clojure.core");h(a("./core.collections.lists")),h(a("./core.primitives.numbers.arithmetic")),h(a("./core.primitives.numbers.test")),h(a("./core.functions")),h(a("./core.sequences")),h(a("./core.misc")),h(a("./core.macros")),h(a("./core.io")),h(a("./core.namespace"))}),a.define("/clojure/core.collections.lists.js",function(a,b,c,d,e){var f=a("../evaluator"),g=a("../reader"),h=a("../forms"),i=h.list;c.first=function(a){return f.evaluate([a.value[0]])},c.second=function(a){return f.evaluate([a.value[1]])},c.nth=function(a,b){return f.evaluate([a.value[b]])},c.rest=function(a){return a.value.splice(0,1),a},c.list=function(){var a=i.apply(this,arguments);return a.quoted=!0,a},c.list.macro=!0}),a.define("/clojure/core.primitives.numbers.arithmetic.js",function(a,b,c,d,e){var f=a("../forms"),g=f.number;c["+"]=function(){var a=0;return Array.prototype.map.call(arguments,function(b){a+=b.value}),g(a)},c["-"]=function(){var a=arguments[0];return Array.prototype.map.call(Array.prototype.slice.call(arguments,1),function(b){a-=b.value}),g(a)},c["*"]=function(){var a=1;return Array.prototype.map.call(arguments,function(b){a*=b.value}),g(a)},c["/"]=function(){var a=arguments[0];return Array.prototype.map.call(Array.prototype.slice.call(arguments,1),function(b){a/=b.value}),g(a)},c.mod=function(a,b){return g(a.value%b.value)}}),a.define("/clojure/core.primitives.numbers.test.js",function(a,b,c,d,e){var f=a("../forms"),g=f.literal;c["odd?"]=function(a){return g(a%2===1)},c["even?"]=function(a){return g(a%2===0)}}),a.define("/clojure/core.functions.js",function(a,b,c,d,e){var f=a("../evaluator"),g=a("./specialforms"),h=a("../namespace").Namespace,i=a("../forms"),j=i.literal;c.partial=function(){var a=arguments[0],b=Array.prototype.slice.call(arguments,1);return function(){var c=this;return function(){var d;return Array.prototype.map.call(arguments,function(a){b.push(a)}),d=a.apply(c,b),d===undefined||d===null?j(null):d}.apply(c,arguments)}},c.defn=function(a,b,c){h.current.set(a.value,g.fn.call(this,b,c))},c.defn.macro=!0}),a.define("/clojure/specialforms.js",function(a,b,c,d,e){var f=a("../evaluator"),g=a("../namespace").Namespace,h=a("../forms"),i=h.list,j=h.literal;c.def=function(a,b){var c=this,d=typeof b=="undefined"?j(null):f.evaluate([b],c);g.current.set(a.value,d)},c.def.macro=!0,c["if"]=function(a,b,c){var d=this,e=f.evaluate([a],d);if(e.value!==null&&e.value!==!1)return f.evaluate([b],d);if(typeof c!="undefined")return f.evaluate([c],d)},c["if"].macro=!0,c.fn=function(a,b){var c=this;return function(){var d=arguments;return a.value.map(function(a,b){c.set(a.value,d[b])}),f.evaluate(b===undefined?[]:[b],c)}},c.fn.macro=!0,c.let=function(a,b){var c=this,d,e,g;if(a.value.length%2!==0)throw new Error("let requires an even number of forms in binding vector");for(d=0;d<a.value.length;d+=2)e=a.value[d].value,g=f.evaluate([a.value[d+1]],c),c.set(e,g);return f.evaluate([b],c)},c.let.macro=!0}),a.define("/clojure/core.sequences.js",function(a,b,c,d,e){var f=a("../forms"),g=f.list;c.map=function(a,b){if(b.kind==="list")return Array.prototype.map.call(b.value,function(b){return a(b.value)});var c=b.value.map(a);return c},c.concat=function(){var a=[];return Array.prototype.map.call(arguments,function(b){a=a.concat(b.value)}),g.apply(this,a)},c.cons=function(a,b){return b.value.splice(0,0,a),b},c.cons.macro=!0}),a.define("/clojure/core.misc.js",function(a,b,c,d,e){var f=a("../forms"),g=f.literal,h=f.string,i=f.number,j=f.keyword;c["="]=function k(){var a=!0,b=Array.prototype.slice.call(arguments,0),c,d;for(var e=0;e<b.length-1;e++){c=b[e],d=b[e+1];if(c.kind===h.kind||c.kind===i.kind||c.kind===j.kind){if(c.value!==d.value||c.kind!==d.kind)return g(!1)}else{if(c.value.length!==d.value.length)return g(!1);for(var f=0;f<c.value.length;f++)if(!k(c.value[f],d.value[f]).value)return g(!1)}}return g(!0)}}),a.define("/clojure/core.macros.js",function(a,b,c,d,e){var f=a("../evaluator"),g=a("../namespace").Namespace,h=a("../forms"),i=h.literal;c.defmacro=function(a,b,c){var d=this,e=function(){var a={kind:"call",value:[]},e=arguments;return a.value=c.value.map(function(a){for(var c=0;c<b.value.length;c++){var d=b.value[c];if(a.value===d.value)return e[c]}return a}),f.evaluate([a],d)},h=function(){return e.apply(d,arguments)};h.macro=!0,g.current.set(a.value,h)},c.defmacro.macro=!0,c.assert=function(a){var b=function(a,b){return"Assert failed: "+a.stringify()+(b!==undefined?"; "+b:"")};try{if(f.evaluate([a]).value!==!0){var c=new Error(b(a));throw c.constructedByAssert=!0,c}}catch(d){throw d.constructedByAssert?d:new Error(b(a,d.message))}},c.assert.macro=!0}),a.define("/clojure/core.io.js",function(a,b,c,d,e){c.println=function(){console.log.apply(console,arguments)}}),a.define("/clojure/core.namespace.js",function(a,b,c,d,e){var f=a("../namespace").Namespace;c.ns=function(a){f.set(a.value)},c.ns.macro=!0}),a.define("/clojure.js",function(a,b,c,d,e){var f=a("./reader"),g=a("./evaluator");c.run=function(a){var b=f.read(a);return g.evaluate(b)},typeof window!="undefined"&&(window.clojurejs={run:c.run})}),a("/clojure.js")})()