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