forked from jashkenas/underscore
-
Notifications
You must be signed in to change notification settings - Fork 0
/
underscore-min.js
1 lines (1 loc) · 5.58 KB
/
underscore-min.js
1
(function(){var d=(typeof window==="undefined"&&typeof exports!=="undefined");var c=d?null:window._;var a=function(e){return e};var b={};d?b=exports:window._=b;b.VERSION="0.3.0";b.each=function(j,m,f){var n=0;try{if(j.forEach){j.forEach(m,f)}else{if(j.length){for(var k=0,g=j.length;k<g;k++){m.call(f,j[k],k)}}else{if(j.each){j.each(function(e){m.call(f,e,n++)})}else{var k=0;for(var q in j){if(Object.prototype.hasOwnProperty.call(j,q)){var p=j[q],h=[q,p];h.key=q;h.value=p;m.call(f,h,k++)}}}}}}catch(o){if(o!="__break__"){throw o}}return j};b.map=function(h,g,f){if(h&&h.map){return h.map(g,f)}var e=[];b.each(h,function(k,j){e.push(g.call(f,k,j))});return e};b.reduce=function(h,e,g,f){b.each(h,function(k,j){e=g.call(f,e,k,j)});return e};b.detect=function(h,g,f){var e;b.each(h,function(k,j){if(g.call(f,k,j)){e=k;throw"__break__"}});return e};b.select=function(h,g,f){if(h.filter){return h.filter(g,f)}var e=[];b.each(h,function(k,j){g.call(f,k,j)&&e.push(k)});return e};b.reject=function(h,g,f){var e=[];b.each(h,function(k,j){!g.call(f,k,j)&&e.push(k)});return e};b.all=function(h,g,f){g=g||a;if(h.every){return h.every(g,f)}var e=true;b.each(h,function(k,j){if(!(e=e&&g.call(f,k,j))){throw"__break__"}});return e};b.any=function(h,g,f){g=g||a;if(h.some){return h.some(g,f)}var e=false;b.each(h,function(k,j){if(e=g.call(f,k,j)){throw"__break__"}});return e};b.include=function(g,f){if(b.isArray(g)){return b.indexOf(g,f)!=-1}var e=false;b.each(g,function(h){if(e=h.value===f){throw"__break__"}});return e};b.invoke=function(f,g){var e=b.toArray(arguments).slice(2);return b.map(f,function(h){return(g?h[g]:h).apply(h,e)})};b.pluck=function(g,f){var e=[];b.each(g,function(h){e.push(h[f])});return e};b.max=function(h,g,f){if(!g&&b.isArray(h)){return Math.max.apply(Math,h)}var e={computed:-Infinity};b.each(h,function(m,j){var k=g?g.call(f,m,j):m;k>=e.computed&&(e={value:m,computed:k})});return e.value};b.min=function(h,g,f){if(!g&&b.isArray(h)){return Math.min.apply(Math,h)}var e={computed:Infinity};b.each(h,function(m,j){var k=g?g.call(f,m,j):m;k<e.computed&&(e={value:m,computed:k})});return e.value};b.sortBy=function(g,f,e){return b.pluck(b.map(g,function(j,h){return{value:j,criteria:f.call(e,j,h)}}).sort(function(m,k){var j=m.criteria,h=k.criteria;return j<h?-1:j>h?1:0}),"value")};b.sortedIndex=function(k,j,g){g=g||a;var e=0,h=k.length;while(e<h){var f=(e+h)>>1;g(k[f])<g(j)?e=f+1:h=f}return e};b.toArray=function(e){if(!e){return[]}if(b.isArray(e)){return e}return b.map(e,function(f){return f})};b.size=function(e){return b.toArray(e).length};b.first=function(e){return e[0]};b.last=function(e){return e[e.length-1]};b.compact=function(e){return b.select(e,function(f){return !!f})};b.flatten=function(e){return b.reduce(e,[],function(f,g){if(b.isArray(g)){return f.concat(b.flatten(g))}f.push(g);return f})};b.without=function(f){var e=f.slice.call(arguments,0);return b.select(f,function(g){return !b.include(e,g)})};b.uniq=function(f,e){return b.reduce(f,[],function(g,j,h){if(0==h||(e?b.last(g)!=j:!b.include(g,j))){g.push(j)}return g})};b.intersect=function(f){var e=b.toArray(arguments).slice(1);return b.select(b.uniq(f),function(g){return b.all(e,function(h){return b.indexOf(h,g)>=0})})};b.zip=function(){var e=b.toArray(arguments);var h=b.max(b.pluck(e,"length"));var g=new Array(h);for(var f=0;f<h;f++){g[f]=b.pluck(e,String(f))}return g};b.indexOf=function(f,e){if(f.indexOf){return f.indexOf(e)}for(i=0,l=f.length;i<l;i++){if(f[i]===e){return i}}return -1};b.lastIndexOf=function(g,f){if(g.lastIndexOf){return g.lastIndexOf(f)}var e=g.length;while(e--){if(g[e]===f){return e}}return -1};b.bind=function(g,f){if(!f){return g}var e=b.toArray(arguments).slice(2);return function(){var h=e.concat(b.toArray(arguments));return g.apply(f,h)}};b.bindAll=function(){var e=b.toArray(arguments);var f=e.pop();b.each(e,function(g){f[g]=b.bind(f[g],f)})};b.delay=function(f,g){var e=b.toArray(arguments).slice(2);return setTimeout(function(){return f.apply(f,e)},g)};b.defer=function(e){return b.delay.apply(b,[e,1].concat(b.toArray(arguments).slice(1)))};b.wrap=function(e,f){return function(){var g=[e].concat(b.toArray(arguments));return f.apply(f,g)}};b.compose=function(){var e=b.toArray(arguments);return function(){for(var f=e.length-1;f>=0;f--){arguments=[e[f].apply(this,arguments)]}return arguments[0]}};b.keys=function(e){return b.pluck(e,"key")};b.values=function(e){return b.pluck(e,"value")};b.extend=function(e,g){for(var f in g){e[f]=g[f]}return e};b.clone=function(e){return b.extend({},e)};b.isEqual=function(f,e){if(f===e){return true}var j=typeof(f),m=typeof(e);if(j!=m){return false}if(f==e){return true}if(f.isEqual){return f.isEqual(e)}if(j!=="object"){return false}var g=b.keys(f),k=b.keys(e);if(g.length!=k.length){return false}for(var h in f){if(!b.isEqual(f[h],e[h])){return false}}return true};b.isElement=function(e){return !!(e&&e.nodeType==1)};b.isArray=function(e){return Object.prototype.toString.call(e)=="[object Array]"};b.isFunction=function(e){return Object.prototype.toString.call(e)=="[object Function]"};b.isUndefined=function(e){return typeof e=="undefined"};b.noConflict=function(){if(!d){window._=c}return this};b.uniqueId=function(e){var f=this._idCounter=(this._idCounter||0)+1;return e?e+f:f};b.template=function(g,f){var e=new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+g.replace(/[\r\t\n]/g," ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');");return f?e(f):e};b.forEach=b.each;b.inject=b.reduce;b.filter=b.select;b.every=b.all;b.some=b.any})();