Update lodash underscore build _.findWhere to follow v1.4.4 null behavior.

Former-commit-id: 7b6ce7e9d7cf032171f43835bbf907cf3ffeb908
This commit is contained in:
John-David Dalton
2013-02-01 01:55:42 -08:00
parent c1eff5aebb
commit d7fea5dc78
6 changed files with 81 additions and 47 deletions

View File

@@ -42,10 +42,7 @@
'select': 'filter',
'tail': 'rest',
'take': 'first',
'unique': 'uniq',
// method used by the `backbone` and `underscore` builds
'findWhere': 'find'
'unique': 'uniq'
};
/** Used to associate real names with their aliases */
@@ -54,7 +51,7 @@
'contains': ['include'],
'every': ['all'],
'filter': ['select'],
'find': ['detect', 'findWhere'],
'find': ['detect'],
'first': ['head', 'take'],
'forEach': ['each'],
'functions': ['methods'],
@@ -167,7 +164,8 @@
'zip': ['max', 'pluck'],
// method used by the `backbone` and `underscore` builds
'chain': ['mixin']
'chain': ['mixin'],
'findWhere': ['where']
};
/** Used to inline `iteratorTemplate` */
@@ -1423,6 +1421,7 @@
dependencyMap.sortedIndex = _.without(dependencyMap.sortedIndex, 'isEqual', 'keys');
dependencyMap.template = _.without(dependencyMap.template, 'keys', 'values');
dependencyMap.uniq = _.without(dependencyMap.uniq, 'isEqual', 'keys');
dependencyMap.where.push('find', 'isEmpty');
if (useUnderscoreClone) {
dependencyMap.clone = _.without(dependencyMap.clone, 'forEach', 'forOwn');
@@ -1864,7 +1863,9 @@
// replace `_.where`
source = replaceFunction(source, 'where', [
' function where(collection, properties, first) {',
' return (first ? find : filter)(collection, properties);',
' return (first && isEmpty(properties))',
' ? null',
' : (first ? find : filter)(collection, properties);',
' }'
].join('\n'));
@@ -1885,9 +1886,19 @@
' }'
].join('\n'));
// add `_.findWhere` alias of `_.find`
// add `_.findWhere`
source = source.replace(matchFunction(source, 'find'), function (match) {
return match + [
'',
' function findWhere(object, properties) {',
' return where(object, properties, true);',
' }',
''
].join('\n')
});
source = source.replace(getMethodAssignments(source), function(match) {
return match.replace(/^( *)lodash.find *=.+/m, '$&\n$1lodash.findWhere = find;');
return match.replace(/^( *)lodash.find *=.+/m, '$&\n$1lodash.findWhere = findWhere;');
});
// remove `_.isEqual` use from `createCallback`

View File

@@ -1782,6 +1782,10 @@
return result;
}
function findWhere(object, properties) {
return where(object, properties, true);
}
/**
* Iterates over a `collection`, executing the `callback` for each element in
* the `collection`. The `callback` is bound to `thisArg` and invoked with three
@@ -2351,7 +2355,9 @@
* // => [{ 'name': 'moe', 'age': 40 }]
*/
function where(collection, properties, first) {
return (first ? find : filter)(collection, properties);
return (first && isEmpty(properties))
? null
: (first ? find : filter)(collection, properties);
}
/*--------------------------------------------------------------------------*/
@@ -3957,7 +3963,7 @@
lodash.escape = escape;
lodash.every = every;
lodash.find = find;
lodash.findWhere = find;
lodash.findWhere = findWhere;
lodash.has = has;
lodash.identity = identity;
lodash.indexOf = indexOf;

View File

@@ -4,30 +4,30 @@
* Build: `lodash underscore -m -o ./lodash.underscore.min.js`
* Underscore.js 1.4.4 underscorejs.org/LICENSE
*/
;(function(n,t){function r(n,t){var r;if(n&&Ft[typeof n])for(r in t||(t=V),n)if(t(n[r],r,n)===Y)break}function e(n,t,r){if(n){t=t&&typeof r=="undefined"?t:a(t,r);var e=n.length;if(r=-1,typeof e=="number")for(;++r<e&&t(n[r],r,n)!==Y;);else for(r in n)if(ft.call(n,r)&&t(n[r],r,n)===Y)break}}function u(n){return n&&typeof n=="object"&&n.__wrapped__?n:this instanceof u?(this.__wrapped__=n,void 0):new u(n)}function o(n,t){var r=n.b,e=t.b;if(n=n.a,t=t.a,n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1
}return r<e?-1:1}function i(n,t,r){function e(){var a=arguments,f=o?this:t;return u||(n=t[i]),r.length&&(a=a.length?(a=p(a),r.concat(a)):r),this instanceof e?(l.prototype=n.prototype,f=new l,l.prototype=H,a=n.apply(f,a),j(a)?a:f):n.apply(f,a)}var u=b(n),o=!r,i=t;return o&&(r=t),u||(t=n),e}function a(n,t,r){if(!n)return V;var e=typeof n;if("function"!=e){if("object"!=e)return function(t){return t[n]};var u=qt(n);return function(t){for(var r=u.length,e=J;r--&&(e=t[u[r]]===n[u[r]]););return e}}return typeof t!="undefined"?1===r?function(r){return n.call(t,r)
}:2===r?function(r,e){return n.call(t,r,e)}:4===r?function(r,e,u,o){return n.call(t,r,e,u,o)}:function(r,e,u){return n.call(t,r,e,u)}:n}function f(n){return"\\"+Rt[n]}function c(n){return Bt[n]}function l(){}function p(n,t,r){t||(t=0),typeof r=="undefined"&&(r=n?n.length:0);var e=-1;r=r-t||0;for(var u=Array(0>r?0:r);++e<r;)u[e]=n[t+e];return u}function s(n){return Dt[n]}function v(n){return lt.call(n)==dt}function h(n){var t,r=[],e=function(n,t){r.push(t)};if(n&&Ft[typeof n])for(t in e||(e=V),n)if(ft.call(n,t)&&e(n[t],t,n)===Y)break;
return r}function g(n){if(!n)return n;for(var t=1,r=arguments.length;t<r;t++){var e=arguments[t];if(e)for(var u in e)n[u]=e[u]}return n}function y(n){if(!n)return n;for(var t=1,r=arguments.length;t<r;t++){var e=arguments[t];if(e)for(var u in e)n[u]==H&&(n[u]=e[u])}return n}function _(n){var t=[];return r(n,function(n,r){b(n)&&t.push(r)}),t.sort()}function m(n){for(var t=-1,r=qt(n),e=r.length,u={};++t<e;){var o=r[t];u[n[o]]=o}return u}function d(n,t,e,u){if(n===t)return 0!==n||1/n==1/t;var o=typeof n,i=typeof t;
if(n===n&&(!n||"function"!=o&&"object"!=o)&&(!t||"function"!=i&&"object"!=i))return J;if(i=lt.call(n),o=lt.call(t),i!=o)return J;switch(i){case jt:case wt:return+n==+t;case xt:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case Et:case Ot:return n==t+""}if(o=i==bt,!o){if(n.__wrapped__||t.__wrapped__)return d(n.__wrapped__||n,t.__wrapped__||t,e,u);if(i!=At)return J;var i=n.constructor,a=t.constructor;if(i!=a&&(!b(i)||!(i instanceof i&&b(a)&&a instanceof a)))return J}for(e||(e=[]),u||(u=[]),i=e.length;i--;)if(e[i]==n)return u[i]==t;
var f=G,c=0;if(e.push(n),u.push(t),o){if(c=t.length,f=c==n.length)for(;c--&&(f=d(n[c],t[c],e,u)););return f}return r(t,function(t,r,o){return ft.call(o,r)?(c++,!(f=ft.call(n,r)&&d(n[r],t,e,u))&&Y):void 0}),f&&r(n,function(n,t,r){return ft.call(r,t)?!(f=-1<--c)&&Y:void 0}),f}function b(n){return typeof n=="function"}function j(n){return n?Ft[typeof n]:J}function w(n){return typeof n=="number"||lt.call(n)==xt}function x(n){return typeof n=="string"||lt.call(n)==Ot}function A(n){for(var t=-1,r=qt(n),e=r.length,u=Array(e);++t<e;)u[t]=n[r[t]];
return u}function E(n,t){var r=J;return typeof(n?n.length:0)=="number"?r=-1<I(n,t):e(n,function(n){return(r=n===t)&&Y}),r}function O(n,t,r){var u=G;if(t=a(t,r),Tt(n)){r=-1;for(var o=n.length;++r<o&&(u=!!t(n[r],r,n)););}else e(n,function(n,r,e){return!(u=!!t(n,r,e))&&Y});return u}function S(n,t,r){var u=[];if(t=a(t,r),Tt(n)){r=-1;for(var o=n.length;++r<o;){var i=n[r];t(i,r,n)&&u.push(i)}}else e(n,function(n,r,e){t(n,r,e)&&u.push(n)});return u}function N(n,t,r){var e;return t=a(t,r),k(n,function(n,r,u){return t(n,r,u)?(e=n,Y):void 0
}),e}function k(n,t,r){if(t&&typeof r=="undefined"&&Tt(n)){r=-1;for(var u=n.length;++r<u&&t(n[r],r,n)!==Y;);}else e(n,t,r)}function F(n,t,r){var u=-1,o=n?n.length:0,i=Array(typeof o=="number"?o:0);if(t=a(t,r),Tt(n))for(;++u<o;)i[u]=t(n[u],u,n);else e(n,function(n,r,e){i[++u]=t(n,r,e)});return i}function R(n,t,r){var u=-1/0,o=u;if(!t&&Tt(n)){r=-1;for(var i=n.length;++r<i;){var f=n[r];f>o&&(o=f)}}else t=a(t,r),e(n,function(n,r,e){r=t(n,r,e),r>u&&(u=r,o=n)});return o}function T(n,t){return F(n,t+"")
}function q(n,t,r,u){var o=3>arguments.length;if(t=a(t,u,4),Tt(n)){var i=-1,f=n.length;for(o&&(r=n[++i]);++i<f;)r=t(r,n[i],i,n)}else e(n,function(n,e,u){r=o?(o=J,n):t(r,n,e,u)});return r}function B(n,t,r,e){var u=n?n.length:0,o=3>arguments.length;if(typeof u!="number")var i=qt(n),u=i.length;return t=a(t,e,4),k(n,function(e,a,f){a=i?i[--u]:--u,r=o?(o=J,n[a]):t(r,n[a],a,f)}),r}function D(n,t,r){var u;if(t=a(t,r),Tt(n)){r=-1;for(var o=n.length;++r<o&&!(u=t(n[r],r,n)););}else e(n,function(n,r,e){return(u=t(n,r,e))&&Y
});return!!u}function M(n,t,r){if(n){var e=0,u=n.length;if(typeof t=="function"){var o=-1;for(t=a(t,r);++o<u&&t(n[o],o,n);)e++}else if(e=t,e==H||r)return n[0];return p(n,0,_t(yt(0,e),u))}}function $(n,t){for(var r=-1,e=n?n.length:0,u=[];++r<e;){var o=n[r];Tt(o)?ct.apply(u,t?o:$(o)):u.push(o)}return u}function I(n,t,r){var e=-1,u=n?n.length:0;if(typeof r=="number")e=(0>r?yt(0,u+r):r||0)-1;else if(r)return e=C(n,t),n[e]===t?e:-1;for(;++e<u;)if(n[e]===t)return e;return-1}function z(n,t,r){if(typeof t=="function"){var e=0,u=-1,o=n?n.length:0;
for(t=a(t,r);++u<o&&t(n[u],u,n);)e++}else e=t==H||r?1:yt(0,t);return p(n,e)}function C(n,t,r,e){var u=0,o=n?n.length:u;for(r=r?a(r,e,1):V,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;return u}function P(n,t,r,e){var u=-1,o=n?n.length:0,i=[],f=i;for(typeof t=="function"&&(e=r,r=t,t=J),r&&(f=[],r=a(r,e));++u<o;){e=n[u];var c=r?r(e,u,n):e;(t?!u||f[f.length-1]!==c:0>I(f,c))&&(r&&f.push(c),i.push(e))}return i}function U(n,t){return St||pt&&2<arguments.length?pt.call.apply(pt,arguments):i(n,t,p(arguments,2))
}function V(n){return n}function W(n){k(_(n),function(t){var r=u[t]=n[t];u.prototype[t]=function(){var n=[this.__wrapped__];return ct.apply(n,arguments),n=r.apply(u,n),this.__chain__&&(n=new u(n),n.__chain__=G),n}})}var G=!0,H=null,J=!1,K=typeof exports=="object"&&exports,L=typeof global=="object"&&global;L.global===L&&(n=L);var Q=[],L={},X=0,Y=L,Z=n._,nt=/&(?:amp|lt|gt|quot|#x27);/g,tt=RegExp("^"+(L.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),rt=/($^)/,et=/[&<>"']/g,ut=/['\n\r\t\u2028\u2029\\]/g,ot=Math.ceil,it=Q.concat,at=Math.floor,ft=L.hasOwnProperty,ct=Q.push,lt=L.toString,pt=tt.test(pt=p.bind)&&pt,st=tt.test(st=Array.isArray)&&st,vt=n.isFinite,ht=n.isNaN,gt=tt.test(gt=Object.keys)&&gt,yt=Math.max,_t=Math.min,mt=Math.random,dt="[object Arguments]",bt="[object Array]",jt="[object Boolean]",wt="[object Date]",xt="[object Number]",At="[object Object]",Et="[object RegExp]",Ot="[object String]",L=!!n.attachEvent,L=pt&&!/\n|true/.test(pt+L),St=pt&&!L,Nt=(Nt={0:1,length:1},Q.splice.call(Nt,0,1),Nt[0]),kt=arguments.constructor==Object,Ft={"boolean":J,"function":G,object:G,number:J,string:J,undefined:J},Rt={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};
u.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},v(arguments)||(v=function(n){return n?ft.call(n,"callee"):J});var Tt=st||function(n){return kt&&n instanceof Array||lt.call(n)==bt},qt=gt?function(n){return j(n)?gt(n):[]}:h,Bt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},Dt=m(Bt);b(/x/)&&(b=function(n){return n instanceof Function||"[object Function]"==lt.call(n)}),u.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0
}},u.bind=U,u.bindAll=function(n){for(var t=it.apply(Q,arguments),r=1<t.length?0:(t=_(n),-1),e=t.length;++r<e;){var u=t[r];n[u]=U(n[u],n)}return n},u.compact=function(n){for(var t=-1,r=n?n.length:0,e=[];++t<r;){var u=n[t];u&&e.push(u)}return e},u.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},u.countBy=function(n,t,r){var e={};return t=a(t,r),k(n,function(n,r,u){r=t(n,r,u)+"",ft.call(e,r)?e[r]++:e[r]=1}),e},u.debounce=function(n,t,r){function e(){a=H,r||(o=n.apply(i,u))
}var u,o,i,a;return function(){var f=r&&!a;return u=arguments,i=this,clearTimeout(a),a=setTimeout(e,t),f&&(o=n.apply(i,u)),o}},u.defaults=y,u.defer=function(n){var r=p(arguments,1);return setTimeout(function(){n.apply(t,r)},1)},u.delay=function(n,r){var e=p(arguments,2);return setTimeout(function(){n.apply(t,e)},r)},u.difference=function(n){for(var t=-1,r=n.length,e=it.apply(Q,arguments),u=[];++t<r;){var o=n[t];0>I(e,o,r)&&u.push(o)}return u},u.filter=S,u.flatten=$,u.forEach=k,u.functions=_,u.groupBy=function(n,t,r){var e={};
return t=a(t,r),k(n,function(n,r,u){r=t(n,r,u)+"",(ft.call(e,r)?e[r]:e[r]=[]).push(n)}),e},u.initial=function(n,t,r){if(!n)return[];var e=0,u=n.length;if(typeof t=="function"){var o=u;for(t=a(t,r);o--&&t(n[o],o,n);)e++}else e=t==H||r?1:t||e;return p(n,0,_t(yt(0,u-e),u))},u.intersection=function(n){var t=arguments,r=t.length,e=-1,u=n?n.length:0,o=[];n:for(;++e<u;){var i=n[e];if(0>I(o,i)){for(var a=r;--a;)if(0>I(t[a],i))continue n;o.push(i)}}return o},u.invert=m,u.invoke=function(n,t){var r=p(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=Array(typeof o=="number"?o:0);
return k(n,function(n){i[++e]=(u?t:n[t]).apply(n,r)}),i},u.keys=qt,u.map=F,u.max=R,u.memoize=function(n,t){var r={};return function(){var e=(t?t.apply(this,arguments):arguments[0])+"";return ft.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},u.min=function(n,t,r){var u=1/0,o=u;if(!t&&Tt(n)){r=-1;for(var i=n.length;++r<i;){var f=n[r];f<o&&(o=f)}}else t=a(t,r),e(n,function(n,r,e){r=t(n,r,e),r<u&&(u=r,o=n)});return o},u.object=function(n,t){for(var r=-1,e=n?n.length:0,u={};++r<e;){var o=n[r];t?u[o]=t[r]:u[o[0]]=o[1]
}return u},u.omit=function(n){var t=it.apply(Q,arguments),e={};return r(n,function(n,r){0>I(t,r,1)&&(e[r]=n)}),e},u.once=function(n){var t,r;return function(){return t?r:(t=G,r=n.apply(this,arguments),n=H,r)}},u.pairs=function(n){for(var t=-1,r=qt(n),e=r.length,u=Array(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},u.partial=function(n){return i(n,p(arguments,1))},u.pick=function(n){for(var t=0,r=it.apply(Q,arguments),e=r.length,u={};++t<e;){var o=r[t];o in n&&(u[o]=n[o])}return u},u.pluck=T,u.range=function(n,t,r){n=+n||0,r=+r||1,t==H&&(t=n,n=0);
var e=-1;t=yt(0,ot((t-n)/r));for(var u=Array(t);++e<t;)u[e]=n,n+=r;return u},u.reject=function(n,t,r){return t=a(t,r),S(n,function(n,r,e){return!t(n,r,e)})},u.rest=z,u.shuffle=function(n){var t=-1,r=n?n.length:0,e=Array(typeof r=="number"?r:0);return k(n,function(n){var r=at(mt()*(++t+1));e[t]=e[r],e[r]=n}),e},u.sortBy=function(n,t,r){var e=-1,u=n?n.length:0,i=Array(typeof u=="number"?u:0);for(t=a(t,r),k(n,function(n,r,u){i[++e]={a:t(n,r,u),b:e,c:n}}),u=i.length,i.sort(o);u--;)i[u]=i[u].c;return i
},u.tap=function(n,t){return t(n),n},u.throttle=function(n,t){function r(){a=new Date,i=H,u=n.apply(o,e)}var e,u,o,i,a=0;return function(){var f=new Date,c=t-(f-a);return e=arguments,o=this,0<c?i||(i=setTimeout(r,c)):(clearTimeout(i),i=H,a=f,u=n.apply(o,e)),u}},u.times=function(n,t,r){n=+n||0;for(var e=-1,u=Array(n);++e<n;)u[e]=t.call(r,e);return u},u.toArray=function(n){return n&&typeof n.length=="number"?p(n):A(n)},u.union=function(){return P(it.apply(Q,arguments))},u.uniq=P,u.values=A,u.where=function(n,t,r){return(r?N:S)(n,t)
},u.without=function(n){for(var t=-1,r=n.length,e=[];++t<r;){var u=n[t];0>I(arguments,u,1)&&e.push(u)}return e},u.wrap=function(n,t){return function(){var r=[n];return ct.apply(r,arguments),t.apply(this,r)}},u.zip=function(n){for(var t=-1,r=n?R(T(arguments,"length")):0,e=Array(r);++t<r;)e[t]=T(arguments,t);return e},u.collect=F,u.drop=z,u.each=k,u.extend=g,u.methods=_,u.select=S,u.tail=z,u.unique=P,u.clone=function(n){return j(n)?Tt(n)?p(n):g({},n):n},u.contains=E,u.escape=function(n){return n==H?"":(n+"").replace(et,c)
},u.every=O,u.find=N,u.findWhere=N,u.has=function(n,t){return n?ft.call(n,t):J},u.identity=V,u.indexOf=I,u.isArguments=v,u.isArray=Tt,u.isBoolean=function(n){return n===G||n===J||lt.call(n)==jt},u.isDate=function(n){return n instanceof Date||lt.call(n)==wt},u.isElement=function(n){return n?1===n.nodeType:J},u.isEmpty=function(n){if(!n)return G;if(Tt(n)||x(n))return!n.length;for(var t in n)if(ft.call(n,t))return J;return G},u.isEqual=d,u.isFinite=function(n){return vt(n)&&!ht(parseFloat(n))},u.isFunction=b,u.isNaN=function(n){return w(n)&&n!=+n
},u.isNull=function(n){return n===H},u.isNumber=w,u.isObject=j,u.isRegExp=function(n){return n instanceof RegExp||lt.call(n)==Et},u.isString=x,u.isUndefined=function(n){return typeof n=="undefined"},u.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?yt(0,e+r):_t(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},u.mixin=W,u.noConflict=function(){return n._=Z,this},u.random=function(n,t){return n==H&&t==H&&(t=1),n=+n||0,t==H&&(t=n,n=0),n+at(mt()*((+t||0)-n+1))},u.reduce=q,u.reduceRight=B,u.result=function(n,t){var r=n?n[t]:H;
return b(r)?n[t]():r},u.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:qt(n).length},u.some=D,u.sortedIndex=C,u.template=function(n,t,r){n||(n=""),r=y({},r,u.templateSettings);var e=0,o="__p+='",i=r.variable;n.replace(RegExp((r.escape||rt).source+"|"+(r.interpolate||rt).source+"|"+(r.evaluate||rt).source+"|$","g"),function(t,r,u,i,a){return o+=n.slice(e,a).replace(ut,f),r&&(o+="'+_['escape']("+r+")+'"),i&&(o+="';"+i+";__p+='"),u&&(o+="'+((__t=("+u+"))==null?'':__t)+'"),e=a+t.length,t
}),o+="';\n",i||(i="obj",o="with("+i+"||{}){"+o+"}"),o="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+o+"return __p}";try{var a=Function("_","return "+o)(u)}catch(c){throw c.source=o,c}return t?a(t):(a.source=o,a)},u.unescape=function(n){return n==H?"":(n+"").replace(nt,s)},u.uniqueId=function(n){var t=++X+"";return n?n+t:t},u.all=O,u.any=D,u.detect=N,u.foldl=q,u.foldr=B,u.include=E,u.inject=q,u.first=M,u.last=function(n,t,r){if(n){var e=0,u=n.length;
if(typeof t=="function"){var o=u;for(t=a(t,r);o--&&t(n[o],o,n);)e++}else if(e=t,e==H||r)return n[u-1];return p(n,yt(0,u-e))}},u.take=M,u.head=M,u.chain=function(n){return n=new u(n),n.__chain__=G,n},u.VERSION="1.0.0-rc.3",W(u),u.prototype.chain=function(){return this.__chain__=G,this},u.prototype.value=function(){return this.__wrapped__},e("pop push reverse shift sort splice unshift".split(" "),function(n){var t=Q[n];u.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),Nt&&0===n.length&&delete n[0],this
}}),e(["concat","join","slice"],function(n){var t=Q[n];u.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new u(n),n.__chain__=G),n}}),K?typeof module=="object"&&module&&module.exports==K?(module.exports=u)._=u:K._=u:n._=u})(this);
;(function(n,t){function r(n,t){var r;if(n&&Tt[typeof n])for(r in t||(t=G),n)if(t(n[r],r,n)===nt)break}function e(n,t,r){if(n){t=t&&typeof r=="undefined"?t:a(t,r);var e=n.length;if(r=-1,typeof e=="number")for(;++r<e&&t(n[r],r,n)!==nt;);else for(r in n)if(lt.call(n,r)&&t(n[r],r,n)===nt)break}}function u(n){return n&&typeof n=="object"&&n.__wrapped__?n:this instanceof u?(this.__wrapped__=n,void 0):new u(n)}function o(n,t){var r=n.b,e=t.b;if(n=n.a,t=t.a,n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1
}return r<e?-1:1}function i(n,t,r){function e(){var a=arguments,f=o?this:t;return u||(n=t[i]),r.length&&(a=a.length?(a=p(a),r.concat(a)):r),this instanceof e?(l.prototype=n.prototype,f=new l,l.prototype=K,a=n.apply(f,a),w(a)?a:f):n.apply(f,a)}var u=j(n),o=!r,i=t;return o&&(r=t),u||(t=n),e}function a(n,t,r){if(!n)return G;var e=typeof n;if("function"!=e){if("object"!=e)return function(t){return t[n]};var u=Dt(n);return function(t){for(var r=u.length,e=L;r--&&(e=t[u[r]]===n[u[r]]););return e}}return typeof t!="undefined"?1===r?function(r){return n.call(t,r)
}:2===r?function(r,e){return n.call(t,r,e)}:4===r?function(r,e,u,o){return n.call(t,r,e,u,o)}:function(r,e,u){return n.call(t,r,e,u)}:n}function f(n){return"\\"+qt[n]}function c(n){return Mt[n]}function l(){}function p(n,t,r){t||(t=0),typeof r=="undefined"&&(r=n?n.length:0);var e=-1;r=r-t||0;for(var u=Array(0>r?0:r);++e<r;)u[e]=n[t+e];return u}function s(n){return $t[n]}function v(n){return st.call(n)==jt}function h(n){var t,r=[],e=function(n,t){r.push(t)};if(n&&Tt[typeof n])for(t in e||(e=G),n)if(lt.call(n,t)&&e(n[t],t,n)===nt)break;
return r}function g(n){if(!n)return n;for(var t=1,r=arguments.length;t<r;t++){var e=arguments[t];if(e)for(var u in e)n[u]=e[u]}return n}function y(n){if(!n)return n;for(var t=1,r=arguments.length;t<r;t++){var e=arguments[t];if(e)for(var u in e)n[u]==K&&(n[u]=e[u])}return n}function _(n){var t=[];return r(n,function(n,r){j(n)&&t.push(r)}),t.sort()}function m(n){for(var t=-1,r=Dt(n),e=r.length,u={};++t<e;){var o=r[t];u[n[o]]=o}return u}function d(n){if(!n)return J;if(Bt(n)||A(n))return!n.length;for(var t in n)if(lt.call(n,t))return L;
return J}function b(n,t,e,u){if(n===t)return 0!==n||1/n==1/t;var o=typeof n,i=typeof t;if(n===n&&(!n||"function"!=o&&"object"!=o)&&(!t||"function"!=i&&"object"!=i))return L;if(i=st.call(n),o=st.call(t),i!=o)return L;switch(i){case xt:case At:return+n==+t;case Et:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case St:case Nt:return n==t+""}if(o=i==wt,!o){if(n.__wrapped__||t.__wrapped__)return b(n.__wrapped__||n,t.__wrapped__||t,e,u);if(i!=Ot)return L;var i=n.constructor,a=t.constructor;if(i!=a&&(!j(i)||!(i instanceof i&&j(a)&&a instanceof a)))return L
}for(e||(e=[]),u||(u=[]),i=e.length;i--;)if(e[i]==n)return u[i]==t;var f=J,c=0;if(e.push(n),u.push(t),o){if(c=t.length,f=c==n.length)for(;c--&&(f=b(n[c],t[c],e,u)););return f}return r(t,function(t,r,o){return lt.call(o,r)?(c++,!(f=lt.call(n,r)&&b(n[r],t,e,u))&&nt):void 0}),f&&r(n,function(n,t,r){return lt.call(r,t)?!(f=-1<--c)&&nt:void 0}),f}function j(n){return typeof n=="function"}function w(n){return n?Tt[typeof n]:L}function x(n){return typeof n=="number"||st.call(n)==Et}function A(n){return typeof n=="string"||st.call(n)==Nt
}function E(n){for(var t=-1,r=Dt(n),e=r.length,u=Array(e);++t<e;)u[t]=n[r[t]];return u}function O(n,t){var r=L;return typeof(n?n.length:0)=="number"?r=-1<C(n,t):e(n,function(n){return(r=n===t)&&nt}),r}function S(n,t,r){var u=J;if(t=a(t,r),Bt(n)){r=-1;for(var o=n.length;++r<o&&(u=!!t(n[r],r,n)););}else e(n,function(n,r,e){return!(u=!!t(n,r,e))&&nt});return u}function N(n,t,r){var u=[];if(t=a(t,r),Bt(n)){r=-1;for(var o=n.length;++r<o;){var i=n[r];t(i,r,n)&&u.push(i)}}else e(n,function(n,r,e){t(n,r,e)&&u.push(n)
});return u}function k(n,t,r){var e;return t=a(t,r),F(n,function(n,r,u){return t(n,r,u)?(e=n,nt):void 0}),e}function F(n,t,r){if(t&&typeof r=="undefined"&&Bt(n)){r=-1;for(var u=n.length;++r<u&&t(n[r],r,n)!==nt;);}else e(n,t,r)}function R(n,t,r){var u=-1,o=n?n.length:0,i=Array(typeof o=="number"?o:0);if(t=a(t,r),Bt(n))for(;++u<o;)i[u]=t(n[u],u,n);else e(n,function(n,r,e){i[++u]=t(n,r,e)});return i}function T(n,t,r){var u=-1/0,o=u;if(!t&&Bt(n)){r=-1;for(var i=n.length;++r<i;){var f=n[r];f>o&&(o=f)}}else t=a(t,r),e(n,function(n,r,e){r=t(n,r,e),r>u&&(u=r,o=n)
});return o}function q(n,t){return R(n,t+"")}function B(n,t,r,u){var o=3>arguments.length;if(t=a(t,u,4),Bt(n)){var i=-1,f=n.length;for(o&&(r=n[++i]);++i<f;)r=t(r,n[i],i,n)}else e(n,function(n,e,u){r=o?(o=L,n):t(r,n,e,u)});return r}function D(n,t,r,e){var u=n?n.length:0,o=3>arguments.length;if(typeof u!="number")var i=Dt(n),u=i.length;return t=a(t,e,4),F(n,function(e,a,f){a=i?i[--u]:--u,r=o?(o=L,n[a]):t(r,n[a],a,f)}),r}function M(n,t,r){var u;if(t=a(t,r),Bt(n)){r=-1;for(var o=n.length;++r<o&&!(u=t(n[r],r,n)););}else e(n,function(n,r,e){return(u=t(n,r,e))&&nt
});return!!u}function $(n,t,r){return r&&d(t)?K:(r?k:N)(n,t)}function I(n,t,r){if(n){var e=0,u=n.length;if(typeof t=="function"){var o=-1;for(t=a(t,r);++o<u&&t(n[o],o,n);)e++}else if(e=t,e==K||r)return n[0];return p(n,0,dt(mt(0,e),u))}}function z(n,t){for(var r=-1,e=n?n.length:0,u=[];++r<e;){var o=n[r];Bt(o)?pt.apply(u,t?o:z(o)):u.push(o)}return u}function C(n,t,r){var e=-1,u=n?n.length:0;if(typeof r=="number")e=(0>r?mt(0,u+r):r||0)-1;else if(r)return e=U(n,t),n[e]===t?e:-1;for(;++e<u;)if(n[e]===t)return e;
return-1}function P(n,t,r){if(typeof t=="function"){var e=0,u=-1,o=n?n.length:0;for(t=a(t,r);++u<o&&t(n[u],u,n);)e++}else e=t==K||r?1:mt(0,t);return p(n,e)}function U(n,t,r,e){var u=0,o=n?n.length:u;for(r=r?a(r,e,1):G,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;return u}function V(n,t,r,e){var u=-1,o=n?n.length:0,i=[],f=i;for(typeof t=="function"&&(e=r,r=t,t=L),r&&(f=[],r=a(r,e));++u<o;){e=n[u];var c=r?r(e,u,n):e;(t?!u||f[f.length-1]!==c:0>C(f,c))&&(r&&f.push(c),i.push(e))}return i}function W(n,t){return kt||vt&&2<arguments.length?vt.call.apply(vt,arguments):i(n,t,p(arguments,2))
}function G(n){return n}function H(n){F(_(n),function(t){var r=u[t]=n[t];u.prototype[t]=function(){var n=[this.__wrapped__];return pt.apply(n,arguments),n=r.apply(u,n),this.__chain__&&(n=new u(n),n.__chain__=J),n}})}var J=!0,K=null,L=!1,Q=typeof exports=="object"&&exports,X=typeof global=="object"&&global;X.global===X&&(n=X);var Y=[],X={},Z=0,nt=X,tt=n._,rt=/&(?:amp|lt|gt|quot|#x27);/g,et=RegExp("^"+(X.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),ut=/($^)/,ot=/[&<>"']/g,it=/['\n\r\t\u2028\u2029\\]/g,at=Math.ceil,ft=Y.concat,ct=Math.floor,lt=X.hasOwnProperty,pt=Y.push,st=X.toString,vt=et.test(vt=p.bind)&&vt,ht=et.test(ht=Array.isArray)&&ht,gt=n.isFinite,yt=n.isNaN,_t=et.test(_t=Object.keys)&&_t,mt=Math.max,dt=Math.min,bt=Math.random,jt="[object Arguments]",wt="[object Array]",xt="[object Boolean]",At="[object Date]",Et="[object Number]",Ot="[object Object]",St="[object RegExp]",Nt="[object String]",X=!!n.attachEvent,X=vt&&!/\n|true/.test(vt+X),kt=vt&&!X,Ft=(Ft={0:1,length:1},Y.splice.call(Ft,0,1),Ft[0]),Rt=arguments.constructor==Object,Tt={"boolean":L,"function":J,object:J,number:L,string:L,undefined:L},qt={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};
u.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},v(arguments)||(v=function(n){return n?lt.call(n,"callee"):L});var Bt=ht||function(n){return Rt&&n instanceof Array||st.call(n)==wt},Dt=_t?function(n){return w(n)?_t(n):[]}:h,Mt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},$t=m(Mt);j(/x/)&&(j=function(n){return n instanceof Function||"[object Function]"==st.call(n)}),u.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0
}},u.bind=W,u.bindAll=function(n){for(var t=ft.apply(Y,arguments),r=1<t.length?0:(t=_(n),-1),e=t.length;++r<e;){var u=t[r];n[u]=W(n[u],n)}return n},u.compact=function(n){for(var t=-1,r=n?n.length:0,e=[];++t<r;){var u=n[t];u&&e.push(u)}return e},u.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},u.countBy=function(n,t,r){var e={};return t=a(t,r),F(n,function(n,r,u){r=t(n,r,u)+"",lt.call(e,r)?e[r]++:e[r]=1}),e},u.debounce=function(n,t,r){function e(){a=K,r||(o=n.apply(i,u))
}var u,o,i,a;return function(){var f=r&&!a;return u=arguments,i=this,clearTimeout(a),a=setTimeout(e,t),f&&(o=n.apply(i,u)),o}},u.defaults=y,u.defer=function(n){var r=p(arguments,1);return setTimeout(function(){n.apply(t,r)},1)},u.delay=function(n,r){var e=p(arguments,2);return setTimeout(function(){n.apply(t,e)},r)},u.difference=function(n){for(var t=-1,r=n.length,e=ft.apply(Y,arguments),u=[];++t<r;){var o=n[t];0>C(e,o,r)&&u.push(o)}return u},u.filter=N,u.flatten=z,u.forEach=F,u.functions=_,u.groupBy=function(n,t,r){var e={};
return t=a(t,r),F(n,function(n,r,u){r=t(n,r,u)+"",(lt.call(e,r)?e[r]:e[r]=[]).push(n)}),e},u.initial=function(n,t,r){if(!n)return[];var e=0,u=n.length;if(typeof t=="function"){var o=u;for(t=a(t,r);o--&&t(n[o],o,n);)e++}else e=t==K||r?1:t||e;return p(n,0,dt(mt(0,u-e),u))},u.intersection=function(n){var t=arguments,r=t.length,e=-1,u=n?n.length:0,o=[];n:for(;++e<u;){var i=n[e];if(0>C(o,i)){for(var a=r;--a;)if(0>C(t[a],i))continue n;o.push(i)}}return o},u.invert=m,u.invoke=function(n,t){var r=p(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=Array(typeof o=="number"?o:0);
return F(n,function(n){i[++e]=(u?t:n[t]).apply(n,r)}),i},u.keys=Dt,u.map=R,u.max=T,u.memoize=function(n,t){var r={};return function(){var e=(t?t.apply(this,arguments):arguments[0])+"";return lt.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},u.min=function(n,t,r){var u=1/0,o=u;if(!t&&Bt(n)){r=-1;for(var i=n.length;++r<i;){var f=n[r];f<o&&(o=f)}}else t=a(t,r),e(n,function(n,r,e){r=t(n,r,e),r<u&&(u=r,o=n)});return o},u.object=function(n,t){for(var r=-1,e=n?n.length:0,u={};++r<e;){var o=n[r];t?u[o]=t[r]:u[o[0]]=o[1]
}return u},u.omit=function(n){var t=ft.apply(Y,arguments),e={};return r(n,function(n,r){0>C(t,r,1)&&(e[r]=n)}),e},u.once=function(n){var t,r;return function(){return t?r:(t=J,r=n.apply(this,arguments),n=K,r)}},u.pairs=function(n){for(var t=-1,r=Dt(n),e=r.length,u=Array(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},u.partial=function(n){return i(n,p(arguments,1))},u.pick=function(n){for(var t=0,r=ft.apply(Y,arguments),e=r.length,u={};++t<e;){var o=r[t];o in n&&(u[o]=n[o])}return u},u.pluck=q,u.range=function(n,t,r){n=+n||0,r=+r||1,t==K&&(t=n,n=0);
var e=-1;t=mt(0,at((t-n)/r));for(var u=Array(t);++e<t;)u[e]=n,n+=r;return u},u.reject=function(n,t,r){return t=a(t,r),N(n,function(n,r,e){return!t(n,r,e)})},u.rest=P,u.shuffle=function(n){var t=-1,r=n?n.length:0,e=Array(typeof r=="number"?r:0);return F(n,function(n){var r=ct(bt()*(++t+1));e[t]=e[r],e[r]=n}),e},u.sortBy=function(n,t,r){var e=-1,u=n?n.length:0,i=Array(typeof u=="number"?u:0);for(t=a(t,r),F(n,function(n,r,u){i[++e]={a:t(n,r,u),b:e,c:n}}),u=i.length,i.sort(o);u--;)i[u]=i[u].c;return i
},u.tap=function(n,t){return t(n),n},u.throttle=function(n,t){function r(){a=new Date,i=K,u=n.apply(o,e)}var e,u,o,i,a=0;return function(){var f=new Date,c=t-(f-a);return e=arguments,o=this,0<c?i||(i=setTimeout(r,c)):(clearTimeout(i),i=K,a=f,u=n.apply(o,e)),u}},u.times=function(n,t,r){n=+n||0;for(var e=-1,u=Array(n);++e<n;)u[e]=t.call(r,e);return u},u.toArray=function(n){return n&&typeof n.length=="number"?p(n):E(n)},u.union=function(){return V(ft.apply(Y,arguments))},u.uniq=V,u.values=E,u.where=$,u.without=function(n){for(var t=-1,r=n.length,e=[];++t<r;){var u=n[t];
0>C(arguments,u,1)&&e.push(u)}return e},u.wrap=function(n,t){return function(){var r=[n];return pt.apply(r,arguments),t.apply(this,r)}},u.zip=function(n){for(var t=-1,r=n?T(q(arguments,"length")):0,e=Array(r);++t<r;)e[t]=q(arguments,t);return e},u.collect=R,u.drop=P,u.each=F,u.extend=g,u.methods=_,u.select=N,u.tail=P,u.unique=V,u.clone=function(n){return w(n)?Bt(n)?p(n):g({},n):n},u.contains=O,u.escape=function(n){return n==K?"":(n+"").replace(ot,c)},u.every=S,u.find=k,u.findWhere=function(n,t){return $(n,t,J)
},u.has=function(n,t){return n?lt.call(n,t):L},u.identity=G,u.indexOf=C,u.isArguments=v,u.isArray=Bt,u.isBoolean=function(n){return n===J||n===L||st.call(n)==xt},u.isDate=function(n){return n instanceof Date||st.call(n)==At},u.isElement=function(n){return n?1===n.nodeType:L},u.isEmpty=d,u.isEqual=b,u.isFinite=function(n){return gt(n)&&!yt(parseFloat(n))},u.isFunction=j,u.isNaN=function(n){return x(n)&&n!=+n},u.isNull=function(n){return n===K},u.isNumber=x,u.isObject=w,u.isRegExp=function(n){return n instanceof RegExp||st.call(n)==St
},u.isString=A,u.isUndefined=function(n){return typeof n=="undefined"},u.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?mt(0,e+r):dt(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},u.mixin=H,u.noConflict=function(){return n._=tt,this},u.random=function(n,t){return n==K&&t==K&&(t=1),n=+n||0,t==K&&(t=n,n=0),n+ct(bt()*((+t||0)-n+1))},u.reduce=B,u.reduceRight=D,u.result=function(n,t){var r=n?n[t]:K;return j(r)?n[t]():r},u.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Dt(n).length
},u.some=M,u.sortedIndex=U,u.template=function(n,t,r){n||(n=""),r=y({},r,u.templateSettings);var e=0,o="__p+='",i=r.variable;n.replace(RegExp((r.escape||ut).source+"|"+(r.interpolate||ut).source+"|"+(r.evaluate||ut).source+"|$","g"),function(t,r,u,i,a){return o+=n.slice(e,a).replace(it,f),r&&(o+="'+_['escape']("+r+")+'"),i&&(o+="';"+i+";__p+='"),u&&(o+="'+((__t=("+u+"))==null?'':__t)+'"),e=a+t.length,t}),o+="';\n",i||(i="obj",o="with("+i+"||{}){"+o+"}"),o="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+o+"return __p}";
try{var a=Function("_","return "+o)(u)}catch(c){throw c.source=o,c}return t?a(t):(a.source=o,a)},u.unescape=function(n){return n==K?"":(n+"").replace(rt,s)},u.uniqueId=function(n){var t=++Z+"";return n?n+t:t},u.all=S,u.any=M,u.detect=k,u.foldl=B,u.foldr=D,u.include=O,u.inject=B,u.first=I,u.last=function(n,t,r){if(n){var e=0,u=n.length;if(typeof t=="function"){var o=u;for(t=a(t,r);o--&&t(n[o],o,n);)e++}else if(e=t,e==K||r)return n[u-1];return p(n,mt(0,u-e))}},u.take=I,u.head=I,u.chain=function(n){return n=new u(n),n.__chain__=J,n
},u.VERSION="1.0.0-rc.3",H(u),u.prototype.chain=function(){return this.__chain__=J,this},u.prototype.value=function(){return this.__wrapped__},e("pop push reverse shift sort splice unshift".split(" "),function(n){var t=Y[n];u.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),Ft&&0===n.length&&delete n[0],this}}),e(["concat","join","slice"],function(n){var t=Y[n];u.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new u(n),n.__chain__=J),n
}}),Q?typeof module=="object"&&module&&module.exports==Q?(module.exports=u)._=u:Q._=u:n._=u})(this);

View File

@@ -42,10 +42,7 @@
'select': 'filter',
'tail': 'rest',
'take': 'first',
'unique': 'uniq',
// method used by the `backbone` and `underscore` builds
'findWhere': 'find'
'unique': 'uniq'
};
/** Used to associate real names with their aliases */
@@ -54,7 +51,7 @@
'contains': ['include'],
'every': ['all'],
'filter': ['select'],
'find': ['detect', 'findWhere'],
'find': ['detect'],
'first': ['head', 'take'],
'forEach': ['each'],
'functions': ['methods'],
@@ -798,7 +795,7 @@
actual = lodash.pick(object, function(value) { return value != 3; });
deepEqual(_.keys(actual), [], '_.pick should not accept a `callback`: ' + basename);
strictEqual(lodash.result(), null, '_.result should return `null` when passed a falsey `object` argument: ' + basename);
strictEqual(lodash.result(), null, '_.result should return `null` for falsey `object` arguments: ' + basename);
strictEqual(lodash.some([false, true, false]), true, '_.some: ' + basename);
equal(lodash.template('${a}', object), '${a}', '_.template should ignore ES6 delimiters: ' + basename);
equal('imports' in lodash.templateSettings, false, '_.templateSettings should not have an "imports" property: ' + basename);
@@ -809,7 +806,10 @@
collection = [{ 'a': 1 }, { 'a': 1 }];
deepEqual(lodash.where(collection, { 'a': 1 }, true), collection[0], '_.where supports a `first` argument: ' + basename);
deepEqual(lodash.where(collection, {}, true), null, '_.where should return `null` when passed `first` and falsey `properties`: ' + basename);
deepEqual(lodash.findWhere(collection, { 'a': 1 }), collection[0], '_.findWhere: ' + basename);
strictEqual(lodash.findWhere(collection, {}), null, '_.findWhere should return `null` for falsey `properties`: ' + basename);
start();
});
@@ -842,6 +842,23 @@
});
});
asyncTest('`lodash underscore include=findWhere`', function() {
var start = _.after(2, _.once(QUnit.start));
build(['-s', 'underscore', 'include=findWhere'], function(data) {
var basename = path.basename(data.outputPath, '.js'),
context = createContext();
vm.runInContext(data.source, context);
var lodash = context._;
var collection = [{ 'a': 1 }, { 'a': 1 }];
deepEqual(lodash.findWhere(collection, { 'a': 1 }), collection[0], '_.findWhere: ' + basename);
start();
});
});
asyncTest('`lodash underscore include=partial`', function() {
var start = _.after(2, _.once(QUnit.start));

View File

@@ -207,7 +207,7 @@ $(document).ready(function() {
strictEqual(_.result(obj, 'x'), 'x');
strictEqual(_.result(obj, 'y'), 'x');
strictEqual(_.result(obj, 'z'), undefined);
strictEqual(_.result(null, 'x'), undefined);
strictEqual(_.result(null, 'x'), null);
});
test('_.templateSettings.variable', function() {

View File

@@ -238,7 +238,7 @@
// Convenience version of a common use case of `filter`: selecting only objects
// containing specific `key:value` pairs.
_.where = function(obj, attrs, first) {
if (_.isEmpty(attrs)) return first ? void 0 : [];
if (_.isEmpty(attrs)) return first ? null : [];
return _[first ? 'find' : 'filter'](obj, function(value) {
for (var key in attrs) {
if (attrs[key] !== value[key]) return false;
@@ -1058,7 +1058,7 @@
// If the value of the named property is a function then invoke it;
// otherwise, return it.
_.result = function(object, property) {
if (object == null) return void 0;
if (object == null) return null;
var value = object[property];
return _.isFunction(value) ? value.call(object) : value;
};