From 9961ddc2a82e7462987bb4c234ad08c3284d88f9 Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sun, 3 Mar 2013 14:06:51 -0800 Subject: [PATCH] Ensure callback shorthands work with `_.uniq`. [\ht @jden, @motowilliams] Former-commit-id: d9a0e688414edc4167b5f8e9ca123bab587f8264 --- build.js | 4 +- dist/lodash.compat.js | 4 +- dist/lodash.compat.min.js | 75 ++++++++++++++++++----------------- dist/lodash.js | 4 +- dist/lodash.min.js | 70 ++++++++++++++++---------------- dist/lodash.underscore.js | 4 +- dist/lodash.underscore.min.js | 56 +++++++++++++------------- lodash.js | 4 +- test/test.js | 12 ++++++ 9 files changed, 123 insertions(+), 110 deletions(-) diff --git a/build.js b/build.js index a7d3986fa..a06df7f13 100755 --- a/build.js +++ b/build.js @@ -2112,12 +2112,12 @@ ' result = [],', ' seen = result;', '', - " if (typeof isSorted == 'function') {", + " if (typeof isSorted != 'boolean' && isSorted != null) {", ' thisArg = callback;', ' callback = isSorted;', ' isSorted = false;', ' }', - ' if (callback) {', + ' if (callback != null) {', ' seen = [];', ' callback = createCallback(callback, thisArg);', ' }', diff --git a/dist/lodash.compat.js b/dist/lodash.compat.js index 40c38176d..ca2a763f6 100644 --- a/dist/lodash.compat.js +++ b/dist/lodash.compat.js @@ -3943,7 +3943,7 @@ seen = result; // juggle arguments - if (typeof isSorted == 'function') { + if (typeof isSorted != 'boolean' && isSorted != null) { thisArg = callback; callback = isSorted; isSorted = false; @@ -3953,7 +3953,7 @@ if (isLarge) { var cache = {}; } - if (callback) { + if (callback != null) { seen = []; callback = createCallback(callback, thisArg); } diff --git a/dist/lodash.compat.min.js b/dist/lodash.compat.min.js index 6890e88ab..a0efe9a77 100644 --- a/dist/lodash.compat.min.js +++ b/dist/lodash.compat.min.js @@ -4,40 +4,41 @@ * Build: `lodash -o ./dist/lodash.compat.js` * Underscore.js 1.4.4 underscorejs.org/LICENSE */ -;(function(n){function t(i){function a(n){return n&&typeof n=="object"&&Yt.call(n,"__wrapped__")?n:this instanceof a?(this.__wrapped__=n,void 0):new a(n)}function D(n,t,r){t||(t=0);var e=n.length,u=e-t>=(r||p);if(u){var o={};for(r=t-1;++rt||typeof n=="undefined")return 1; -if(nu;u++)r+="j='"+t.k[u]+"';if(","constructor"==t.k[u]&&(r+="!(g&&g.prototype===n)&&"),r+="i.call(n,j)){"+t.h+"}"; -return(t.b||t.i)&&(r+="}"),r+=t.c+";return u",Dt("f,i,k,l,m,r,p","return function("+n+"){"+r+"}")(M,Yt,W,qr,it,B,ar)}function L(n){var t=Nr(a.prototype);return t.__wrapped__=n,t}function U(n){return"\\"+R[n]}function V(n){return Rr[n]}function G(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}function H(){}function J(n,t,r){t||(t=0),typeof r=="undefined"&&(r=n?n.length:0);var e=-1;r=r-t||0;for(var u=Bt(0>r?0:r);++er?cr(0,u+r):r)||0,typeof u=="number"?i=-1<(it(n)?n.indexOf(t,r):jt(n,t,r)):Ar(n,function(n){return++eu&&(u=i)}}else t=!t&&it(n)?P:M(t,r),Ar(n,function(n,r,o){r=t(n,r,o),r>e&&(e=r,u=n)});return u}function yt(n,t,r,e){var u=3>arguments.length;if(t=M(t,e,4),qr(n)){var i=-1,f=n.length;for(u&&(r=n[++i]);++iarguments.length;if(typeof i!="number")var a=Br(n),i=a.length;else wr&&it(n)&&(u=n.split(""));return t=M(t,e,4),vt(n,function(n,e,c){e=a?a[--i]:--i,r=f?(f=o,u[e]):t(r,u[e],e,c)}),r}function dt(n,t,r){var e;if(t=M(t,r),qr(n)){r=-1;for(var u=n.length;++rr?cr(0,u+r):r||0)-1;else if(r)return e=xt(n,t),n[e]===t?e:-1;for(;++e>>1,r(n[e])jt(a,p))&&((r||c)&&a.push(p),f.push(e))}return f}function St(n,t){for(var r=-1,e=n?n.length:0,u={};++r/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:d,variable:"",imports:{_:a}}; -var kr={a:"q,w,h",l:"var a=arguments,b=0,c=typeof h=='number'?2:a.length;while(++b":">",'"':""","'":"'"},Tr=tt(Rr),Dr=K(kr,{l:kr.l.replace(";",";if(c>3&&typeof a[c-2]=='function'){var d=f(a[--c-1],a[c--],2);}else if(c>2&&typeof a[c-1]=='function'){d=a[--c];}"),h:"u[j]=d?d(u[j],n[j]):n[j]"}),Pr=K(kr);et(/x/)&&(et=function(n){return n instanceof Dt||rr.call(n)==I});var zr=Xt?function(n){if(!n||typeof n!="object")return o;var t=n.valueOf,r=typeof t=="function"&&(r=Xt(t))&&Xt(r); -return r?n==r||Xt(n)==r&&!W(n):X(n)}:X,Cr=8==pr("08")?pr:function(n,t){return pr(it(n)?n.replace(/^0+(?=.$)/,""):n,t||0)},Mr=gt,Kr=pt;return hr&&f&&typeof nr=="function"&&(Et=kt(nr,i)),a.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},a.assign=Dr,a.at=function(n){var t=-1,r=Qt.apply(Lt,J(arguments,1)),e=r.length,u=Bt(e);for(wr&&it(n)&&(n=n.split(""));++tjt(a,c)){i&&a.push(c);for(var p=r;--p;)if(!(e[p]||(e[p]=D(t[p],0,100)))(c))continue n;f.push(c)}}return f},a.invert=tt,a.invoke=function(n,t){var r=J(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=Bt(typeof o=="number"?o:0); -return vt(n,function(n){i[++e]=(u?t:n[t]).apply(n,r)}),i},a.keys=Br,a.map=gt,a.max=ht,a.memoize=function(n,t){var r={};return function(){var e=(t?t.apply(this,arguments):arguments[0])+"";return Yt.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},a.merge=ft,a.min=function(n,t,r){var e=1/0,u=e;if(!t&&qr(n)){r=-1;for(var o=n.length;++rjt(o,r,1))&&(u[r]=n)}),u},a.once=function(n){var t,r;return function(){return t?r:(t=e,r=n.apply(this,arguments),n=u,r)}},a.pairs=function(n){for(var t=-1,r=Br(n),e=r.length,u=Bt(e);++tr?cr(0,e+r):lr(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},a.mixin=Nt,a.noConflict=function(){return i._=Vt,this -},a.parseInt=Cr,a.random=function(n,t){return n==u&&t==u&&(t=1),n=+n||0,t==u&&(t=n,n=0),n+Wt(sr()*((+t||0)-n+1))},a.reduce=yt,a.reduceRight=mt,a.result=function(n,t){var e=n?n[t]:r;return et(e)?n[t]():e},a.runInContext=t,a.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Br(n).length},a.some=dt,a.sortedIndex=xt,a.template=function(n,t,u){var o=a.templateSettings;n||(n=""),u=Pr({},u,o);var i,f=Pr({},u.imports,o.imports),o=Br(f),f=at(f),c=0,l=u.interpolate||_,p="__p+='",l=Mt((u.escape||_).source+"|"+l.source+"|"+(l===d?m:_).source+"|"+(u.evaluate||_).source+"|$","g"); -n.replace(l,function(t,r,u,o,f,a){return u||(u=o),p+=n.slice(c,a).replace(j,U),r&&(p+="'+__e("+r+")+'"),f&&(i=e,p+="';"+f+";__p+='"),u&&(p+="'+((__t=("+u+"))==null?'':__t)+'"),c=a+t.length,t}),p+="';\n",l=u=u.variable,l||(u="obj",p="with("+u+"){"+p+"}"),p=(i?p.replace(v,""):p).replace(g,"$1").replace(h,"$1;"),p="function("+u+"){"+(l?"":u+"||("+u+"={});")+"var __t,__p='',__e=_.escape"+(i?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+p+"return __p}";try{var s=Dt(o,"return "+p).apply(r,f) -}catch(y){throw y.source=p,y}return t?s(t):(s.source=p,s)},a.unescape=function(n){return n==u?"":(n+"").replace(s,Q)},a.uniqueId=function(n){var t=++c;return(n==u?"":n+"")+t},a.all=lt,a.any=dt,a.detect=st,a.foldl=yt,a.foldr=mt,a.include=ct,a.inject=yt,Fr(a,function(n,t){a.prototype[t]||(a.prototype[t]=function(){var t=[this.__wrapped__];return Zt.apply(t,arguments),n.apply(a,t)})}),a.first=_t,a.last=function(n,t,r){if(n){var e=0,o=n.length;if(typeof t!="number"&&t!=u){var i=o;for(t=M(t,r);i--&&t(n[i],i,n);)e++ -}else if(e=t,e==u||r)return n[o-1];return J(n,cr(0,o-e))}},a.take=_t,a.head=_t,Fr(a,function(n,t){a.prototype[t]||(a.prototype[t]=function(t,r){var e=n(this.__wrapped__,t,r);return t==u||r&&typeof t!="function"?e:L(e)})}),a.VERSION="1.0.1",a.prototype.toString=function(){return this.__wrapped__+""},a.prototype.value=At,a.prototype.valueOf=At,Ar(["join","pop","shift"],function(n){var t=Lt[n];a.prototype[n]=function(){return t.apply(this.__wrapped__,arguments)}}),Ar(["push","reverse","sort","unshift"],function(n){var t=Lt[n]; -a.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Ar(["concat","slice","splice"],function(n){var t=Lt[n];a.prototype[n]=function(){return L(t.apply(this.__wrapped__,arguments))}}),dr&&Ar(["pop","shift","splice"],function(n){var t=Lt[n],r="splice"==n;a.prototype[n]=function(){var n=this.__wrapped__,e=t.apply(n,arguments);return 0===n.length&&delete n[0],r?L(e):e}}),a}var r,e=!0,u=null,o=!1,i=typeof exports=="object"&&exports,f=typeof module=="object"&&module&&module.exports==i&&module,a=typeof global=="object"&&global; -a.global===a&&(n=a);var c=0,l={},p=30,s=/&(?:amp|lt|gt|quot|#39);/g,v=/\b__p\+='';/g,g=/\b(__p\+=)''\+/g,h=/(__e\(.*?\)|\b__t\))\+'';/g,y=/\w*$/,m=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,d=/<%=([\s\S]+?)%>/g,_=/($^)/,b=/[&<>"']/g,j=/['\n\r\t\u2028\u2029\\]/g,w="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),x="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),O="[object Arguments]",S="[object Array]",k="[object Boolean]",E="[object Date]",I="[object Function]",N="[object Number]",A="[object Object]",$="[object RegExp]",F="[object String]",q={}; -q[I]=o,q[O]=q[S]=q[k]=q[E]=q[N]=q[A]=q[$]=q[F]=e;var B={"boolean":o,"function":e,object:e,number:o,string:o,undefined:o},R={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},T=t();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=T,define(function(){return T})):i&&!i.nodeType?f?(f.exports=T)._=T:i._=T:n._=T})(this); \ No newline at end of file +;(function(n){function t(e){function o(n){return n&&typeof n=="object"&&Qt.call(n,"__wrapped__")?n:this instanceof o?(this.__wrapped__=n,void 0):new o(n)}function B(n,t,r){t||(t=0);var e=n.length,u=e-t>=(r||a);if(u){var o={};for(r=t-1;++rt||typeof n=="undefined")return 1; +if(nu;u++)e+="j='"+t.k[u]+"';if(","constructor"==t.k[u]&&(e+="!(g&&g.prototype===n)&&"),e+="i.call(n,j)){"+t.h+"}"}return(t.b||t.i)&&(e+="}"),e+=t.c+";return u",r("f,i,k,l,m,r,p","return function("+n+"){"+e+"}")(P,Qt,H,Ar,et,$,or)}function C(n){var t=kr(o.prototype);return t.__wrapped__=n,t}function M(n){return"\\"+F[n]}function K(n){return Fr[n]}function L(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}function U(){}function V(n,t,r){t||(t=0),typeof r=="undefined"&&(r=n?n.length:0); +var e=-1;r=r-t||0;for(var u=$t(0>r?0:r);++er?ir(0,u+r):r)||0,typeof u=="number"?o=-1<(et(n)?n.indexOf(t,r):dt(n,t,r)):Er(n,function(n){return++eu&&(u=i)}}else t=!t&&et(n)?R:P(t,r),Er(n,function(n,r,o){r=t(n,r,o),r>e&&(e=r,u=n)});return u}function vt(n,t,r,e){var u=3>arguments.length;if(t=P(t,e,4),Ar(n)){var o=-1,i=n.length;for(u&&(r=n[++o]);++oarguments.length;if(typeof o!="number")var f=$r(n),o=f.length;else _r&&et(n)&&(u=n.split(""));return t=P(t,e,4),lt(n,function(n,e,a){e=f?f[--o]:--o,r=i?(i=!1,u[e]):t(r,u[e],e,a) +}),r}function ht(n,t,r){var e;if(t=P(t,r),Ar(n)){r=-1;for(var u=n.length;++rr?ir(0,u+r):r||0)-1;else if(r)return e=bt(n,t),n[e]===t?e:-1;for(;++e>>1,r(n[e])dt(f,l))&&((r||a)&&f.push(l),i.push(e))}return i}function wt(n,t){for(var r=-1,e=n?n.length:0,u={};++r/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:h,variable:"",imports:{_:o}}; +var xr={a:"q,w,h",l:"var a=arguments,b=0,c=typeof h=='number'?2:a.length;while(++b":">",'"':""","'":"'"},qr=Y(Fr),Br=z(xr,{l:xr.l.replace(";",";if(c>3&&typeof a[c-2]=='function'){var d=f(a[--c-1],a[c--],2);}else if(c>2&&typeof a[c-1]=='function'){d=a[--c];}"),h:"u[j]=d?d(u[j],n[j]):n[j]"}),Rr=z(xr);nt(/x/)&&(nt=function(n){return n instanceof Bt||Zt.call(n)==S});var Tr=Jt?function(n){if(!n||typeof n!="object")return!1;var t=n.valueOf,r=typeof t=="function"&&(r=Jt(t))&&Jt(r); +return r?n==r||Jt(n)==r&&!H(n):J(n)}:J,Dr=8==ar("08")?ar:function(n,t){return ar(et(n)?n.replace(/^0+(?=.$)/,""):n,t||0)},Pr=pt,zr=at;return sr&&u&&typeof Xt=="function"&&(Ot=xt(Xt,e)),o.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},o.assign=Br,o.at=function(n){var t=-1,r=Gt.apply(Ct,V(arguments,1)),e=r.length,u=$t(e);for(_r&&et(n)&&(n=n.split(""));++tdt(a,c)){i&&a.push(c);for(var p=r;--p;)if(!(e[p]||(e[p]=B(t[p],0,100)))(c))continue n;f.push(c)}}return f},o.invert=Y,o.invoke=function(n,t){var r=V(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=$t(typeof o=="number"?o:0); +return lt(n,function(n){i[++e]=(u?t:n[t]).apply(n,r)}),i},o.keys=$r,o.map=pt,o.max=st,o.memoize=function(n,t){var r={};return function(){var e=(t?t.apply(this,arguments):arguments[0])+"";return Qt.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},o.merge=ut,o.min=function(n,t,r){var e=1/0,u=e;if(!t&&Ar(n)){r=-1;for(var o=n.length;++rdt(o,r,1))&&(u[r]=n)}),u},o.once=function(n){var t,r;return function(){return t?r:(t=!0,r=n.apply(this,arguments),n=null,r)}},o.pairs=function(n){for(var t=-1,r=$r(n),e=r.length,u=$t(e);++tr?ir(0,e+r):fr(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},o.mixin=kt,o.noConflict=function(){return e._=Kt,this +},o.parseInt=Dr,o.random=function(n,t){return null==n&&null==t&&(t=1),n=+n||0,null==t&&(t=n,n=0),n+Ht(cr()*((+t||0)-n+1))},o.reduce=vt,o.reduceRight=gt,o.result=function(n,t){var e=n?n[t]:r;return nt(e)?n[t]():e},o.runInContext=t,o.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:$r(n).length},o.some=ht,o.sortedIndex=bt,o.template=function(n,t,e){var u=o.templateSettings;n||(n=""),e=Rr({},e,u);var i,f=Rr({},e.imports,u.imports),u=$r(f),f=ot(f),a=0,c=e.interpolate||y,v="__p+='",c=Pt((e.escape||y).source+"|"+c.source+"|"+(c===h?g:y).source+"|"+(e.evaluate||y).source+"|$","g"); +n.replace(c,function(t,r,e,u,o,f){return e||(e=u),v+=n.slice(a,f).replace(d,M),r&&(v+="'+__e("+r+")+'"),o&&(i=!0,v+="';"+o+";__p+='"),e&&(v+="'+((__t=("+e+"))==null?'':__t)+'"),a=f+t.length,t}),v+="';\n",c=e=e.variable,c||(e="obj",v="with("+e+"){"+v+"}"),v=(i?v.replace(l,""):v).replace(p,"$1").replace(s,"$1;"),v="function("+e+"){"+(c?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(i?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+v+"return __p}";try{var m=Bt(u,"return "+v).apply(r,f) +}catch(_){throw _.source=v,_}return t?m(t):(m.source=v,m)},o.unescape=function(n){return null==n?"":(n+"").replace(c,G)},o.uniqueId=function(n){var t=++i;return(null==n?"":n+"")+t},o.all=ft,o.any=ht,o.detect=ct,o.foldl=vt,o.foldr=gt,o.include=it,o.inject=vt,Nr(o,function(n,t){o.prototype[t]||(o.prototype[t]=function(){var t=[this.__wrapped__];return Wt.apply(t,arguments),n.apply(o,t)})}),o.first=yt,o.last=function(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&null!=t){var o=u;for(t=P(t,r);o--&&t(n[o],o,n);)e++ +}else if(e=t,null==e||r)return n[u-1];return V(n,ir(0,u-e))}},o.take=yt,o.head=yt,Nr(o,function(n,t){o.prototype[t]||(o.prototype[t]=function(t,r){var e=n(this.__wrapped__,t,r);return null==t||r&&typeof t!="function"?e:C(e)})}),o.VERSION="1.0.1",o.prototype.toString=function(){return this.__wrapped__+""},o.prototype.value=Et,o.prototype.valueOf=Et,Er(["join","pop","shift"],function(n){var t=Ct[n];o.prototype[n]=function(){return t.apply(this.__wrapped__,arguments)}}),Er(["push","reverse","sort","unshift"],function(n){var t=Ct[n]; +o.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Er(["concat","slice","splice"],function(n){var t=Ct[n];o.prototype[n]=function(){return C(t.apply(this.__wrapped__,arguments))}}),hr&&Er(["pop","shift","splice"],function(n){var t=Ct[n],r="splice"==n;o.prototype[n]=function(){var n=this.__wrapped__,e=t.apply(n,arguments);return 0===n.length&&delete n[0],r?C(e):e}}),o}var r,e=typeof exports=="object"&&exports,u=typeof module=="object"&&module&&module.exports==e&&module,o=typeof global=="object"&&global; +o.global===o&&(n=o);var i=0,f={},a=30,c=/&(?:amp|lt|gt|quot|#39);/g,l=/\b__p\+='';/g,p=/\b(__p\+=)''\+/g,s=/(__e\(.*?\)|\b__t\))\+'';/g,v=/\w*$/,g=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,h=/<%=([\s\S]+?)%>/g,y=/($^)/,m=/[&<>"']/g,d=/['\n\r\t\u2028\u2029\\]/g,_="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),b="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),j="[object Arguments]",w="[object Array]",x="[object Boolean]",O="[object Date]",S="[object Function]",k="[object Number]",E="[object Object]",I="[object RegExp]",N="[object String]",A={}; +A[S]=!1,A[j]=A[w]=A[x]=A[O]=A[k]=A[E]=A[I]=A[N]=!0;var $={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},F={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},q=t();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=q,define(function(){return q})):e&&!e.nodeType?u?(u.exports=q)._=q:e._=q:n._=q})(this); \ No newline at end of file diff --git a/dist/lodash.js b/dist/lodash.js index 9c2a8fb65..c4c3d02f8 100644 --- a/dist/lodash.js +++ b/dist/lodash.js @@ -3787,7 +3787,7 @@ seen = result; // juggle arguments - if (typeof isSorted == 'function') { + if (typeof isSorted != 'boolean' && isSorted != null) { thisArg = callback; callback = isSorted; isSorted = false; @@ -3797,7 +3797,7 @@ if (isLarge) { var cache = {}; } - if (callback) { + if (callback != null) { seen = []; callback = createCallback(callback, thisArg); } diff --git a/dist/lodash.min.js b/dist/lodash.min.js index 0a6ad45e4..7d646c33f 100644 --- a/dist/lodash.min.js +++ b/dist/lodash.min.js @@ -4,38 +4,38 @@ * Build: `lodash modern -o ./dist/lodash.js` * Underscore.js 1.4.4 underscorejs.org/LICENSE */ -;(function(n){function t(i){function a(n){if(!n||typeof n!="object")return o;var t=n.valueOf,r=typeof t=="function"&&(r=Gt(t))&&Gt(r);if(r)n=n==r||Gt(n)==r&&!L(n);else{var e=o;!n||typeof n!="object"||L(n)?n=e:(t=n.constructor,!nt(t)||t instanceof t?(dr(n,function(n,t){e=t}),n=e===o||Ht.call(n,e)):n=e)}return n}function R(n){return n&&typeof n=="object"&&Ht.call(n,"__wrapped__")?n:this instanceof R?(this.__wrapped__=n,void 0):new R(n)}function T(n,t,r){t||(t=0);var e=n.length,u=e-t>=(r||p);if(u){var o={}; -for(r=t-1;++rt||typeof n=="undefined")return 1;if(nr?0:r);++er?er(0,u+r):r)||0,typeof u=="number"?i=-1<(et(n)?n.indexOf(t,r):dt(n,t,r)):mr(n,function(n){return++eu&&(u=i)}}else t=!t&&et(n)?D:P(t,r),mr(n,function(n,r,o){r=t(n,r,o),r>e&&(e=r,u=n)});return u}function vt(n,t,r,e){var u=3>arguments.length;if(t=P(t,e,4),br(n)){var i=-1,f=n.length;for(u&&(r=n[++i]);++iarguments.length;if(typeof u!="number")var f=jr(n),u=f.length;return t=P(t,e,4),lt(n,function(e,a,c){a=f?f[--u]:--u,r=i?(i=o,n[a]):t(r,n[a],a,c)}),r}function ht(n,t,r){var e;if(t=P(t,r),br(n)){r=-1;for(var u=n.length;++rr?er(0,u+r):r||0)-1;else if(r)return e=bt(n,t),n[e]===t?e:-1;for(;++e>>1,r(n[e])dt(a,p))&&((r||c)&&a.push(p),f.push(e))}return f}function wt(n,t){for(var r=-1,e=n?n.length:0,u={};++r/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:d,variable:"",imports:{_:R}};var vr={a:"q,w,h",l:"var a=arguments,b=0,c=typeof h=='number'?2:a.length;while(++b":">",'"':""","'":"'"},xr=Y(wr),Or=M(vr,{l:vr.l.replace(";",";if(c>3&&typeof a[c-2]=='function'){var d=f(a[--c-1],a[c--],2);}else if(c>2&&typeof a[c-1]=='function'){d=a[--c];}"),h:"u[j]=d?d(u[j],n[j]):n[j]"}),Nr=M(vr),Sr=8==or("08")?or:function(n,t){return or(et(n)?n.replace(/^0+(?=.$)/,""):n,t||0)};return cr&&f&&typeof Lt=="function"&&(Ot=xt(Lt,i)),R.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0 -}},R.assign=Or,R.at=function(n){for(var t=-1,r=Ut.apply(Dt,H(arguments,1)),e=r.length,u=Et(e);++tdt(a,c)){i&&a.push(c);for(var p=r;--p;)if(!(e[p]||(e[p]=T(t[p],0,100)))(c))continue n;f.push(c)}}return f},R.invert=Y,R.invoke=function(n,t){var r=H(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=Et(typeof o=="number"?o:0);return lt(n,function(n){i[++e]=(u?t:n[t]).apply(n,r)}),i},R.keys=jr,R.map=pt,R.max=st,R.memoize=function(n,t){var r={};return function(){var e=(t?t.apply(this,arguments):arguments[0])+""; -return Ht.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},R.merge=ut,R.min=function(n,t,r){var e=1/0,u=e;if(!t&&br(n)){r=-1;for(var o=n.length;++rdt(o,r,1))&&(u[r]=n)}),u},R.once=function(n){var t,r;return function(){return t?r:(t=e,r=n.apply(this,arguments),n=u,r) -}},R.pairs=function(n){for(var t=-1,r=jr(n),e=r.length,u=Et(e);++tr?er(0,e+r):ur(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},R.mixin=St,R.noConflict=function(){return i._=Ct,this},R.parseInt=Sr,R.random=function(n,t){return n==u&&t==u&&(t=1),n=+n||0,t==u&&(t=n,n=0),n+Vt(ir()*((+t||0)-n+1)) -},R.reduce=vt,R.reduceRight=gt,R.result=function(n,t){var e=n?n[t]:r;return nt(e)?n[t]():e},R.runInContext=t,R.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:jr(n).length},R.some=ht,R.sortedIndex=bt,R.template=function(n,t,u){var o=R.templateSettings;n||(n=""),u=Nr({},u,o);var i,f=Nr({},u.imports,o.imports),o=jr(f),f=ot(f),a=0,c=u.interpolate||_,l="__p+='",c=Rt((u.escape||_).source+"|"+c.source+"|"+(c===d?m:_).source+"|"+(u.evaluate||_).source+"|$","g");n.replace(c,function(t,r,u,o,f,c){return u||(u=o),l+=n.slice(a,c).replace(j,U),r&&(l+="'+__e("+r+")+'"),f&&(i=e,l+="';"+f+";__p+='"),u&&(l+="'+((__t=("+u+"))==null?'':__t)+'"),a=c+t.length,t -}),l+="';\n",c=u=u.variable,c||(u="obj",l="with("+u+"){"+l+"}"),l=(i?l.replace(v,""):l).replace(g,"$1").replace(h,"$1;"),l="function("+u+"){"+(c?"":u+"||("+u+"={});")+"var __t,__p='',__e=_.escape"+(i?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var p=$t(o,"return "+l).apply(r,f)}catch(s){throw s.source=l,s}return t?p(t):(p.source=l,p)},R.unescape=function(n){return n==u?"":(n+"").replace(s,J)},R.uniqueId=function(n){var t=++c;return(n==u?"":n+"")+t -},R.all=ft,R.any=ht,R.detect=ct,R.foldl=vt,R.foldr=gt,R.include=it,R.inject=vt,_r(R,function(n,t){R.prototype[t]||(R.prototype[t]=function(){var t=[this.__wrapped__];return Jt.apply(t,arguments),n.apply(R,t)})}),R.first=yt,R.last=function(n,t,r){if(n){var e=0,o=n.length;if(typeof t!="number"&&t!=u){var i=o;for(t=P(t,r);i--&&t(n[i],i,n);)e++}else if(e=t,e==u||r)return n[o-1];return H(n,er(0,o-e))}},R.take=yt,R.head=yt,_r(R,function(n,t){R.prototype[t]||(R.prototype[t]=function(t,r){var e=n(this.__wrapped__,t,r); -return t==u||r&&typeof t!="function"?e:K(e)})}),R.VERSION="1.0.1",R.prototype.toString=function(){return this.__wrapped__+""},R.prototype.value=At,R.prototype.valueOf=At,mr(["join","pop","shift"],function(n){var t=Dt[n];R.prototype[n]=function(){return t.apply(this.__wrapped__,arguments)}}),mr(["push","reverse","sort","unshift"],function(n){var t=Dt[n];R.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),mr(["concat","slice","splice"],function(n){var t=Dt[n];R.prototype[n]=function(){return K(t.apply(this.__wrapped__,arguments)) -}}),R}var r,e=!0,u=null,o=!1,i=typeof exports=="object"&&exports,f=typeof module=="object"&&module&&module.exports==i&&module,a=typeof global=="object"&&global;a.global===a&&(n=a);var c=0,l={},p=30,s=/&(?:amp|lt|gt|quot|#39);/g,v=/\b__p\+='';/g,g=/\b(__p\+=)''\+/g,h=/(__e\(.*?\)|\b__t\))\+'';/g,y=/\w*$/,m=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,d=/<%=([\s\S]+?)%>/g,_=/($^)/,b=/[&<>"']/g,j=/['\n\r\t\u2028\u2029\\]/g,w="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),x="[object Arguments]",O="[object Array]",N="[object Boolean]",S="[object Date]",A="[object Number]",E="[object Object]",I="[object RegExp]",k="[object String]",$={"[object Function]":o}; -$[x]=$[O]=$[N]=$[S]=$[A]=$[E]=$[I]=$[k]=e;var F={"boolean":o,"function":e,object:e,number:o,string:o,undefined:o},q={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},B=t();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=B,define(function(){return B})):i&&!i.nodeType?f?(f.exports=B)._=B:i._=B:n._=B})(this); \ No newline at end of file +;(function(n){function t(e){function o(n){return n&&typeof n=="object"&&Kt.call(n,"__wrapped__")?n:this instanceof o?(this.__wrapped__=n,void 0):new o(n)}function F(n,t,r){t||(t=0);var e=n.length,u=e-t>=(r||a);if(u){var o={};for(r=t-1;++rt||typeof n=="undefined")return 1; +if(nr?0:r);++er?Zt(0,u+r):r)||0,typeof u=="number"?o=-1<(Z(n)?n.indexOf(t,r):gt(n,t,r)):vr(n,function(n){return++eu&&(u=i)}}else t=!t&&Z(n)?q:T(t,r),vr(n,function(n,r,o){r=t(n,r,o),r>e&&(e=r,u=n)});return u}function ct(n,t,r,e){var u=3>arguments.length;if(t=T(t,e,4),yr(n)){var o=-1,i=n.length;for(u&&(r=n[++o]);++oarguments.length;if(typeof u!="number")var i=mr(n),u=i.length;return t=T(t,e,4),it(n,function(e,f,a){f=i?i[--u]:--u,r=o?(o=!1,n[f]):t(r,n[f],f,a)}),r}function pt(n,t,r){var e;if(t=T(t,r),yr(n)){r=-1;for(var u=n.length;++rr?Zt(0,u+r):r||0)-1;else if(r)return e=yt(n,t),n[e]===t?e:-1;for(;++e>>1,r(n[e])gt(f,l))&&((r||a)&&f.push(l),i.push(e))}return i}function dt(n,t){for(var r=-1,e=n?n.length:0,u={};++r/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:h,variable:"",imports:{_:o}};var cr={a:"q,w,h",l:"var a=arguments,b=0,c=typeof h=='number'?2:a.length;while(++b":">",'"':""","'":"'"},_r=L(dr),br=D(cr,{l:cr.l.replace(";",";if(c>3&&typeof a[c-2]=='function'){var d=f(a[--c-1],a[c--],2);}else if(c>2&&typeof a[c-1]=='function'){d=a[--c];}"),h:"u[j]=d?d(u[j],n[j]):n[j]"}),jr=D(cr),wr=function(n){if(!n||typeof n!="object")return!1;var t=n.valueOf,r=typeof t=="function"&&(r=Mt(t))&&Mt(r); +if(r)n=n==r||Mt(n)==r&&!V(n);else{var e=!1;!n||typeof n!="object"||V(n)?n=e:(t=n.constructor,!W(t)||t instanceof t?(gr(n,function(n,t){e=t}),n=!1===e||Kt.call(n,e)):n=e)}return n},xr=8==tr("08")?tr:function(n,t){return tr(Z(n)?n.replace(/^0+(?=.$)/,""):n,t||0)};return or&&u&&typeof Vt=="function"&&(bt=_t(Vt,e)),o.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},o.assign=br,o.at=function(n){for(var t=-1,r=Ct.apply(qt,K(arguments,1)),e=r.length,u=Ot(e);++tgt(a,c)){i&&a.push(c);for(var p=r;--p;)if(!(e[p]||(e[p]=F(t[p],0,100)))(c))continue n; +f.push(c)}}return f},o.invert=L,o.invoke=function(n,t){var r=K(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=Ot(typeof o=="number"?o:0);return it(n,function(n){i[++e]=(u?t:n[t]).apply(n,r)}),i},o.keys=mr,o.map=ft,o.max=at,o.memoize=function(n,t){var r={};return function(){var e=(t?t.apply(this,arguments):arguments[0])+"";return Kt.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},o.merge=nt,o.min=function(n,t,r){var e=1/0,u=e;if(!t&&yr(n)){r=-1;for(var o=n.length;++rgt(o,r,1))&&(u[r]=n)}),u},o.once=function(n){var t,r;return function(){return t?r:(t=!0,r=n.apply(this,arguments),n=null,r)}},o.pairs=function(n){for(var t=-1,r=mr(n),e=r.length,u=Ot(e);++tr?Zt(0,e+r):nr(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},o.mixin=wt,o.noConflict=function(){return e._=Rt,this},o.parseInt=xr,o.random=function(n,t){return null==n&&null==t&&(t=1),n=+n||0,null==t&&(t=n,n=0),n+Pt(rr()*((+t||0)-n+1))},o.reduce=ct,o.reduceRight=lt,o.result=function(n,t){var e=n?n[t]:r;return W(e)?n[t]():e},o.runInContext=t,o.size=function(n){var t=n?n.length:0; +return typeof t=="number"?t:mr(n).length},o.some=pt,o.sortedIndex=yt,o.template=function(n,t,e){var u=o.templateSettings;n||(n=""),e=jr({},e,u);var i,f=jr({},e.imports,u.imports),u=mr(f),f=tt(f),a=0,c=e.interpolate||y,v="__p+='",c=$t((e.escape||y).source+"|"+c.source+"|"+(c===h?g:y).source+"|"+(e.evaluate||y).source+"|$","g");n.replace(c,function(t,r,e,u,o,f){return e||(e=u),v+=n.slice(a,f).replace(d,C),r&&(v+="'+__e("+r+")+'"),o&&(i=!0,v+="';"+o+";__p+='"),e&&(v+="'+((__t=("+e+"))==null?'':__t)+'"),a=f+t.length,t +}),v+="';\n",c=e=e.variable,c||(e="obj",v="with("+e+"){"+v+"}"),v=(i?v.replace(l,""):v).replace(p,"$1").replace(s,"$1;"),v="function("+e+"){"+(c?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(i?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+v+"return __p}";try{var m=At(u,"return "+v).apply(r,f)}catch(_){throw _.source=v,_}return t?m(t):(m.source=v,m)},o.unescape=function(n){return null==n?"":(n+"").replace(c,U)},o.uniqueId=function(n){var t=++i;return(null==n?"":n+"")+t +},o.all=et,o.any=pt,o.detect=ot,o.foldl=ct,o.foldr=lt,o.include=rt,o.inject=ct,hr(o,function(n,t){o.prototype[t]||(o.prototype[t]=function(){var t=[this.__wrapped__];return Ut.apply(t,arguments),n.apply(o,t)})}),o.first=st,o.last=function(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&null!=t){var o=u;for(t=T(t,r);o--&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n[u-1];return K(n,Zt(0,u-e))}},o.take=st,o.head=st,hr(o,function(n,t){o.prototype[t]||(o.prototype[t]=function(t,r){var e=n(this.__wrapped__,t,r); +return null==t||r&&typeof t!="function"?e:z(e)})}),o.VERSION="1.0.1",o.prototype.toString=function(){return this.__wrapped__+""},o.prototype.value=xt,o.prototype.valueOf=xt,vr(["join","pop","shift"],function(n){var t=qt[n];o.prototype[n]=function(){return t.apply(this.__wrapped__,arguments)}}),vr(["push","reverse","sort","unshift"],function(n){var t=qt[n];o.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),vr(["concat","slice","splice"],function(n){var t=qt[n];o.prototype[n]=function(){return z(t.apply(this.__wrapped__,arguments)) +}}),o}var r,e=typeof exports=="object"&&exports,u=typeof module=="object"&&module&&module.exports==e&&module,o=typeof global=="object"&&global;o.global===o&&(n=o);var i=0,f={},a=30,c=/&(?:amp|lt|gt|quot|#39);/g,l=/\b__p\+='';/g,p=/\b(__p\+=)''\+/g,s=/(__e\(.*?\)|\b__t\))\+'';/g,v=/\w*$/,g=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,h=/<%=([\s\S]+?)%>/g,y=/($^)/,m=/[&<>"']/g,d=/['\n\r\t\u2028\u2029\\]/g,_="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),b="[object Arguments]",j="[object Array]",w="[object Boolean]",x="[object Date]",O="[object Number]",N="[object Object]",S="[object RegExp]",A="[object String]",E={"[object Function]":!1}; +E[b]=E[j]=E[w]=E[x]=E[O]=E[N]=E[S]=E[A]=!0;var I={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},k={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},$=t();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=$,define(function(){return $})):e&&!e.nodeType?u?(u.exports=$)._=$:e._=$:n._=$})(this); \ No newline at end of file diff --git a/dist/lodash.underscore.js b/dist/lodash.underscore.js index a5de310d0..d9f7ac189 100644 --- a/dist/lodash.underscore.js +++ b/dist/lodash.underscore.js @@ -3175,12 +3175,12 @@ result = [], seen = result; - if (typeof isSorted == 'function') { + if (typeof isSorted != 'boolean' && isSorted != null) { thisArg = callback; callback = isSorted; isSorted = false; } - if (callback) { + if (callback != null) { seen = []; callback = createCallback(callback, thisArg); } diff --git a/dist/lodash.underscore.min.js b/dist/lodash.underscore.min.js index 2fc0737eb..bd32ea228 100644 --- a/dist/lodash.underscore.min.js +++ b/dist/lodash.underscore.min.js @@ -4,31 +4,31 @@ * Build: `lodash underscore -o ./dist/lodash.underscore.js` * Underscore.js 1.4.4 underscorejs.org/LICENSE */ -;(function(n){function t(n,t){var r;if(n&&pt[typeof n])for(r in t||(t=V),n)if(t(n[r],r,n)===Y)break}function r(n,t,r){if(n){t=t&&typeof r=="undefined"?t:i(t,r);var e=n.length;if(r=-1,typeof e=="number")for(;++rt||typeof n=="undefined")return 1;if(nr?0:r);++eo&&(o=f)}}else t=i(t,e),r(n,function(n,r,e){r=t(n,r,e),r>u&&(u=r,o=n)});return o}function q(n,t,e,u){var o=3>arguments.length;if(t=i(t,u,4),It(n)){var a=-1,f=n.length;for(o&&(e=n[++a]);++aarguments.length;if(typeof u!="number")var a=Tt(n),u=a.length;return t=i(t,e,4),k(n,function(e,i,f){i=a?a[--u]:--u,r=o?(o=J,n[i]):t(r,n[i],i,f)}),r}function D(n,t,e){var u; -if(t=i(t,e),It(n)){e=-1;for(var o=n.length;++er?Ft(0,u+r):r||0)-1;else if(r)return e=C(n,t),n[e]===t?e:-1;for(;++e>>1,r(n[e])T(f,c))&&(r&&f.push(c),a.push(e))}return a}function U(n,t){return Bt||xt&&2"']/g,rt=/['\n\r\t\u2028\u2029\\]/g,et="[object Arguments]",ut="[object Array]",ot="[object Boolean]",it="[object Date]",at="[object Number]",ft="[object Object]",ct="[object RegExp]",lt="[object String]",pt={"boolean":J,"function":G,object:G,number:J,string:J,undefined:J},st={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},vt=[],Q={},ht=n._,gt=RegExp("^"+(Q.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),yt=Math.ceil,mt=n.clearTimeout,_t=vt.concat,dt=Math.floor,bt=Q.hasOwnProperty,jt=vt.push,wt=n.setTimeout,At=Q.toString,xt=gt.test(xt=l.bind)&&xt,Et=gt.test(Et=Object.create)&&Et,Ot=gt.test(Ot=Array.isArray)&&Ot,St=n.isFinite,Nt=n.isNaN,kt=gt.test(kt=Object.keys)&&kt,Ft=Math.max,Rt=Math.min,qt=Math.random,Q=gt.test(n.attachEvent),Q=xt&&!/\n|true/.test(xt+Q),Bt=xt&&!Q,Dt=(Dt={0:1,length:1},vt.splice.call(Dt,0,1),Dt[0]),Mt=arguments.constructor==Object; -e.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""};var $t=Et||function(n){return c.prototype=n,n=new c,c.prototype=H,n};s(arguments)||(s=function(n){return n?bt.call(n,"callee"):J});var It=Ot||function(n){return Mt&&n instanceof Array||At.call(n)==ut},Tt=kt?function(n){return j(n)?kt(n):[]}:v,zt={"&":"&","<":"<",">":">",'"':""","'":"'"},Ct=m(zt);b(/x/)&&(b=function(n){return n instanceof Function||"[object Function]"==At.call(n) -});var Pt=F;e.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},e.bind=U,e.bindAll=function(n){for(var t=_t.apply(vt,arguments),r=1T(e,o,r)&&u.push(o)}return u},e.filter=S,e.flatten=I,e.forEach=k,e.functions=y,e.groupBy=function(n,t,r){var e={};return t=i(t,r),k(n,function(n,r,u){r=t(n,r,u)+"",(bt.call(e,r)?e[r]:e[r]=[]).push(n)}),e},e.initial=function(n,t,r){if(!n)return[];var e=0,u=n.length;if(typeof t!="number"&&t!=H){var o=u;for(t=i(t,r);o--&&t(n[o],o,n);)e++}else e=t==H||r?1:t||e;return l(n,0,Rt(Ft(0,u-e),u))},e.intersection=function(n){var t=arguments,r=t.length,e=-1,u=n?n.length:0,o=[];n:for(;++eT(o,i)){for(var a=r;--a;)if(0>T(t[a],i))continue n; -o.push(i)}}return o},e.invert=m,e.invoke=function(n,t){var r=l(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},e.keys=Tt,e.map=F,e.max=R,e.memoize=function(n,t){var r={};return function(){var e=(t?t.apply(this,arguments):arguments[0])+"";return bt.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},e.min=function(n,t,e){var u=1/0,o=u;if(!t&&It(n)){e=-1;for(var a=n.length;++eT(r,t,1)&&(e[t]=n)}),e},e.once=function(n){var t,r;return function(){return t?r:(t=G,r=n.apply(this,arguments),n=H,r)}},e.pairs=function(n){for(var t=-1,r=Tt(n),e=r.length,u=Array(e);++tT(arguments,u,1)&&e.push(u)}return e},e.wrap=function(n,t){return function(){var r=[n];return jt.apply(r,arguments),t.apply(this,r)}},e.zip=function(n){for(var t=-1,r=n?R(Pt(arguments,"length")):0,e=Array(r);++tr?Ft(0,e+r):Rt(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},e.mixin=W,e.noConflict=function(){return n._=ht,this},e.random=function(n,t){return n==H&&t==H&&(t=1),n=+n||0,t==H&&(t=n,n=0),n+dt(qt()*((+t||0)-n+1))},e.reduce=q,e.reduceRight=B,e.result=function(n,t){var r=n?n[t]:H; -return b(r)?n[t]():r},e.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Tt(n).length},e.some=D,e.sortedIndex=C,e.template=function(n,t,r){n||(n=""),r=g({},r,e.templateSettings);var u=0,o="__p+='",i=r.variable;n.replace(RegExp((r.escape||nt).source+"|"+(r.interpolate||nt).source+"|"+(r.evaluate||nt).source+"|$","g"),function(t,r,e,i,f){return o+=n.slice(u,f).replace(rt,a),r&&(o+="'+_['escape']("+r+")+'"),i&&(o+="';"+i+";__p+='"),e&&(o+="'+((__t=("+e+"))==null?'':__t)+'"),u=f+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 f=Function("_","return "+o)(e)}catch(c){throw c.source=o,c}return t?f(t):(f.source=o,f)},e.unescape=function(n){return n==H?"":(n+"").replace(Z,p)},e.uniqueId=function(n){var t=++X+"";return n?n+t:t},e.all=O,e.any=D,e.detect=N,e.foldl=q,e.foldr=B,e.include=E,e.inject=q,e.first=$,e.last=function(n,t,r){if(n){var e=0,u=n.length; -if(typeof t!="number"&&t!=H){var o=u;for(t=i(t,r);o--&&t(n[o],o,n);)e++}else if(e=t,e==H||r)return n[u-1];return l(n,Ft(0,u-e))}},e.take=$,e.head=$,e.chain=function(n){return n=new e(n),n.__chain__=G,n},e.VERSION="1.0.1",W(e),e.prototype.chain=function(){return this.__chain__=G,this},e.prototype.value=function(){return this.__wrapped__},r("pop push reverse shift sort splice unshift".split(" "),function(n){var t=vt[n];e.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),Dt&&0===n.length&&delete n[0],this -}}),r(["concat","join","slice"],function(n){var t=vt[n];e.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new e(n),n.__chain__=G),n}}),K&&!K.nodeType?L?(L.exports=e)._=e:K._=e:n._=e})(this); \ No newline at end of file +;(function(n){function r(n,r){var t;if(n&&pr[typeof n])for(t in r||(r=V),n)if(r(n[t],t,n)===Y)break}function t(n,r,t){if(n){r=r&&typeof t=="undefined"?r:i(r,t);var e=n.length;if(t=-1,typeof e=="number")for(;++tr||typeof n=="undefined")return 1;if(nt?0:t);++eo&&(o=f)}}else r=i(r,e),t(n,function(n,t,e){t=r(n,t,e),t>u&&(u=t,o=n)});return o}function q(n,r,e,u){var o=3>arguments.length;if(r=i(r,u,4),Ir(n)){var a=-1,f=n.length;for(o&&(e=n[++a]);++aarguments.length;if(typeof u!="number")var a=Tr(n),u=a.length;return r=i(r,e,4),k(n,function(e,i,f){i=a?a[--u]:--u,t=o?(o=J,n[i]):r(t,n[i],i,f)}),t}function D(n,r,e){var u; +if(r=i(r,e),Ir(n)){e=-1;for(var o=n.length;++et?Fr(0,u+t):t||0)-1;else if(t)return e=C(n,r),n[e]===r?e:-1;for(;++e>>1,t(n[e])T(f,c))&&(t&&f.push(c),a.push(e))}return a}function U(n,r){return Br||xr&&2"']/g,tr=/['\n\r\t\u2028\u2029\\]/g,er="[object Arguments]",ur="[object Array]",or="[object Boolean]",ir="[object Date]",ar="[object Number]",fr="[object Object]",cr="[object RegExp]",lr="[object String]",pr={"boolean":J,"function":G,object:G,number:J,string:J,undefined:J},sr={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},vr=[],Q={},hr=n._,gr=RegExp("^"+(Q.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),yr=Math.ceil,mr=n.clearTimeout,_r=vr.concat,dr=Math.floor,br=Q.hasOwnProperty,jr=vr.push,wr=n.setTimeout,Ar=Q.toString,xr=gr.test(xr=l.bind)&&xr,Er=gr.test(Er=Object.create)&&Er,Or=gr.test(Or=Array.isArray)&&Or,Sr=n.isFinite,Nr=n.isNaN,kr=gr.test(kr=Object.keys)&&kr,Fr=Math.max,Rr=Math.min,qr=Math.random,Q=gr.test(n.attachEvent),Q=xr&&!/\n|true/.test(xr+Q),Br=xr&&!Q,Dr=(Dr={0:1,length:1},vr.splice.call(Dr,0,1),Dr[0]),Mr=arguments.constructor==Object; +e.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""};var $r=Er||function(n){return c.prototype=n,n=new c,c.prototype=H,n};s(arguments)||(s=function(n){return n?br.call(n,"callee"):J});var Ir=Or||function(n){return Mr&&n instanceof Array||Ar.call(n)==ur},Tr=kr?function(n){return j(n)?kr(n):[]}:v,zr={"&":"&","<":"<",">":">",'"':""","'":"'"},Cr=m(zr);b(/x/)&&(b=function(n){return n instanceof Function||"[object Function]"==Ar.call(n) +});var Pr=F;e.after=function(n,r){return 1>n?r():function(){return 1>--n?r.apply(this,arguments):void 0}},e.bind=U,e.bindAll=function(n){for(var r=_r.apply(vr,arguments),t=1T(e,o,t)&&u.push(o)}return u},e.filter=S,e.flatten=I,e.forEach=k,e.functions=y,e.groupBy=function(n,r,t){var e={};return r=i(r,t),k(n,function(n,t,u){t=r(n,t,u)+"",(br.call(e,t)?e[t]:e[t]=[]).push(n)}),e},e.initial=function(n,r,t){if(!n)return[];var e=0,u=n.length;if(typeof r!="number"&&r!=H){var o=u;for(r=i(r,t);o--&&r(n[o],o,n);)e++}else e=r==H||t?1:r||e;return l(n,0,Rr(Fr(0,u-e),u))},e.intersection=function(n){var r=arguments,t=r.length,e=-1,u=n?n.length:0,o=[];n:for(;++eT(o,i)){for(var a=t;--a;)if(0>T(r[a],i))continue n; +o.push(i)}}return o},e.invert=m,e.invoke=function(n,r){var t=l(arguments,2),e=-1,u=typeof r=="function",o=n?n.length:0,i=Array(typeof o=="number"?o:0);return k(n,function(n){i[++e]=(u?r:n[r]).apply(n,t)}),i},e.keys=Tr,e.map=F,e.max=R,e.memoize=function(n,r){var t={};return function(){var e=(r?r.apply(this,arguments):arguments[0])+"";return br.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},e.min=function(n,r,e){var u=1/0,o=u;if(!r&&Ir(n)){e=-1;for(var a=n.length;++eT(t,r,1)&&(e[r]=n)}),e},e.once=function(n){var r,t;return function(){return r?t:(r=G,t=n.apply(this,arguments),n=H,t)}},e.pairs=function(n){for(var r=-1,t=Tr(n),e=t.length,u=Array(e);++rT(arguments,u,1)&&e.push(u)}return e},e.wrap=function(n,r){return function(){var t=[n];return jr.apply(t,arguments),r.apply(this,t)}},e.zip=function(n){for(var r=-1,t=n?R(Pr(arguments,"length")):0,e=Array(t);++rt?Fr(0,e+t):Rr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},e.mixin=W,e.noConflict=function(){return n._=hr,this},e.random=function(n,r){return n==H&&r==H&&(r=1),n=+n||0,r==H&&(r=n,n=0),n+dr(qr()*((+r||0)-n+1))},e.reduce=q,e.reduceRight=B,e.result=function(n,r){var t=n?n[r]:H; +return b(t)?n[r]():t},e.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:Tr(n).length},e.some=D,e.sortedIndex=C,e.template=function(n,r,t){n||(n=""),t=g({},t,e.templateSettings);var u=0,o="__p+='",i=t.variable;n.replace(RegExp((t.escape||nr).source+"|"+(t.interpolate||nr).source+"|"+(t.evaluate||nr).source+"|$","g"),function(r,t,e,i,f){return o+=n.slice(u,f).replace(tr,a),t&&(o+="'+_['escape']("+t+")+'"),i&&(o+="';"+i+";__p+='"),e&&(o+="'+((__t=("+e+"))==null?'':__t)+'"),u=f+r.length,r +}),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 f=Function("_","return "+o)(e)}catch(c){throw c.source=o,c}return r?f(r):(f.source=o,f)},e.unescape=function(n){return n==H?"":(n+"").replace(Z,p)},e.uniqueId=function(n){var r=++X+"";return n?n+r:r},e.all=O,e.any=D,e.detect=N,e.foldl=q,e.foldr=B,e.include=E,e.inject=q,e.first=$,e.last=function(n,r,t){if(n){var e=0,u=n.length; +if(typeof r!="number"&&r!=H){var o=u;for(r=i(r,t);o--&&r(n[o],o,n);)e++}else if(e=r,e==H||t)return n[u-1];return l(n,Fr(0,u-e))}},e.take=$,e.head=$,e.chain=function(n){return n=new e(n),n.__chain__=G,n},e.VERSION="1.0.1",W(e),e.prototype.chain=function(){return this.__chain__=G,this},e.prototype.value=function(){return this.__wrapped__},t("pop push reverse shift sort splice unshift".split(" "),function(n){var r=vr[n];e.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),Dr&&0===n.length&&delete n[0],this +}}),t(["concat","join","slice"],function(n){var r=vr[n];e.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new e(n),n.__chain__=G),n}}),K&&!K.nodeType?L?(L.exports=e)._=e:K._=e:n._=e})(this); \ No newline at end of file diff --git a/lodash.js b/lodash.js index 4de2c37d4..487f45a17 100644 --- a/lodash.js +++ b/lodash.js @@ -3950,7 +3950,7 @@ seen = result; // juggle arguments - if (typeof isSorted == 'function') { + if (typeof isSorted != 'boolean' && isSorted != null) { thisArg = callback; callback = isSorted; isSorted = false; @@ -3960,7 +3960,7 @@ if (isLarge) { var cache = {}; } - if (callback) { + if (callback != null) { seen = []; callback = createCallback(callback, thisArg); } diff --git a/test/test.js b/test/test.js index 126754dba..22cd5d201 100644 --- a/test/test.js +++ b/test/test.js @@ -2610,6 +2610,18 @@ deepEqual(actual, expected); }); + + _.each({ + 'an object': ['a'], + 'a number': 0, + 'a string': '0' + }, + function(callback, key) { + test('should work with ' + key + ' for `callback`', function() { + var actual = _.uniq([['a'], ['b'], ['a']], callback); + deepEqual(actual, [['a'], ['b']]); + }); + }); }()); /*--------------------------------------------------------------------------*/