diff --git a/build.js b/build.js index 0b6661179..cd35665e2 100644 --- a/build.js +++ b/build.js @@ -3623,7 +3623,7 @@ source = replaceFunction(source, 'where', [ 'function where(collection, properties, first) {', ' return (first && isEmpty(properties))', - ' ? null', + ' ? undefined', ' : (first ? find : filter)(collection, properties);', '}' ].join('\n')); diff --git a/dist/lodash.underscore.js b/dist/lodash.underscore.js index a319e75b3..68ff46864 100644 --- a/dist/lodash.underscore.js +++ b/dist/lodash.underscore.js @@ -2431,7 +2431,7 @@ */ function where(collection, properties, first) { return (first && isEmpty(properties)) - ? null + ? undefined : (first ? find : filter)(collection, properties); } diff --git a/dist/lodash.underscore.min.js b/dist/lodash.underscore.min.js index e8421608a..cc0376098 100644 --- a/dist/lodash.underscore.min.js +++ b/dist/lodash.underscore.min.js @@ -3,34 +3,34 @@ * Lo-Dash 1.3.1 (Custom Build) lodash.com/license | Underscore.js 1.5.1 underscorejs.org/LICENSE * Build: `lodash underscore exports="amd,commonjs,global,node" -o ./dist/lodash.underscore.js` */ -;!function(n){function t(n,t,r){r=(r||0)-1;for(var e=n.length;++rt||typeof n=="undefined")return 1;if(ne&&(e=r,u=n)}); -else for(;++iu&&(u=r);return u}function R(n,t){var r=-1,e=n?n.length:0;if(typeof e=="number")for(var u=Array(e);++rarguments.length;t=H(t,e,4);var i=-1,o=n.length;if(typeof o=="number")for(u&&(r=n[++i]);++iarguments.length;if(typeof u!="number")var o=qt(n),u=o.length;return t=H(t,e,4),S(n,function(e,a,f){a=o?o[--u]:--u,r=i?(i=!1,n[a]):t(r,n[a],a,f) -}),r}function D(n,t,r){var e;t=H(t,r),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++rr(u,o)&&i.push(o)}return i}function z(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&null!=t){var i=-1; -for(t=H(t,r);++ie?St(0,u+e):e||0}else if(e)return e=P(n,r),n[e]===r?e:-1;return n?t(n,r,e):-1}function C(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,i=n?n.length:0;for(t=H(t,r);++u>>1,r(n[e])i(f,l))&&(r&&f.push(l),a.push(e))}return a}function V(){for(var n=-1,t=N(R(arguments,"length")),r=Array(0>t?0:t);++nl&&(a=n.apply(f,o));else{var r=new Date;!s&&!h&&(c=r); -var e=p-(r-c);0/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},xt||(f=function(n){if(b(n)){u.prototype=n;var t=new u;u.prototype=null}return t||{}}),s(arguments)||(s=function(n){return n&&typeof n=="object"?dt.call(n,"callee"):!1});var Dt=At||function(n){return n&&typeof n=="object"?jt.call(n)==rt:!1},At=function(n){var t,r=[]; -if(!n||!lt[typeof n])return r;for(t in n)dt.call(n,t)&&r.push(t);return r},qt={}.o=Tt?function(n){return b(n)?Tt(n):[]}:At,Mt={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},$t=y(Mt),zt=RegExp("("+qt($t).join("|")+")","g"),It=RegExp("["+qt(Mt).join("")+"]","g"),Wt=function(n,t){var r;if(!n||!lt[typeof n])return n;for(r in n)if(t(n[r],r,n)===X)break;return n},Ct=function(n,t){var r;if(!n||!lt[typeof n])return n;for(r in n)if(dt.call(n,r)&&t(n[r],r,n)===X)break;return n}; -d(/x/)&&(d=function(n){return typeof n=="function"&&"[object Function]"==jt.call(n)}),i.after=function(n,t){return function(){return 1>--n?t.apply(this,arguments):void 0}},i.bind=G,i.bindAll=function(n){for(var t=1u(o,a)){for(var f=r;--f;)if(0>u(t[f],a))continue n;o.push(a)}}return o},i.invert=y,i.invoke=function(n,t){var r=Rt.call(arguments,2),e=-1,u=typeof t=="function",i=n?n.length:0,o=Array(typeof i=="number"?i:0);return S(n,function(n){o[++e]=(u?t:n[t]).apply(n,r)}),o},i.keys=qt,i.map=F,i.max=N,i.memoize=function(n,t){var r={}; -return function(){var e=Y+(t?t.apply(this,arguments):arguments[0]);return dt.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},i.min=function(n,t,r){var e=1/0,u=e,i=-1,o=n?n.length:0;if(t||typeof o!="number")t=H(t,r),S(n,function(n,r,i){r=t(n,r,i),rt(r,u)&&(e[u]=n)}),e},i.once=function(n){var t,r;return function(){return t?r:(t=!0,r=n.apply(this,arguments),n=null,r) -}},i.pairs=function(n){for(var t=-1,r=qt(n),e=r.length,u=Array(e);++tr?St(0,e+r):Ft(r,e-1))+1);e--;)if(n[e]===t)return e; -return-1},i.mixin=L,i.noConflict=function(){return n._=ht,this},i.random=function(n,t){null==n&&null==t&&(t=1),n=+n||0,null==t?(t=n,n=0):t=+t||0;var r=Nt();return n%1||t%1?n+Ft(r*(t-n+parseFloat("1e-"+((r+"").length-1))),t):n+_t(r*(t-n+1))},i.reduce=B,i.reduceRight=k,i.result=function(n,t){var r=n?n[t]:void 0;return d(r)?n[t]():r},i.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:qt(n).length},i.some=D,i.sortedIndex=P,i.template=function(n,t,r){var u=i.templateSettings;n||(n=""),r=g({},r,u); -var o=0,a="__p+='",u=r.variable;n.replace(RegExp((r.escape||Z).source+"|"+(r.interpolate||Z).source+"|"+(r.evaluate||Z).source+"|$","g"),function(t,r,u,i,f){return a+=n.slice(o,f).replace(nt,e),r&&(a+="'+_['escape']("+r+")+'"),i&&(a+="';"+i+";__p+='"),u&&(a+="'+((__t=("+u+"))==null?'':__t)+'"),o=f+t.length,t}),a+="';\n",u||(u="obj",a="with("+u+"||{}){"+a+"}"),a="function("+u+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";try{var f=Function("_","return "+a)(i) -}catch(l){throw l.source=a,l}return t?f(t):(f.source=a,f)},i.unescape=function(n){return null==n?"":(n+"").replace(zt,p)},i.uniqueId=function(n){var t=++Q+"";return n?n+t:t},i.all=O,i.any=D,i.detect=T,i.findWhere=function(n,t){return q(n,t,!0)},i.foldl=B,i.foldr=k,i.include=A,i.inject=B,i.first=z,i.last=function(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&null!=t){var i=u;for(t=H(t,r);i--&&t(n[i],i,n);)e++}else if(e=t,null==e||r)return n[u-1];return Rt.call(n,St(0,u-e))}},i.take=z,i.head=z,i.VERSION="1.3.1",L(i),i.prototype.chain=function(){return this.__chain__=!0,this -},i.prototype.value=function(){return this.__wrapped__},S("pop push reverse shift sort splice unshift".split(" "),function(n){var t=gt[n];i.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),!kt.spliceObjects&&0===n.length&&delete n[0],this}}),S(["concat","join","slice"],function(n){var t=gt[n];i.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new o(n),n.__chain__=!0),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=i, define(function(){return i -})):pt&&!pt.nodeType?st?(st.exports=i)._=i:pt._=i:n._=i}(this); \ No newline at end of file +;!function(n){function t(n,t,r){r=(r||0)-1;for(var e=n.length;++rt||typeof n=="undefined")return 1;if(ne&&(e=r,u=n)}); +else for(;++iu&&(u=r);return u}function R(n,t){var r=-1,e=n?n.length:0;if(typeof e=="number")for(var u=Array(e);++rarguments.length;t=H(t,e,4);var i=-1,o=n.length;if(typeof o=="number")for(u&&(r=n[++i]);++iarguments.length;if(typeof u!="number")var o=Mt(n),u=o.length;return t=H(t,e,4),S(n,function(e,a,f){a=o?o[--u]:--u,r=i?(i=!1,n[a]):t(r,n[a],a,f) +}),r}function D(n,t,r){var e;t=H(t,r),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++rr(u,o)&&i.push(o)}return i}function z(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&null!=t){var i=-1; +for(t=H(t,r);++ie?Ft(0,u+e):e||0}else if(e)return e=P(n,r),n[e]===r?e:-1;return n?t(n,r,e):-1}function C(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,i=n?n.length:0;for(t=H(t,r);++u>>1,r(n[e])i(f,l))&&(r&&f.push(l),a.push(e))}return a}function V(){for(var n=-1,t=N(R(arguments,"length")),r=Array(0>t?0:t);++nl&&(a=n.apply(f,o));else{var r=new Date;!s&&!h&&(c=r); +var e=p-(r-c);0/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},At||(f=function(n){if(b(n)){u.prototype=n;var t=new u;u.prototype=null}return t||{}}),s(arguments)||(s=function(n){return n&&typeof n=="object"?bt.call(n,"callee"):!1});var qt=Ot||function(n){return n&&typeof n=="object"?wt.call(n)==et:!1},Ot=function(n){var t,r=[]; +if(!n||!ct[typeof n])return r;for(t in n)bt.call(n,t)&&r.push(t);return r},Mt={}.o=St?function(n){return b(n)?St(n):[]}:Ot,$t={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},zt=y($t),It=RegExp("("+Mt(zt).join("|")+")","g"),Wt=RegExp("["+Mt($t).join("")+"]","g"),Ct=function(n,t){var r;if(!n||!ct[typeof n])return n;for(r in n)if(t(n[r],r,n)===Y)break;return n},Pt=function(n,t){var r;if(!n||!ct[typeof n])return n;for(r in n)if(bt.call(n,r)&&t(n[r],r,n)===Y)break;return n}; +d(/x/)&&(d=function(n){return typeof n=="function"&&"[object Function]"==wt.call(n)}),i.after=function(n,t){return function(){return 1>--n?t.apply(this,arguments):void 0}},i.bind=G,i.bindAll=function(n){for(var t=1u(o,a)){for(var f=r;--f;)if(0>u(t[f],a))continue n;o.push(a)}}return o},i.invert=y,i.invoke=function(n,t){var r=Bt.call(arguments,2),e=-1,u=typeof t=="function",i=n?n.length:0,o=Array(typeof i=="number"?i:0);return S(n,function(n){o[++e]=(u?t:n[t]).apply(n,r)}),o},i.keys=Mt,i.map=F,i.max=N,i.memoize=function(n,t){var r={}; +return function(){var e=Z+(t?t.apply(this,arguments):arguments[0]);return bt.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},i.min=function(n,t,r){var e=1/0,u=e,i=-1,o=n?n.length:0;if(t||typeof o!="number")t=H(t,r),S(n,function(n,r,i){r=t(n,r,i),rt(r,u)&&(e[u]=n)}),e},i.once=function(n){var t,r;return function(){return t?r:(t=!0,r=n.apply(this,arguments),n=null,r) +}},i.pairs=function(n){for(var t=-1,r=Mt(n),e=r.length,u=Array(e);++tr?Ft(0,e+r):Nt(r,e-1))+1);e--;)if(n[e]===t)return e; +return-1},i.mixin=L,i.noConflict=function(){return n._=yt,this},i.random=function(n,t){null==n&&null==t&&(t=1),n=+n||0,null==t?(t=n,n=0):t=+t||0;var r=Rt();return n%1||t%1?n+Nt(r*(t-n+parseFloat("1e-"+((r+"").length-1))),t):n+dt(r*(t-n+1))},i.reduce=B,i.reduceRight=k,i.result=function(n,t){var r=n?n[t]:Q;return d(r)?n[t]():r},i.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Mt(n).length},i.some=D,i.sortedIndex=P,i.template=function(n,t,r){var u=i.templateSettings;n||(n=""),r=g({},r,u); +var o=0,a="__p+='",u=r.variable;n.replace(RegExp((r.escape||nt).source+"|"+(r.interpolate||nt).source+"|"+(r.evaluate||nt).source+"|$","g"),function(t,r,u,i,f){return a+=n.slice(o,f).replace(tt,e),r&&(a+="'+_['escape']("+r+")+'"),i&&(a+="';"+i+";__p+='"),u&&(a+="'+((__t=("+u+"))==null?'':__t)+'"),o=f+t.length,t}),a+="';\n",u||(u="obj",a="with("+u+"||{}){"+a+"}"),a="function("+u+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";try{var f=Function("_","return "+a)(i) +}catch(l){throw l.source=a,l}return t?f(t):(f.source=a,f)},i.unescape=function(n){return null==n?"":(n+"").replace(It,p)},i.uniqueId=function(n){var t=++X+"";return n?n+t:t},i.all=O,i.any=D,i.detect=T,i.findWhere=function(n,t){return q(n,t,!0)},i.foldl=B,i.foldr=k,i.include=A,i.inject=B,i.first=z,i.last=function(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&null!=t){var i=u;for(t=H(t,r);i--&&t(n[i],i,n);)e++}else if(e=t,null==e||r)return n[u-1];return Bt.call(n,Ft(0,u-e))}},i.take=z,i.head=z,i.VERSION="1.3.1",L(i),i.prototype.chain=function(){return this.__chain__=!0,this +},i.prototype.value=function(){return this.__wrapped__},S("pop push reverse shift sort splice unshift".split(" "),function(n){var t=ht[n];i.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),!Dt.spliceObjects&&0===n.length&&delete n[0],this}}),S(["concat","join","slice"],function(n){var t=ht[n];i.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new o(n),n.__chain__=!0),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=i, define(function(){return i +})):st&&!st.nodeType?vt?(vt.exports=i)._=i:st._=i:n._=i}(this); \ No newline at end of file diff --git a/test/test-build.js b/test/test-build.js index e435e8b45..7977b005e 100644 --- a/test/test-build.js +++ b/test/test-build.js @@ -1074,10 +1074,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.where(collection, {}, true), undefined, '_.where should return `undefined` 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); + strictEqual(lodash.findWhere(collection, {}), undefined, '_.findWhere should return `undefined` for falsey `properties`: ' + basename); var expected = [[['moe', 30, true]], [['larry', 40, false]]]; actual = lodash.unzip(lodash.zip(['moe', 'larry'], [30, 40], [true, false]));