lodash-rails 4.3.0 → 4.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/lodash/rails/version.rb +1 -1
- data/vendor/assets/javascripts/lodash.core.js +114 -105
- data/vendor/assets/javascripts/lodash.core.min.js +25 -26
- data/vendor/assets/javascripts/lodash.js +514 -312
- data/vendor/assets/javascripts/lodash.min.js +108 -108
- metadata +2 -2
@@ -1,30 +1,29 @@
|
|
1
1
|
/**
|
2
2
|
* @license
|
3
|
-
* lodash 4.
|
3
|
+
* lodash 4.5.1 (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
|
4
4
|
* Build: `lodash core -o ./dist/lodash.core.js`
|
5
5
|
*/
|
6
|
-
;(function(){function n(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];return n}function t(n,t,r){for(var e=-1,u=n.length;++e<u;){var o=n[e],i=t(o);if(null!=i&&(c===an?i===i:r(i,c)))var c=i,f=o}return f}function r(n,t,r){var e;return r(n,function(n,r,u){return t(n,r,u)?(e=n,false):void 0}),e}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return
|
7
|
-
}function c(n){var t=false;if(null!=n&&typeof n.toString!="function")try{t=!!(n+"")}catch(r){}return t}function f(n,t){return n=typeof n=="number"||
|
8
|
-
}function s(n,t,r){if(typeof n!="function")throw new TypeError("Expected a function");return setTimeout(function(){n.apply(an,r)},t)}function
|
9
|
-
return Q(n[t])})}function
|
10
|
-
return t[0]===n}))&&a[1]?a[1]==t:(o.push([n,t]),t=(i?
|
11
|
-
if(!(u in r&&
|
12
|
-
},t)}function
|
13
|
-
for(;i--;)a[c++]=arguments[++o];return l.apply(t,a)}if(typeof n!="function")throw new TypeError("Expected a function");var u=B(n);return e}function
|
14
|
-
return n.name==t.name&&n.message==t.message;case"[object Number]":return n!=+n?t!=+t:n==+t;case"[object RegExp]":case"[object String]":return n==t+""}return false}function
|
15
|
-
a}function
|
16
|
-
function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=an),r}}function
|
17
|
-
}function L(n){return null!=n&&!(typeof n=="function"&&Q(n))&&W(
|
18
|
-
}function tn(n,t){return t>n}function rn(n){return typeof n=="string"?n:null==n?"":n+""}function en(n){var t=
|
19
|
-
}function cn(n){return n}function fn(t,r,e){var u=en(r),o=
|
20
|
-
"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
return
|
28
|
-
|
29
|
-
|
30
|
-
return a}):yn&&_n?(jn&&((_n.exports=a)._=a),yn._=a):dn._=a}).call(this);
|
6
|
+
;(function(){function n(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];return n}function t(n,t,r){for(var e=-1,u=n.length;++e<u;){var o=n[e],i=t(o);if(null!=i&&(c===an?i===i:r(i,c)))var c=i,f=o}return f}function r(n,t,r){var e;return r(n,function(n,r,u){return t(n,r,u)?(e=n,false):void 0}),e}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return O(t,function(t){return n[t]})}function o(n){return n&&n.Object===Object?n:null}function i(n){return vn[n];
|
7
|
+
}function c(n){var t=false;if(null!=n&&typeof n.toString!="function")try{t=!!(n+"")}catch(r){}return t}function f(n,t){return n=typeof n=="number"||hn.test(n)?+n:-1,n>-1&&0==n%1&&(null==t?9007199254740991:t)>n}function a(n){if(Y(n)&&!Pn(n)){if(n instanceof l)return n;if(En.call(n,"__wrapped__")){var t=new l(n.__wrapped__,n.__chain__);return t.__actions__=N(n.__actions__),t}}return new l(n)}function l(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function p(n,t,r,e){var u;return(u=n===an)||(u=xn[r],
|
8
|
+
u=(n===u||n!==n&&u!==u)&&!En.call(e,r)),u?t:n}function s(n){return X(n)?Fn(n):{}}function h(n,t,r){if(typeof n!="function")throw new TypeError("Expected a function");return setTimeout(function(){n.apply(an,r)},t)}function v(n,t){var r=true;return $n(n,function(n,e,u){return r=!!t(n,e,u)}),r}function y(n,t){var r=[];return $n(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function _(t,r,e,u){u||(u=[]);for(var o=-1,i=t.length;++o<i;){var c=t[o];r>0&&Y(c)&&L(c)&&(e||Pn(c)||K(c))?r>1?_(c,r-1,e,u):n(u,c):e||(u[u.length]=c);
|
9
|
+
}return u}function g(n,t){return n&&qn(n,t,en)}function b(n,t){return y(t,function(t){return Q(n[t])})}function j(n,t,r,e,u){return n===t?true:null==n||null==t||!X(n)&&!Y(t)?n!==n&&t!==t:m(n,t,j,r,e,u)}function m(n,t,r,e,u,o){var i=Pn(n),f=Pn(t),a="[object Array]",l="[object Array]";i||(a=kn.call(n),"[object Arguments]"==a&&(a="[object Object]")),f||(l=kn.call(t),"[object Arguments]"==l&&(l="[object Object]"));var p="[object Object]"==a&&!c(n),f="[object Object]"==l&&!c(t);return!(l=a==l)||i||p?2&u||(a=p&&En.call(n,"__wrapped__"),
|
10
|
+
f=f&&En.call(t,"__wrapped__"),!a&&!f)?l?(o||(o=[]),(a=J(o,function(t){return t[0]===n}))&&a[1]?a[1]==t:(o.push([n,t]),t=(i?I:q)(n,t,r,e,u,o),o.pop(),t)):false:r(a?n.value():n,f?t.value():t,e,u,o):$(n,t,a)}function d(n){var t=typeof n;return"function"==t?n:null==n?cn:("object"==t?x:A)(n)}function w(n){n=null==n?n:Object(n);var t,r=[];for(t in n)r.push(t);return r}function O(n,t){var r=-1,e=L(n)?Array(n.length):[];return $n(n,function(n,u,o){e[++r]=t(n,u,o)}),e}function x(n){var t=en(n);return function(r){
|
11
|
+
var e=t.length;if(null==r)return!e;for(r=Object(r);e--;){var u=t[e];if(!(u in r&&j(n[u],r[u],an,3)))return false}return true}}function E(n,t){return n=Object(n),P(t,function(t,r){return r in n&&(t[r]=n[r]),t},{})}function A(n){return function(t){return null==t?an:t[n]}}function k(n,t,r){var e=-1,u=n.length;for(0>t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++e<u;)r[e]=n[e+t];return r}function N(n){return k(n,0,n.length)}function S(n,t){var r;return $n(n,function(n,e,u){return r=t(n,e,u),
|
12
|
+
!r}),!!r}function T(t,r){return P(r,function(t,r){return r.func.apply(r.thisArg,n([t],r.args))},t)}function F(n,t,r,e){r||(r={});for(var u=-1,o=t.length;++u<o;){var i=t[u],c=e?e(r[i],n[i],i,r,n):n[i],f=r,a=f[i];En.call(f,i)&&(a===c||a!==a&&c!==c)&&(c!==an||i in f)||(f[i]=c)}return r}function R(n){return V(function(t,r){var e=-1,u=r.length,o=u>1?r[u-1]:an,o=typeof o=="function"?(u--,o):an;for(t=Object(t);++e<u;){var i=r[e];i&&n(t,i,e,o)}return t})}function B(n){return function(){var t=arguments,r=s(n.prototype),t=n.apply(r,t);
|
13
|
+
return X(t)?t:r}}function D(n,t,r){function e(){for(var o=-1,i=arguments.length,c=-1,f=r.length,a=Array(f+i),l=this&&this!==wn&&this instanceof e?u:n;++c<f;)a[c]=r[c];for(;i--;)a[c++]=arguments[++o];return l.apply(t,a)}if(typeof n!="function")throw new TypeError("Expected a function");var u=B(n);return e}function I(n,t,r,e,u,o){var i=-1,c=1&u,f=n.length,a=t.length;if(f!=a&&!(2&u&&a>f))return false;for(a=true;++i<f;){var l=n[i],p=t[i];if(void 0!==an){a=false;break}if(c){if(!S(t,function(n){return l===n||r(l,n,e,u,o);
|
14
|
+
})){a=false;break}}else if(l!==p&&!r(l,p,e,u,o)){a=false;break}}return a}function $(n,t,r){switch(r){case"[object Boolean]":case"[object Date]":return+n==+t;case"[object Error]":return n.name==t.name&&n.message==t.message;case"[object Number]":return n!=+n?t!=+t:n==+t;case"[object RegExp]":case"[object String]":return n==t+""}return false}function q(n,t,r,e,u,o){var i=2&u,c=en(n),f=c.length,a=en(t).length;if(f!=a&&!i)return false;for(var l=f;l--;){var p=c[l];if(!(i?p in t:En.call(t,p)))return false}for(a=true;++l<f;){
|
15
|
+
var p=c[l],s=n[p],h=t[p];if(void 0!==an||s!==h&&!r(s,h,e,u,o)){a=false;break}i||(i="constructor"==p)}return a&&!i&&(r=n.constructor,e=t.constructor,r!=e&&"constructor"in n&&"constructor"in t&&!(typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)&&(a=false)),a}function z(n){var t=n?n.length:an;if(W(t)&&(Pn(n)||nn(n)||K(n))){n=String;for(var r=-1,e=Array(t);++r<t;)e[r]=n(r);t=e}else t=null;return t}function C(n){var t=n&&n.constructor,t=Q(t)&&t.prototype||xn;return n===t}function G(n){
|
16
|
+
return n?n[0]:an}function J(n,t){return r(n,d(t),$n)}function M(n,t){return $n(n,typeof t=="function"?t:cn)}function P(n,t,r){return e(n,d(t),r,3>arguments.length,$n)}function U(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Un(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=an),r}}function V(n){var t;if(typeof n!="function")throw new TypeError("Expected a function");return t=In(t===an?n.length-1:Un(t),0),function(){for(var r=arguments,e=-1,u=In(r.length-t,0),o=Array(u);++e<u;)o[e]=r[t+e];
|
17
|
+
for(u=Array(t+1),e=-1;++e<t;)u[e]=r[e];return u[t]=o,n.apply(this,u)}}function H(n,t){return n>t}function K(n){return Y(n)&&L(n)&&En.call(n,"callee")&&(!Rn.call(n,"callee")||"[object Arguments]"==kn.call(n))}function L(n){return null!=n&&!(typeof n=="function"&&Q(n))&&W(zn(n))}function Q(n){return n=X(n)?kn.call(n):"","[object Function]"==n||"[object GeneratorFunction]"==n}function W(n){return typeof n=="number"&&n>-1&&0==n%1&&9007199254740991>=n}function X(n){var t=typeof n;return!!n&&("object"==t||"function"==t);
|
18
|
+
}function Y(n){return!!n&&typeof n=="object"}function Z(n){return typeof n=="number"||Y(n)&&"[object Number]"==kn.call(n)}function nn(n){return typeof n=="string"||!Pn(n)&&Y(n)&&"[object String]"==kn.call(n)}function tn(n,t){return t>n}function rn(n){return typeof n=="string"?n:null==n?"":n+""}function en(n){var t=C(n);if(!t&&!L(n))return Dn(Object(n));var r,e=z(n),u=!!e,e=e||[],o=e.length;for(r in n)!En.call(n,r)||u&&("length"==r||f(r,o))||t&&"constructor"==r||e.push(r);return e}function un(n){for(var t=-1,r=C(n),e=w(n),u=e.length,o=z(n),i=!!o,o=o||[],c=o.length;++t<u;){
|
19
|
+
var a=e[t];i&&("length"==a||f(a,c))||"constructor"==a&&(r||!En.call(n,a))||o.push(a)}return o}function on(n){return n?u(n,en(n)):[]}function cn(n){return n}function fn(t,r,e){var u=en(r),o=b(r,u);null!=e||X(r)&&(o.length||!u.length)||(e=r,r=t,t=this,o=b(r,en(r)));var i=X(e)&&"chain"in e?e.chain:true,c=Q(t);return $n(o,function(e){var u=r[e];t[e]=u,c&&(t.prototype[e]=function(){var r=this.__chain__;if(i||r){var e=t(this.__wrapped__);return(e.__actions__=N(this.__actions__)).push({func:u,args:arguments,
|
20
|
+
thisArg:t}),e.__chain__=r,e}return u.apply(t,n([this.value()],arguments))})}),t}var an,ln=1/0,pn=/[&<>"'`]/g,sn=RegExp(pn.source),hn=/^(?:0|[1-9]\d*)$/,vn={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},yn={"function":true,object:true},_n=yn[typeof exports]&&exports&&!exports.nodeType?exports:an,gn=yn[typeof module]&&module&&!module.nodeType?module:an,bn=gn&&gn.exports===_n?_n:an,jn=o(yn[typeof self]&&self),mn=o(yn[typeof window]&&window),dn=o(yn[typeof this]&&this),wn=o(_n&&gn&&typeof global=="object"&&global)||mn!==(dn&&dn.window)&&mn||jn||dn||Function("return this")(),On=Array.prototype,xn=Object.prototype,En=xn.hasOwnProperty,An=0,kn=xn.toString,Nn=wn._,Sn=wn.Reflect,Tn=Sn?Sn.f:an,Fn=Object.create,Rn=xn.propertyIsEnumerable,Bn=wn.isFinite,Dn=Object.keys,In=Math.max,$n=function(n,t){
|
21
|
+
return function(r,e){if(null==r)return r;if(!L(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++o<u)&&false!==e(i[o],o,i););return r}}(g),qn=function(n){return function(t,r,e){var u=-1,o=Object(t);e=e(t);for(var i=e.length;i--;){var c=e[n?i:++u];if(false===r(o[c],c,o))break}return t}}();Tn&&!Rn.call({valueOf:1},"valueOf")&&(w=function(n){n=Tn(n);for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r});var zn=A("length"),Cn=V(function(t,r){return Pn(t)||(t=null==t?[]:[Object(t)]),_(r,1),
|
22
|
+
n(N(t),on)}),Gn=V(function(n,t,r){return D(n,t,r)}),Jn=V(function(n,t){return h(n,1,t)}),Mn=V(function(n,t,r){return h(n,Vn(t)||0,r)}),Pn=Array.isArray,Un=Number,Vn=Number,Hn=R(function(n,t){F(t,en(t),n)}),Kn=R(function(n,t){F(t,un(t),n)}),Ln=R(function(n,t,r,e){F(t,un(t),n,e)}),Qn=V(function(n){return n.push(an,p),Ln.apply(an,n)}),Wn=V(function(n,t){return null==n?{}:E(n,_(t,1))}),Xn=d;l.prototype=s(a.prototype),l.prototype.constructor=l,a.assignIn=Kn,a.before=U,a.bind=Gn,a.chain=function(n){return n=a(n),
|
23
|
+
n.__chain__=true,n},a.compact=function(n){return y(n,Boolean)},a.concat=Cn,a.create=function(n,t){var r=s(n);return t?Hn(r,t):r},a.defaults=Qn,a.defer=Jn,a.delay=Mn,a.filter=function(n,t){return y(n,d(t))},a.flatten=function(n){return n&&n.length?_(n,1):[]},a.flattenDeep=function(n){return n&&n.length?_(n,ln):[]},a.iteratee=Xn,a.keys=en,a.map=function(n,t){return O(n,d(t))},a.matches=function(n){return x(Hn({},n))},a.mixin=fn,a.negate=function(n){if(typeof n!="function")throw new TypeError("Expected a function");
|
24
|
+
return function(){return!n.apply(this,arguments)}},a.once=function(n){return U(2,n)},a.pick=Wn,a.slice=function(n,t,r){var e=n?n.length:0;return r=r===an?e:+r,e?k(n,null==t?0:+t,r):[]},a.sortBy=function(n,t){var r=0;return t=d(t),O(O(n,function(n,e,u){return{c:n,b:r++,a:t(n,e,u)}}).sort(function(n,t){var r;n:{r=n.a;var e=t.a;if(r!==e){var u=null===r,o=r===an,i=r===r,c=null===e,f=e===an,a=e===e;if(r>e&&!c||!i||u&&!f&&a||o&&a){r=1;break n}if(e>r&&!u||!a||c&&!o&&i||f&&i){r=-1;break n}}r=0}return r||n.b-t.b;
|
25
|
+
}),A("c"))},a.tap=function(n,t){return t(n),n},a.thru=function(n,t){return t(n)},a.toArray=function(n){return L(n)?n.length?N(n):[]:on(n)},a.values=on,a.extend=Kn,fn(a,a),a.clone=function(n){return X(n)?Pn(n)?N(n):F(n,en(n)):n},a.escape=function(n){return(n=rn(n))&&sn.test(n)?n.replace(pn,i):n},a.every=function(n,t,r){return t=r?an:t,v(n,d(t))},a.find=J,a.forEach=M,a.has=function(n,t){return null!=n&&En.call(n,t)},a.head=G,a.identity=cn,a.indexOf=function(n,t,r){var e=n?n.length:0;r=typeof r=="number"?0>r?In(e+r,0):r:0,
|
26
|
+
r=(r||0)-1;for(var u=t===t;++r<e;){var o=n[r];if(u?o===t:o!==o)return r}return-1},a.isArguments=K,a.isArray=Pn,a.isBoolean=function(n){return true===n||false===n||Y(n)&&"[object Boolean]"==kn.call(n)},a.isDate=function(n){return Y(n)&&"[object Date]"==kn.call(n)},a.isEmpty=function(n){if(L(n)&&(Pn(n)||nn(n)||Q(n.splice)||K(n)))return!n.length;for(var t in n)if(En.call(n,t))return false;return true},a.isEqual=function(n,t){return j(n,t)},a.isFinite=function(n){return typeof n=="number"&&Bn(n)},a.isFunction=Q,a.isNaN=function(n){
|
27
|
+
return Z(n)&&n!=+n},a.isNull=function(n){return null===n},a.isNumber=Z,a.isObject=X,a.isRegExp=function(n){return X(n)&&"[object RegExp]"==kn.call(n)},a.isString=nn,a.isUndefined=function(n){return n===an},a.last=function(n){var t=n?n.length:0;return t?n[t-1]:an},a.max=function(n){return n&&n.length?t(n,cn,H):an},a.min=function(n){return n&&n.length?t(n,cn,tn):an},a.noConflict=function(){return wn._===this&&(wn._=Nn),this},a.noop=function(){},a.reduce=P,a.result=function(n,t,r){return t=null==n?an:n[t],
|
28
|
+
t===an&&(t=r),Q(t)?t.call(n):t},a.size=function(n){return null==n?0:(n=L(n)?n:en(n),n.length)},a.some=function(n,t,r){return t=r?an:t,S(n,d(t))},a.uniqueId=function(n){var t=++An;return rn(n)+t},a.each=M,a.first=G,fn(a,function(){var n={};return g(a,function(t,r){En.call(a.prototype,r)||(n[r]=t)}),n}(),{chain:false}),a.VERSION="4.5.1",$n("pop join replace reverse split push shift sort splice unshift".split(" "),function(n){var t=(/^(?:replace|split)$/.test(n)?String.prototype:On)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|join|replace|shift)$/.test(n);
|
29
|
+
a.prototype[n]=function(){var n=arguments;return e&&!this.__chain__?t.apply(this.value(),n):this[r](function(r){return t.apply(r,n)})}}),a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=function(){return T(this.__wrapped__,this.__actions__)},(mn||jn||{})._=a,typeof define=="function"&&typeof define.amd=="object"&&define.amd? define(function(){return a}):_n&&gn?(bn&&((gn.exports=a)._=a),_n._=a):wn._=a}).call(this);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* @license
|
3
|
-
* lodash 4.
|
3
|
+
* lodash 4.5.1 (Custom Build) <https://lodash.com/>
|
4
4
|
* Build: `lodash -o ./dist/lodash.js`
|
5
5
|
* Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
|
6
6
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
@@ -13,7 +13,7 @@
|
|
13
13
|
var undefined;
|
14
14
|
|
15
15
|
/** Used as the semantic version number. */
|
16
|
-
var VERSION = '4.
|
16
|
+
var VERSION = '4.5.1';
|
17
17
|
|
18
18
|
/** Used to compose bitmasks for wrapper metadata. */
|
19
19
|
var BIND_FLAG = 1,
|
@@ -335,10 +335,19 @@
|
|
335
335
|
freeParseInt = parseInt;
|
336
336
|
|
337
337
|
/** Detect free variable `exports`. */
|
338
|
-
var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)
|
338
|
+
var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)
|
339
|
+
? exports
|
340
|
+
: undefined;
|
339
341
|
|
340
342
|
/** Detect free variable `module`. */
|
341
|
-
var freeModule = (objectTypes[typeof module] && module && !module.nodeType)
|
343
|
+
var freeModule = (objectTypes[typeof module] && module && !module.nodeType)
|
344
|
+
? module
|
345
|
+
: undefined;
|
346
|
+
|
347
|
+
/** Detect the popular CommonJS extension `module.exports`. */
|
348
|
+
var moduleExports = (freeModule && freeModule.exports === freeExports)
|
349
|
+
? freeExports
|
350
|
+
: undefined;
|
342
351
|
|
343
352
|
/** Detect free variable `global` from Node.js. */
|
344
353
|
var freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);
|
@@ -349,9 +358,6 @@
|
|
349
358
|
/** Detect free variable `window`. */
|
350
359
|
var freeWindow = checkGlobal(objectTypes[typeof window] && window);
|
351
360
|
|
352
|
-
/** Detect the popular CommonJS extension `module.exports`. */
|
353
|
-
var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null;
|
354
|
-
|
355
361
|
/** Detect `this` as the global object. */
|
356
362
|
var thisGlobal = checkGlobal(objectTypes[typeof this] && this);
|
357
363
|
|
@@ -361,7 +367,9 @@
|
|
361
367
|
* The `this` value is used if it's the global object to avoid Greasemonkey's
|
362
368
|
* restricted `window` object, otherwise the `window` object is used.
|
363
369
|
*/
|
364
|
-
var root = freeGlobal ||
|
370
|
+
var root = freeGlobal ||
|
371
|
+
((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||
|
372
|
+
freeSelf || thisGlobal || Function('return this')();
|
365
373
|
|
366
374
|
/*--------------------------------------------------------------------------*/
|
367
375
|
|
@@ -1025,6 +1033,26 @@
|
|
1025
1033
|
return object.index - other.index;
|
1026
1034
|
}
|
1027
1035
|
|
1036
|
+
/**
|
1037
|
+
* Gets the number of `placeholder` occurrences in `array`.
|
1038
|
+
*
|
1039
|
+
* @private
|
1040
|
+
* @param {Array} array The array to inspect.
|
1041
|
+
* @param {*} placeholder The placeholder to search for.
|
1042
|
+
* @returns {number} Returns the placeholder count.
|
1043
|
+
*/
|
1044
|
+
function countHolders(array, placeholder) {
|
1045
|
+
var length = array.length,
|
1046
|
+
result = 0;
|
1047
|
+
|
1048
|
+
while (length--) {
|
1049
|
+
if (array[length] === placeholder) {
|
1050
|
+
result++;
|
1051
|
+
}
|
1052
|
+
}
|
1053
|
+
return result;
|
1054
|
+
}
|
1055
|
+
|
1028
1056
|
/**
|
1029
1057
|
* Used by `_.deburr` to convert latin-1 supplementary letters to basic latin letters.
|
1030
1058
|
*
|
@@ -1163,7 +1191,8 @@
|
|
1163
1191
|
result = [];
|
1164
1192
|
|
1165
1193
|
while (++index < length) {
|
1166
|
-
|
1194
|
+
var value = array[index];
|
1195
|
+
if (value === placeholder || value === PLACEHOLDER) {
|
1167
1196
|
array[index] = PLACEHOLDER;
|
1168
1197
|
result[++resIndex] = index;
|
1169
1198
|
}
|
@@ -1316,6 +1345,7 @@
|
|
1316
1345
|
getPrototypeOf = Object.getPrototypeOf,
|
1317
1346
|
getOwnPropertySymbols = Object.getOwnPropertySymbols,
|
1318
1347
|
iteratorSymbol = typeof (iteratorSymbol = Symbol && Symbol.iterator) == 'symbol' ? iteratorSymbol : undefined,
|
1348
|
+
objectCreate = Object.create,
|
1319
1349
|
propertyIsEnumerable = objectProto.propertyIsEnumerable,
|
1320
1350
|
setTimeout = context.setTimeout,
|
1321
1351
|
splice = arrayProto.splice;
|
@@ -1395,51 +1425,52 @@
|
|
1395
1425
|
* `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`
|
1396
1426
|
*
|
1397
1427
|
* The chainable wrapper methods are:
|
1398
|
-
* `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`,
|
1399
|
-
* `
|
1400
|
-
* `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,
|
1401
|
-
* `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, `difference`,
|
1428
|
+
* `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,
|
1429
|
+
* `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,
|
1430
|
+
* `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,
|
1431
|
+
* `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, `difference`,
|
1402
1432
|
* `differenceBy`, `differenceWith`, `drop`, `dropRight`, `dropRightWhile`,
|
1403
|
-
* `dropWhile`, `fill`, `filter`, `flatten`, `flattenDeep`, `
|
1404
|
-
* `
|
1405
|
-
* `
|
1406
|
-
* `
|
1407
|
-
* `
|
1408
|
-
* `
|
1409
|
-
* `
|
1410
|
-
* `partialRight`, `partition`, `pick`, `pickBy`, `plant`,
|
1411
|
-
* `propertyOf`, `pull`, `pullAll`, `pullAllBy`, `pullAt`, `push`,
|
1412
|
-
* `rangeRight`, `rearg`, `reject`, `remove`, `rest`, `reverse`,
|
1413
|
-
* `set`, `setWith`, `shuffle`, `slice`, `sort`, `sortBy`,
|
1414
|
-
* `
|
1415
|
-
* `
|
1416
|
-
* `
|
1417
|
-
* `
|
1418
|
-
* `
|
1419
|
-
* `zipObjectDeep`, and `zipWith`
|
1433
|
+
* `dropWhile`, `fill`, `filter`, `flatten`, `flattenDeep`, `flattenDepth`,
|
1434
|
+
* `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, `functionsIn`,
|
1435
|
+
* `groupBy`, `initial`, `intersection`, `intersectionBy`, `intersectionWith`,
|
1436
|
+
* `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, `keys`, `keysIn`,
|
1437
|
+
* `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, `memoize`,
|
1438
|
+
* `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, `nthArg`,
|
1439
|
+
* `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, `overEvery`,
|
1440
|
+
* `overSome`, `partial`, `partialRight`, `partition`, `pick`, `pickBy`, `plant`,
|
1441
|
+
* `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, `pullAt`, `push`,
|
1442
|
+
* `range`, `rangeRight`, `rearg`, `reject`, `remove`, `rest`, `reverse`,
|
1443
|
+
* `sampleSize`, `set`, `setWith`, `shuffle`, `slice`, `sort`, `sortBy`,
|
1444
|
+
* `splice`, `spread`, `tail`, `take`, `takeRight`, `takeRightWhile`,
|
1445
|
+
* `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, `toPairs`, `toPairsIn`,
|
1446
|
+
* `toPath`, `toPlainObject`, `transform`, `unary`, `union`, `unionBy`,
|
1447
|
+
* `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, `unshift`, `unzip`,
|
1448
|
+
* `unzipWith`, `values`, `valuesIn`, `without`, `wrap`, `xor`, `xorBy`,
|
1449
|
+
* `xorWith`, `zip`, `zipObject`, `zipObjectDeep`, and `zipWith`
|
1420
1450
|
*
|
1421
1451
|
* The wrapper methods that are **not** chainable by default are:
|
1422
1452
|
* `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,
|
1423
1453
|
* `cloneDeep`, `cloneDeepWith`, `cloneWith`, `deburr`, `endsWith`, `eq`,
|
1424
|
-
* `escape`, `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`,
|
1425
|
-
* `
|
1426
|
-
* `
|
1427
|
-
* `
|
1428
|
-
* `
|
1429
|
-
* `isDate`, `isElement`, `isEmpty`, `isEqual`, `isEqualWith`,
|
1430
|
-
* `isFinite`, `isFunction`, `isInteger`, `isLength`, `
|
1431
|
-
* `
|
1432
|
-
* `
|
1433
|
-
* `
|
1434
|
-
* `
|
1435
|
-
* `
|
1436
|
-
* `
|
1437
|
-
* `
|
1438
|
-
* `
|
1439
|
-
* `
|
1440
|
-
* `
|
1441
|
-
* `
|
1442
|
-
* `
|
1454
|
+
* `escape`, `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,
|
1455
|
+
* `findLastIndex`, `findLastKey`, `floor`, `forEach`, `forEachRight`, `forIn`,
|
1456
|
+
* `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, `hasIn`,
|
1457
|
+
* `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, `isArguments`,
|
1458
|
+
* `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, `isBoolean`,
|
1459
|
+
* `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, `isEqualWith`,
|
1460
|
+
* `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, `isMap`,
|
1461
|
+
* `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, `isNumber`,
|
1462
|
+
* `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, `isSafeInteger`,
|
1463
|
+
* `isSet`, `isString`, `isUndefined`, `isTypedArray`, `isWeakMap`, `isWeakSet`,
|
1464
|
+
* `join`, `kebabCase`, `last`, `lastIndexOf`, `lowerCase`, `lowerFirst`,
|
1465
|
+
* `lt`, `lte`, `max`, `maxBy`, `mean`, `min`, `minBy`, `noConflict`, `noop`,
|
1466
|
+
* `now`, `pad`, `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`,
|
1467
|
+
* `reduceRight`, `repeat`, `result`, `round`, `runInContext`, `sample`,
|
1468
|
+
* `shift`, `size`, `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`,
|
1469
|
+
* `sortedLastIndex`, `sortedLastIndexBy`, `startCase`, `startsWith`, `subtract`,
|
1470
|
+
* `sum`, `sumBy`, `template`, `times`, `toLower`, `toInteger`, `toLength`,
|
1471
|
+
* `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, `trimEnd`,
|
1472
|
+
* `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, `upperFirst`,
|
1473
|
+
* `value`, and `words`
|
1443
1474
|
*
|
1444
1475
|
* @name _
|
1445
1476
|
* @constructor
|
@@ -1510,7 +1541,7 @@
|
|
1510
1541
|
*
|
1511
1542
|
* @static
|
1512
1543
|
* @memberOf _
|
1513
|
-
* @type Object
|
1544
|
+
* @type {Object}
|
1514
1545
|
*/
|
1515
1546
|
lodash.templateSettings = {
|
1516
1547
|
|
@@ -1518,7 +1549,7 @@
|
|
1518
1549
|
* Used to detect `data` property values to be HTML-escaped.
|
1519
1550
|
*
|
1520
1551
|
* @memberOf _.templateSettings
|
1521
|
-
* @type RegExp
|
1552
|
+
* @type {RegExp}
|
1522
1553
|
*/
|
1523
1554
|
'escape': reEscape,
|
1524
1555
|
|
@@ -1526,7 +1557,7 @@
|
|
1526
1557
|
* Used to detect code to be evaluated.
|
1527
1558
|
*
|
1528
1559
|
* @memberOf _.templateSettings
|
1529
|
-
* @type RegExp
|
1560
|
+
* @type {RegExp}
|
1530
1561
|
*/
|
1531
1562
|
'evaluate': reEvaluate,
|
1532
1563
|
|
@@ -1534,7 +1565,7 @@
|
|
1534
1565
|
* Used to detect `data` property values to inject.
|
1535
1566
|
*
|
1536
1567
|
* @memberOf _.templateSettings
|
1537
|
-
* @type RegExp
|
1568
|
+
* @type {RegExp}
|
1538
1569
|
*/
|
1539
1570
|
'interpolate': reInterpolate,
|
1540
1571
|
|
@@ -1542,7 +1573,7 @@
|
|
1542
1573
|
* Used to reference the data object in the template text.
|
1543
1574
|
*
|
1544
1575
|
* @memberOf _.templateSettings
|
1545
|
-
* @type string
|
1576
|
+
* @type {string}
|
1546
1577
|
*/
|
1547
1578
|
'variable': '',
|
1548
1579
|
|
@@ -1550,7 +1581,7 @@
|
|
1550
1581
|
* Used to import variables into the compiled template.
|
1551
1582
|
*
|
1552
1583
|
* @memberOf _.templateSettings
|
1553
|
-
* @type Object
|
1584
|
+
* @type {Object}
|
1554
1585
|
*/
|
1555
1586
|
'imports': {
|
1556
1587
|
|
@@ -1558,7 +1589,7 @@
|
|
1558
1589
|
* A reference to the `lodash` function.
|
1559
1590
|
*
|
1560
1591
|
* @memberOf _.templateSettings.imports
|
1561
|
-
* @type Function
|
1592
|
+
* @type {Function}
|
1562
1593
|
*/
|
1563
1594
|
'_': lodash
|
1564
1595
|
}
|
@@ -1570,6 +1601,7 @@
|
|
1570
1601
|
* Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.
|
1571
1602
|
*
|
1572
1603
|
* @private
|
1604
|
+
* @constructor
|
1573
1605
|
* @param {*} value The value to wrap.
|
1574
1606
|
*/
|
1575
1607
|
function LazyWrapper(value) {
|
@@ -1645,7 +1677,8 @@
|
|
1645
1677
|
resIndex = 0,
|
1646
1678
|
takeCount = nativeMin(length, this.__takeCount__);
|
1647
1679
|
|
1648
|
-
if (!isArr || arrLength < LARGE_ARRAY_SIZE ||
|
1680
|
+
if (!isArr || arrLength < LARGE_ARRAY_SIZE ||
|
1681
|
+
(arrLength == length && takeCount == length)) {
|
1649
1682
|
return baseWrapperValue(array, this.__actions__);
|
1650
1683
|
}
|
1651
1684
|
var result = [];
|
@@ -1684,6 +1717,7 @@
|
|
1684
1717
|
* Creates an hash object.
|
1685
1718
|
*
|
1686
1719
|
* @private
|
1720
|
+
* @constructor
|
1687
1721
|
* @returns {Object} Returns the new hash object.
|
1688
1722
|
*/
|
1689
1723
|
function Hash() {}
|
@@ -1746,6 +1780,7 @@
|
|
1746
1780
|
* Creates a map cache object to store key-value pairs.
|
1747
1781
|
*
|
1748
1782
|
* @private
|
1783
|
+
* @constructor
|
1749
1784
|
* @param {Array} [values] The values to cache.
|
1750
1785
|
*/
|
1751
1786
|
function MapCache(values) {
|
@@ -1767,7 +1802,11 @@
|
|
1767
1802
|
* @memberOf MapCache
|
1768
1803
|
*/
|
1769
1804
|
function mapClear() {
|
1770
|
-
this.__data__ = {
|
1805
|
+
this.__data__ = {
|
1806
|
+
'hash': new Hash,
|
1807
|
+
'map': Map ? new Map : [],
|
1808
|
+
'string': new Hash
|
1809
|
+
};
|
1771
1810
|
}
|
1772
1811
|
|
1773
1812
|
/**
|
@@ -1850,6 +1889,7 @@
|
|
1850
1889
|
* Creates a set cache object to store unique values.
|
1851
1890
|
*
|
1852
1891
|
* @private
|
1892
|
+
* @constructor
|
1853
1893
|
* @param {Array} [values] The values to cache.
|
1854
1894
|
*/
|
1855
1895
|
function SetCache(values) {
|
@@ -1908,6 +1948,7 @@
|
|
1908
1948
|
* Creates a stack cache object to store key-value pairs.
|
1909
1949
|
*
|
1910
1950
|
* @private
|
1951
|
+
* @constructor
|
1911
1952
|
* @param {Array} [values] The values to cache.
|
1912
1953
|
*/
|
1913
1954
|
function Stack(values) {
|
@@ -2141,8 +2182,7 @@
|
|
2141
2182
|
*/
|
2142
2183
|
function assignValue(object, key, value) {
|
2143
2184
|
var objValue = object[key];
|
2144
|
-
if ((
|
2145
|
-
(eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) ||
|
2185
|
+
if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
|
2146
2186
|
(value === undefined && !(key in object))) {
|
2147
2187
|
object[key] = value;
|
2148
2188
|
}
|
@@ -2199,6 +2239,39 @@
|
|
2199
2239
|
return result;
|
2200
2240
|
}
|
2201
2241
|
|
2242
|
+
/**
|
2243
|
+
* Casts `value` to an empty array if it's not an array like object.
|
2244
|
+
*
|
2245
|
+
* @private
|
2246
|
+
* @param {*} value The value to inspect.
|
2247
|
+
* @returns {Array} Returns the array-like object.
|
2248
|
+
*/
|
2249
|
+
function baseCastArrayLikeObject(value) {
|
2250
|
+
return isArrayLikeObject(value) ? value : [];
|
2251
|
+
}
|
2252
|
+
|
2253
|
+
/**
|
2254
|
+
* Casts `value` to `identity` if it's not a function.
|
2255
|
+
*
|
2256
|
+
* @private
|
2257
|
+
* @param {*} value The value to inspect.
|
2258
|
+
* @returns {Array} Returns the array-like object.
|
2259
|
+
*/
|
2260
|
+
function baseCastFunction(value) {
|
2261
|
+
return typeof value == 'function' ? value : identity;
|
2262
|
+
}
|
2263
|
+
|
2264
|
+
/**
|
2265
|
+
* Casts `value` to a path array if it's not one.
|
2266
|
+
*
|
2267
|
+
* @private
|
2268
|
+
* @param {*} value The value to inspect.
|
2269
|
+
* @returns {Array} Returns the cast property path array.
|
2270
|
+
*/
|
2271
|
+
function baseCastPath(value) {
|
2272
|
+
return isArray(value) ? value : stringToPath(value);
|
2273
|
+
}
|
2274
|
+
|
2202
2275
|
/**
|
2203
2276
|
* The base implementation of `_.clamp` which doesn't coerce arguments to numbers.
|
2204
2277
|
*
|
@@ -2266,9 +2339,10 @@
|
|
2266
2339
|
return copySymbols(value, baseAssign(result, value));
|
2267
2340
|
}
|
2268
2341
|
} else {
|
2269
|
-
|
2270
|
-
?
|
2271
|
-
|
2342
|
+
if (!cloneableTags[tag]) {
|
2343
|
+
return object ? value : {};
|
2344
|
+
}
|
2345
|
+
result = initCloneByTag(value, tag, isDeep);
|
2272
2346
|
}
|
2273
2347
|
}
|
2274
2348
|
// Check for circular references and return its corresponding clone.
|
@@ -2323,17 +2397,9 @@
|
|
2323
2397
|
* @param {Object} prototype The object to inherit from.
|
2324
2398
|
* @returns {Object} Returns the new object.
|
2325
2399
|
*/
|
2326
|
-
|
2327
|
-
|
2328
|
-
|
2329
|
-
if (isObject(prototype)) {
|
2330
|
-
object.prototype = prototype;
|
2331
|
-
var result = new object;
|
2332
|
-
object.prototype = undefined;
|
2333
|
-
}
|
2334
|
-
return result || {};
|
2335
|
-
};
|
2336
|
-
}());
|
2400
|
+
function baseCreate(proto) {
|
2401
|
+
return isObject(proto) ? objectCreate(proto) : {};
|
2402
|
+
}
|
2337
2403
|
|
2338
2404
|
/**
|
2339
2405
|
* The base implementation of `_.delay` and `_.defer` which accepts an array
|
@@ -2495,12 +2561,12 @@
|
|
2495
2561
|
*
|
2496
2562
|
* @private
|
2497
2563
|
* @param {Array} array The array to flatten.
|
2498
|
-
* @param {
|
2564
|
+
* @param {number} depth The maximum recursion depth.
|
2499
2565
|
* @param {boolean} [isStrict] Restrict flattening to arrays-like objects.
|
2500
2566
|
* @param {Array} [result=[]] The initial result value.
|
2501
2567
|
* @returns {Array} Returns the new flattened array.
|
2502
2568
|
*/
|
2503
|
-
function baseFlatten(array,
|
2569
|
+
function baseFlatten(array, depth, isStrict, result) {
|
2504
2570
|
result || (result = []);
|
2505
2571
|
|
2506
2572
|
var index = -1,
|
@@ -2508,11 +2574,11 @@
|
|
2508
2574
|
|
2509
2575
|
while (++index < length) {
|
2510
2576
|
var value = array[index];
|
2511
|
-
if (isArrayLikeObject(value) &&
|
2577
|
+
if (depth > 0 && isArrayLikeObject(value) &&
|
2512
2578
|
(isStrict || isArray(value) || isArguments(value))) {
|
2513
|
-
if (
|
2579
|
+
if (depth > 1) {
|
2514
2580
|
// Recursively flatten arrays (susceptible to call stack limits).
|
2515
|
-
baseFlatten(value,
|
2581
|
+
baseFlatten(value, depth - 1, isStrict, result);
|
2516
2582
|
} else {
|
2517
2583
|
arrayPush(result, value);
|
2518
2584
|
}
|
@@ -2609,7 +2675,7 @@
|
|
2609
2675
|
* @returns {*} Returns the resolved value.
|
2610
2676
|
*/
|
2611
2677
|
function baseGet(object, path) {
|
2612
|
-
path = isKey(path, object) ? [path + ''] :
|
2678
|
+
path = isKey(path, object) ? [path + ''] : baseCastPath(path);
|
2613
2679
|
|
2614
2680
|
var index = 0,
|
2615
2681
|
length = path.length;
|
@@ -2698,11 +2764,17 @@
|
|
2698
2764
|
var value = array[index],
|
2699
2765
|
computed = iteratee ? iteratee(value) : value;
|
2700
2766
|
|
2701
|
-
if (!(seen
|
2767
|
+
if (!(seen
|
2768
|
+
? cacheHas(seen, computed)
|
2769
|
+
: includes(result, computed, comparator)
|
2770
|
+
)) {
|
2702
2771
|
var othIndex = othLength;
|
2703
2772
|
while (--othIndex) {
|
2704
2773
|
var cache = caches[othIndex];
|
2705
|
-
if (!(cache
|
2774
|
+
if (!(cache
|
2775
|
+
? cacheHas(cache, computed)
|
2776
|
+
: includes(arrays[othIndex], computed, comparator))
|
2777
|
+
) {
|
2706
2778
|
continue outer;
|
2707
2779
|
}
|
2708
2780
|
}
|
@@ -2745,7 +2817,7 @@
|
|
2745
2817
|
*/
|
2746
2818
|
function baseInvoke(object, path, args) {
|
2747
2819
|
if (!isKey(path, object)) {
|
2748
|
-
path =
|
2820
|
+
path = baseCastPath(path);
|
2749
2821
|
object = parent(object, path);
|
2750
2822
|
path = last(path);
|
2751
2823
|
}
|
@@ -2918,7 +2990,6 @@
|
|
2918
2990
|
* property of prototypes or treat sparse arrays as dense.
|
2919
2991
|
*
|
2920
2992
|
* @private
|
2921
|
-
* @type Function
|
2922
2993
|
* @param {Object} object The object to query.
|
2923
2994
|
* @returns {Array} Returns the array of property names.
|
2924
2995
|
*/
|
@@ -3026,7 +3097,10 @@
|
|
3026
3097
|
if (object === source) {
|
3027
3098
|
return;
|
3028
3099
|
}
|
3029
|
-
var props = (isArray(source) || isTypedArray(source))
|
3100
|
+
var props = (isArray(source) || isTypedArray(source))
|
3101
|
+
? undefined
|
3102
|
+
: keysIn(source);
|
3103
|
+
|
3030
3104
|
arrayEach(props || source, function(srcValue, key) {
|
3031
3105
|
if (props) {
|
3032
3106
|
key = srcValue;
|
@@ -3037,7 +3111,10 @@
|
|
3037
3111
|
baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
|
3038
3112
|
}
|
3039
3113
|
else {
|
3040
|
-
var newValue = customizer
|
3114
|
+
var newValue = customizer
|
3115
|
+
? customizer(object[key], srcValue, (key + ''), object, source, stack)
|
3116
|
+
: undefined;
|
3117
|
+
|
3041
3118
|
if (newValue === undefined) {
|
3042
3119
|
newValue = srcValue;
|
3043
3120
|
}
|
@@ -3069,21 +3146,24 @@
|
|
3069
3146
|
assignMergeValue(object, key, stacked);
|
3070
3147
|
return;
|
3071
3148
|
}
|
3072
|
-
var newValue = customizer
|
3073
|
-
|
3149
|
+
var newValue = customizer
|
3150
|
+
? customizer(objValue, srcValue, (key + ''), object, source, stack)
|
3151
|
+
: undefined;
|
3152
|
+
|
3153
|
+
var isCommon = newValue === undefined;
|
3074
3154
|
|
3075
3155
|
if (isCommon) {
|
3076
3156
|
newValue = srcValue;
|
3077
3157
|
if (isArray(srcValue) || isTypedArray(srcValue)) {
|
3078
3158
|
if (isArray(objValue)) {
|
3079
|
-
newValue =
|
3159
|
+
newValue = objValue;
|
3080
3160
|
}
|
3081
3161
|
else if (isArrayLikeObject(objValue)) {
|
3082
3162
|
newValue = copyArray(objValue);
|
3083
3163
|
}
|
3084
3164
|
else {
|
3085
3165
|
isCommon = false;
|
3086
|
-
newValue = baseClone(srcValue);
|
3166
|
+
newValue = baseClone(srcValue, true);
|
3087
3167
|
}
|
3088
3168
|
}
|
3089
3169
|
else if (isPlainObject(srcValue) || isArguments(srcValue)) {
|
@@ -3092,10 +3172,10 @@
|
|
3092
3172
|
}
|
3093
3173
|
else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {
|
3094
3174
|
isCommon = false;
|
3095
|
-
newValue = baseClone(srcValue);
|
3175
|
+
newValue = baseClone(srcValue, true);
|
3096
3176
|
}
|
3097
3177
|
else {
|
3098
|
-
newValue =
|
3178
|
+
newValue = objValue;
|
3099
3179
|
}
|
3100
3180
|
}
|
3101
3181
|
else {
|
@@ -3269,7 +3349,7 @@
|
|
3269
3349
|
splice.call(array, index, 1);
|
3270
3350
|
}
|
3271
3351
|
else if (!isKey(index, array)) {
|
3272
|
-
var path =
|
3352
|
+
var path = baseCastPath(index),
|
3273
3353
|
object = parent(array, path);
|
3274
3354
|
|
3275
3355
|
if (object != null) {
|
@@ -3331,7 +3411,7 @@
|
|
3331
3411
|
* @returns {Object} Returns `object`.
|
3332
3412
|
*/
|
3333
3413
|
function baseSet(object, path, value, customizer) {
|
3334
|
-
path = isKey(path, object) ? [path + ''] :
|
3414
|
+
path = isKey(path, object) ? [path + ''] : baseCastPath(path);
|
3335
3415
|
|
3336
3416
|
var index = -1,
|
3337
3417
|
length = path.length,
|
@@ -3346,7 +3426,9 @@
|
|
3346
3426
|
var objValue = nested[key];
|
3347
3427
|
newValue = customizer ? customizer(objValue, key, nested) : undefined;
|
3348
3428
|
if (newValue === undefined) {
|
3349
|
-
newValue = objValue == null
|
3429
|
+
newValue = objValue == null
|
3430
|
+
? (isIndex(path[index + 1]) ? [] : {})
|
3431
|
+
: objValue;
|
3350
3432
|
}
|
3351
3433
|
}
|
3352
3434
|
assignValue(nested, key, newValue);
|
@@ -3537,18 +3619,6 @@
|
|
3537
3619
|
return result;
|
3538
3620
|
}
|
3539
3621
|
|
3540
|
-
/**
|
3541
|
-
* The base implementation of `_.toPath` which only converts `value` to a
|
3542
|
-
* path if it's not one.
|
3543
|
-
*
|
3544
|
-
* @private
|
3545
|
-
* @param {*} value The value to process.
|
3546
|
-
* @returns {Array} Returns the property path array.
|
3547
|
-
*/
|
3548
|
-
function baseToPath(value) {
|
3549
|
-
return isArray(value) ? value : stringToPath(value);
|
3550
|
-
}
|
3551
|
-
|
3552
3622
|
/**
|
3553
3623
|
* The base implementation of `_.uniqBy` without support for iteratee shorthands.
|
3554
3624
|
*
|
@@ -3618,7 +3688,7 @@
|
|
3618
3688
|
* @returns {boolean} Returns `true` if the property is deleted, else `false`.
|
3619
3689
|
*/
|
3620
3690
|
function baseUnset(object, path) {
|
3621
|
-
path = isKey(path, object) ? [path + ''] :
|
3691
|
+
path = isKey(path, object) ? [path + ''] : baseCastPath(path);
|
3622
3692
|
object = parent(object, path);
|
3623
3693
|
var key = last(path);
|
3624
3694
|
return (object != null && has(object, key)) ? delete object[key] : true;
|
@@ -3807,10 +3877,11 @@
|
|
3807
3877
|
* @returns {Object} Returns the cloned typed array.
|
3808
3878
|
*/
|
3809
3879
|
function cloneTypedArray(typedArray, isDeep) {
|
3810
|
-
var
|
3880
|
+
var arrayBuffer = typedArray.buffer,
|
3881
|
+
buffer = isDeep ? cloneArrayBuffer(arrayBuffer) : arrayBuffer,
|
3811
3882
|
Ctor = typedArray.constructor;
|
3812
3883
|
|
3813
|
-
return new Ctor(
|
3884
|
+
return new Ctor(buffer, typedArray.byteOffset, typedArray.length);
|
3814
3885
|
}
|
3815
3886
|
|
3816
3887
|
/**
|
@@ -3821,23 +3892,28 @@
|
|
3821
3892
|
* @param {Array|Object} args The provided arguments.
|
3822
3893
|
* @param {Array} partials The arguments to prepend to those provided.
|
3823
3894
|
* @param {Array} holders The `partials` placeholder indexes.
|
3895
|
+
* @params {boolean} [isCurried] Specify composing for a curried function.
|
3824
3896
|
* @returns {Array} Returns the new array of composed arguments.
|
3825
3897
|
*/
|
3826
|
-
function composeArgs(args, partials, holders) {
|
3827
|
-
var
|
3828
|
-
|
3829
|
-
|
3898
|
+
function composeArgs(args, partials, holders, isCurried) {
|
3899
|
+
var argsIndex = -1,
|
3900
|
+
argsLength = args.length,
|
3901
|
+
holdersLength = holders.length,
|
3830
3902
|
leftIndex = -1,
|
3831
3903
|
leftLength = partials.length,
|
3832
|
-
|
3904
|
+
rangeLength = nativeMax(argsLength - holdersLength, 0),
|
3905
|
+
result = Array(leftLength + rangeLength),
|
3906
|
+
isUncurried = !isCurried;
|
3833
3907
|
|
3834
3908
|
while (++leftIndex < leftLength) {
|
3835
3909
|
result[leftIndex] = partials[leftIndex];
|
3836
3910
|
}
|
3837
3911
|
while (++argsIndex < holdersLength) {
|
3838
|
-
|
3912
|
+
if (isUncurried || argsIndex < argsLength) {
|
3913
|
+
result[holders[argsIndex]] = args[argsIndex];
|
3914
|
+
}
|
3839
3915
|
}
|
3840
|
-
while (
|
3916
|
+
while (rangeLength--) {
|
3841
3917
|
result[leftIndex++] = args[argsIndex++];
|
3842
3918
|
}
|
3843
3919
|
return result;
|
@@ -3851,18 +3927,21 @@
|
|
3851
3927
|
* @param {Array|Object} args The provided arguments.
|
3852
3928
|
* @param {Array} partials The arguments to append to those provided.
|
3853
3929
|
* @param {Array} holders The `partials` placeholder indexes.
|
3930
|
+
* @params {boolean} [isCurried] Specify composing for a curried function.
|
3854
3931
|
* @returns {Array} Returns the new array of composed arguments.
|
3855
3932
|
*/
|
3856
|
-
function composeArgsRight(args, partials, holders) {
|
3857
|
-
var
|
3933
|
+
function composeArgsRight(args, partials, holders, isCurried) {
|
3934
|
+
var argsIndex = -1,
|
3935
|
+
argsLength = args.length,
|
3936
|
+
holdersIndex = -1,
|
3858
3937
|
holdersLength = holders.length,
|
3859
|
-
argsIndex = -1,
|
3860
|
-
argsLength = nativeMax(args.length - holdersLength, 0),
|
3861
3938
|
rightIndex = -1,
|
3862
3939
|
rightLength = partials.length,
|
3863
|
-
|
3940
|
+
rangeLength = nativeMax(argsLength - holdersLength, 0),
|
3941
|
+
result = Array(rangeLength + rightLength),
|
3942
|
+
isUncurried = !isCurried;
|
3864
3943
|
|
3865
|
-
while (++argsIndex <
|
3944
|
+
while (++argsIndex < rangeLength) {
|
3866
3945
|
result[argsIndex] = args[argsIndex];
|
3867
3946
|
}
|
3868
3947
|
var offset = argsIndex;
|
@@ -3870,7 +3949,9 @@
|
|
3870
3949
|
result[offset + rightIndex] = partials[rightIndex];
|
3871
3950
|
}
|
3872
3951
|
while (++holdersIndex < holdersLength) {
|
3873
|
-
|
3952
|
+
if (isUncurried || argsIndex < argsLength) {
|
3953
|
+
result[offset + holders[holdersIndex]] = args[argsIndex++];
|
3954
|
+
}
|
3874
3955
|
}
|
3875
3956
|
return result;
|
3876
3957
|
}
|
@@ -3925,8 +4006,11 @@
|
|
3925
4006
|
length = props.length;
|
3926
4007
|
|
3927
4008
|
while (++index < length) {
|
3928
|
-
var key = props[index]
|
3929
|
-
|
4009
|
+
var key = props[index];
|
4010
|
+
|
4011
|
+
var newValue = customizer
|
4012
|
+
? customizer(object[key], source[key], key, object, source)
|
4013
|
+
: source[key];
|
3930
4014
|
|
3931
4015
|
assignValue(object, key, newValue);
|
3932
4016
|
}
|
@@ -3976,7 +4060,10 @@
|
|
3976
4060
|
customizer = length > 1 ? sources[length - 1] : undefined,
|
3977
4061
|
guard = length > 2 ? sources[2] : undefined;
|
3978
4062
|
|
3979
|
-
customizer = typeof customizer == 'function'
|
4063
|
+
customizer = typeof customizer == 'function'
|
4064
|
+
? (length--, customizer)
|
4065
|
+
: undefined;
|
4066
|
+
|
3980
4067
|
if (guard && isIterateeCall(sources[0], sources[1], guard)) {
|
3981
4068
|
customizer = length < 3 ? undefined : customizer;
|
3982
4069
|
length = 1;
|
@@ -4077,8 +4164,11 @@
|
|
4077
4164
|
return function(string) {
|
4078
4165
|
string = toString(string);
|
4079
4166
|
|
4080
|
-
var strSymbols = reHasComplexSymbol.test(string)
|
4081
|
-
|
4167
|
+
var strSymbols = reHasComplexSymbol.test(string)
|
4168
|
+
? stringToArray(string)
|
4169
|
+
: undefined;
|
4170
|
+
|
4171
|
+
var chr = strSymbols ? strSymbols[0] : string.charAt(0),
|
4082
4172
|
trailing = strSymbols ? strSymbols.slice(1).join('') : string.slice(1);
|
4083
4173
|
|
4084
4174
|
return chr[methodName]() + trailing;
|
@@ -4145,10 +4235,9 @@
|
|
4145
4235
|
|
4146
4236
|
function wrapper() {
|
4147
4237
|
var length = arguments.length,
|
4148
|
-
index = length,
|
4149
4238
|
args = Array(length),
|
4150
|
-
|
4151
|
-
placeholder =
|
4239
|
+
index = length,
|
4240
|
+
placeholder = getPlaceholder(wrapper);
|
4152
4241
|
|
4153
4242
|
while (index--) {
|
4154
4243
|
args[index] = arguments[index];
|
@@ -4158,9 +4247,13 @@
|
|
4158
4247
|
: replaceHolders(args, placeholder);
|
4159
4248
|
|
4160
4249
|
length -= holders.length;
|
4161
|
-
|
4162
|
-
|
4163
|
-
|
4250
|
+
if (length < arity) {
|
4251
|
+
return createRecurryWrapper(
|
4252
|
+
func, bitmask, createHybridWrapper, wrapper.placeholder, undefined,
|
4253
|
+
args, holders, undefined, undefined, arity - length);
|
4254
|
+
}
|
4255
|
+
var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
|
4256
|
+
return apply(fn, this, args);
|
4164
4257
|
}
|
4165
4258
|
return wrapper;
|
4166
4259
|
}
|
@@ -4174,7 +4267,7 @@
|
|
4174
4267
|
*/
|
4175
4268
|
function createFlow(fromRight) {
|
4176
4269
|
return rest(function(funcs) {
|
4177
|
-
funcs = baseFlatten(funcs);
|
4270
|
+
funcs = baseFlatten(funcs, 1);
|
4178
4271
|
|
4179
4272
|
var length = funcs.length,
|
4180
4273
|
index = length,
|
@@ -4199,7 +4292,10 @@
|
|
4199
4292
|
var funcName = getFuncName(func),
|
4200
4293
|
data = funcName == 'wrapper' ? getData(func) : undefined;
|
4201
4294
|
|
4202
|
-
if (data && isLaziable(data[0]) &&
|
4295
|
+
if (data && isLaziable(data[0]) &&
|
4296
|
+
data[1] == (ARY_FLAG | CURRY_FLAG | PARTIAL_FLAG | REARG_FLAG) &&
|
4297
|
+
!data[4].length && data[9] == 1
|
4298
|
+
) {
|
4203
4299
|
wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);
|
4204
4300
|
} else {
|
4205
4301
|
wrapper = (func.length == 1 && isLaziable(func)) ? wrapper[funcName]() : wrapper.thru(func);
|
@@ -4209,7 +4305,8 @@
|
|
4209
4305
|
var args = arguments,
|
4210
4306
|
value = args[0];
|
4211
4307
|
|
4212
|
-
if (wrapper && args.length == 1 &&
|
4308
|
+
if (wrapper && args.length == 1 &&
|
4309
|
+
isArray(value) && value.length >= LARGE_ARRAY_SIZE) {
|
4213
4310
|
return wrapper.plant(value).value();
|
4214
4311
|
}
|
4215
4312
|
var index = 0,
|
@@ -4244,8 +4341,7 @@
|
|
4244
4341
|
var isAry = bitmask & ARY_FLAG,
|
4245
4342
|
isBind = bitmask & BIND_FLAG,
|
4246
4343
|
isBindKey = bitmask & BIND_KEY_FLAG,
|
4247
|
-
|
4248
|
-
isCurryRight = bitmask & CURRY_RIGHT_FLAG,
|
4344
|
+
isCurried = bitmask & (CURRY_FLAG | CURRY_RIGHT_FLAG),
|
4249
4345
|
isFlip = bitmask & FLIP_FLAG,
|
4250
4346
|
Ctor = isBindKey ? undefined : createCtorWrapper(func);
|
4251
4347
|
|
@@ -4257,30 +4353,34 @@
|
|
4257
4353
|
while (index--) {
|
4258
4354
|
args[index] = arguments[index];
|
4259
4355
|
}
|
4356
|
+
if (isCurried) {
|
4357
|
+
var placeholder = getPlaceholder(wrapper),
|
4358
|
+
holdersCount = countHolders(args, placeholder);
|
4359
|
+
}
|
4260
4360
|
if (partials) {
|
4261
|
-
args = composeArgs(args, partials, holders);
|
4361
|
+
args = composeArgs(args, partials, holders, isCurried);
|
4262
4362
|
}
|
4263
4363
|
if (partialsRight) {
|
4264
|
-
args = composeArgsRight(args, partialsRight, holdersRight);
|
4364
|
+
args = composeArgsRight(args, partialsRight, holdersRight, isCurried);
|
4265
4365
|
}
|
4266
|
-
|
4267
|
-
|
4268
|
-
|
4269
|
-
|
4270
|
-
|
4271
|
-
|
4272
|
-
|
4273
|
-
}
|
4366
|
+
length -= holdersCount;
|
4367
|
+
if (isCurried && length < arity) {
|
4368
|
+
var newHolders = replaceHolders(args, placeholder);
|
4369
|
+
return createRecurryWrapper(
|
4370
|
+
func, bitmask, createHybridWrapper, wrapper.placeholder, thisArg,
|
4371
|
+
args, newHolders, argPos, ary, arity - length
|
4372
|
+
);
|
4274
4373
|
}
|
4275
4374
|
var thisBinding = isBind ? thisArg : this,
|
4276
4375
|
fn = isBindKey ? thisBinding[func] : func;
|
4277
4376
|
|
4377
|
+
length = args.length;
|
4278
4378
|
if (argPos) {
|
4279
4379
|
args = reorder(args, argPos);
|
4280
|
-
} else if (isFlip &&
|
4380
|
+
} else if (isFlip && length > 1) {
|
4281
4381
|
args.reverse();
|
4282
4382
|
}
|
4283
|
-
if (isAry && ary <
|
4383
|
+
if (isAry && ary < length) {
|
4284
4384
|
args.length = ary;
|
4285
4385
|
}
|
4286
4386
|
if (this && this !== root && this instanceof wrapper) {
|
@@ -4314,7 +4414,7 @@
|
|
4314
4414
|
*/
|
4315
4415
|
function createOver(arrayFunc) {
|
4316
4416
|
return rest(function(iteratees) {
|
4317
|
-
iteratees = arrayMap(baseFlatten(iteratees), getIteratee());
|
4417
|
+
iteratees = arrayMap(baseFlatten(iteratees, 1), getIteratee());
|
4318
4418
|
return rest(function(args) {
|
4319
4419
|
var thisArg = this;
|
4320
4420
|
return arrayFunc(iteratees, function(iteratee) {
|
@@ -4418,7 +4518,7 @@
|
|
4418
4518
|
* @param {Function} func The function to wrap.
|
4419
4519
|
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper` for more details.
|
4420
4520
|
* @param {Function} wrapFunc The function to create the `func` wrapper.
|
4421
|
-
* @param {*} placeholder The placeholder
|
4521
|
+
* @param {*} placeholder The placeholder value.
|
4422
4522
|
* @param {*} [thisArg] The `this` binding of `func`.
|
4423
4523
|
* @param {Array} [partials] The arguments to prepend to those provided to the new function.
|
4424
4524
|
* @param {Array} [holders] The `partials` placeholder indexes.
|
@@ -4430,7 +4530,7 @@
|
|
4430
4530
|
function createRecurryWrapper(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
|
4431
4531
|
var isCurry = bitmask & CURRY_FLAG,
|
4432
4532
|
newArgPos = argPos ? copyArray(argPos) : undefined,
|
4433
|
-
|
4533
|
+
newHolders = isCurry ? holders : undefined,
|
4434
4534
|
newHoldersRight = isCurry ? undefined : holders,
|
4435
4535
|
newPartials = isCurry ? partials : undefined,
|
4436
4536
|
newPartialsRight = isCurry ? undefined : partials;
|
@@ -4441,9 +4541,12 @@
|
|
4441
4541
|
if (!(bitmask & CURRY_BOUND_FLAG)) {
|
4442
4542
|
bitmask &= ~(BIND_FLAG | BIND_KEY_FLAG);
|
4443
4543
|
}
|
4444
|
-
var newData = [
|
4445
|
-
|
4544
|
+
var newData = [
|
4545
|
+
func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
|
4546
|
+
newHoldersRight, newArgPos, ary, arity
|
4547
|
+
];
|
4446
4548
|
|
4549
|
+
var result = wrapFunc.apply(undefined, newData);
|
4447
4550
|
if (isLaziable(func)) {
|
4448
4551
|
setData(result, newData);
|
4449
4552
|
}
|
@@ -4532,8 +4635,12 @@
|
|
4532
4635
|
|
4533
4636
|
partials = holders = undefined;
|
4534
4637
|
}
|
4535
|
-
var data = isBindKey ? undefined : getData(func)
|
4536
|
-
|
4638
|
+
var data = isBindKey ? undefined : getData(func);
|
4639
|
+
|
4640
|
+
var newData = [
|
4641
|
+
func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,
|
4642
|
+
argPos, ary, arity
|
4643
|
+
];
|
4537
4644
|
|
4538
4645
|
if (data) {
|
4539
4646
|
mergeData(newData, data);
|
@@ -4856,6 +4963,18 @@
|
|
4856
4963
|
return isNative(value) ? value : undefined;
|
4857
4964
|
}
|
4858
4965
|
|
4966
|
+
/**
|
4967
|
+
* Gets the argument placeholder value for `func`.
|
4968
|
+
*
|
4969
|
+
* @private
|
4970
|
+
* @param {Function} func The function to inspect.
|
4971
|
+
* @returns {*} Returns the placeholder value.
|
4972
|
+
*/
|
4973
|
+
function getPlaceholder(func) {
|
4974
|
+
var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;
|
4975
|
+
return object.placeholder;
|
4976
|
+
}
|
4977
|
+
|
4859
4978
|
/**
|
4860
4979
|
* Creates an array of the own symbol properties of `object`.
|
4861
4980
|
*
|
@@ -4941,7 +5060,7 @@
|
|
4941
5060
|
}
|
4942
5061
|
var result = hasFunc(object, path);
|
4943
5062
|
if (!result && !isKey(path)) {
|
4944
|
-
path =
|
5063
|
+
path = baseCastPath(path);
|
4945
5064
|
object = parent(object, path);
|
4946
5065
|
if (object != null) {
|
4947
5066
|
path = last(path);
|
@@ -4982,11 +5101,9 @@
|
|
4982
5101
|
* @returns {Object} Returns the initialized clone.
|
4983
5102
|
*/
|
4984
5103
|
function initCloneObject(object) {
|
4985
|
-
|
4986
|
-
|
4987
|
-
|
4988
|
-
var Ctor = object.constructor;
|
4989
|
-
return baseCreate(isFunction(Ctor) ? Ctor.prototype : undefined);
|
5104
|
+
return (isFunction(object.constructor) && !isPrototype(object))
|
5105
|
+
? baseCreate(getPrototypeOf(object))
|
5106
|
+
: {};
|
4990
5107
|
}
|
4991
5108
|
|
4992
5109
|
/**
|
@@ -5100,7 +5217,7 @@
|
|
5100
5217
|
function isKeyable(value) {
|
5101
5218
|
var type = typeof value;
|
5102
5219
|
return type == 'number' || type == 'boolean' ||
|
5103
|
-
(type == 'string' && value
|
5220
|
+
(type == 'string' && value != '__proto__') || value == null;
|
5104
5221
|
}
|
5105
5222
|
|
5106
5223
|
/**
|
@@ -5133,7 +5250,7 @@
|
|
5133
5250
|
*/
|
5134
5251
|
function isPrototype(value) {
|
5135
5252
|
var Ctor = value && value.constructor,
|
5136
|
-
proto = (
|
5253
|
+
proto = (isFunction(Ctor) && Ctor.prototype) || objectProto;
|
5137
5254
|
|
5138
5255
|
return value === proto;
|
5139
5256
|
}
|
@@ -5172,9 +5289,9 @@
|
|
5172
5289
|
isCommon = newBitmask < (BIND_FLAG | BIND_KEY_FLAG | ARY_FLAG);
|
5173
5290
|
|
5174
5291
|
var isCombo =
|
5175
|
-
(srcBitmask == ARY_FLAG && (bitmask == CURRY_FLAG)) ||
|
5176
|
-
(srcBitmask == ARY_FLAG && (bitmask == REARG_FLAG) && (data[7].length <= source[8])) ||
|
5177
|
-
(srcBitmask == (ARY_FLAG | REARG_FLAG) && (source[7].length <= source[8]) && (bitmask == CURRY_FLAG));
|
5292
|
+
((srcBitmask == ARY_FLAG) && (bitmask == CURRY_FLAG)) ||
|
5293
|
+
((srcBitmask == ARY_FLAG) && (bitmask == REARG_FLAG) && (data[7].length <= source[8])) ||
|
5294
|
+
((srcBitmask == (ARY_FLAG | REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == CURRY_FLAG));
|
5178
5295
|
|
5179
5296
|
// Exit early if metadata can't be merged.
|
5180
5297
|
if (!(isCommon || isCombo)) {
|
@@ -5184,7 +5301,7 @@
|
|
5184
5301
|
if (srcBitmask & BIND_FLAG) {
|
5185
5302
|
data[2] = source[2];
|
5186
5303
|
// Set when currying a bound function.
|
5187
|
-
newBitmask |=
|
5304
|
+
newBitmask |= bitmask & BIND_FLAG ? 0 : CURRY_BOUND_FLAG;
|
5188
5305
|
}
|
5189
5306
|
// Compose partial arguments.
|
5190
5307
|
var value = source[3];
|
@@ -5322,28 +5439,6 @@
|
|
5322
5439
|
return result;
|
5323
5440
|
}
|
5324
5441
|
|
5325
|
-
/**
|
5326
|
-
* Converts `value` to an array-like object if it's not one.
|
5327
|
-
*
|
5328
|
-
* @private
|
5329
|
-
* @param {*} value The value to process.
|
5330
|
-
* @returns {Array} Returns the array-like object.
|
5331
|
-
*/
|
5332
|
-
function toArrayLikeObject(value) {
|
5333
|
-
return isArrayLikeObject(value) ? value : [];
|
5334
|
-
}
|
5335
|
-
|
5336
|
-
/**
|
5337
|
-
* Converts `value` to a function if it's not one.
|
5338
|
-
*
|
5339
|
-
* @private
|
5340
|
-
* @param {*} value The value to process.
|
5341
|
-
* @returns {Function} Returns the function.
|
5342
|
-
*/
|
5343
|
-
function toFunction(value) {
|
5344
|
-
return typeof value == 'function' ? value : identity;
|
5345
|
-
}
|
5346
|
-
|
5347
5442
|
/**
|
5348
5443
|
* Creates a clone of `wrapper`.
|
5349
5444
|
*
|
@@ -5454,7 +5549,7 @@
|
|
5454
5549
|
if (!isArray(array)) {
|
5455
5550
|
array = array == null ? [] : [Object(array)];
|
5456
5551
|
}
|
5457
|
-
values = baseFlatten(values);
|
5552
|
+
values = baseFlatten(values, 1);
|
5458
5553
|
return arrayConcat(array, values);
|
5459
5554
|
});
|
5460
5555
|
|
@@ -5476,7 +5571,7 @@
|
|
5476
5571
|
*/
|
5477
5572
|
var difference = rest(function(array, values) {
|
5478
5573
|
return isArrayLikeObject(array)
|
5479
|
-
? baseDifference(array, baseFlatten(values,
|
5574
|
+
? baseDifference(array, baseFlatten(values, 1, true))
|
5480
5575
|
: [];
|
5481
5576
|
});
|
5482
5577
|
|
@@ -5507,7 +5602,7 @@
|
|
5507
5602
|
iteratee = undefined;
|
5508
5603
|
}
|
5509
5604
|
return isArrayLikeObject(array)
|
5510
|
-
? baseDifference(array, baseFlatten(values,
|
5605
|
+
? baseDifference(array, baseFlatten(values, 1, true), getIteratee(iteratee))
|
5511
5606
|
: [];
|
5512
5607
|
});
|
5513
5608
|
|
@@ -5536,7 +5631,7 @@
|
|
5536
5631
|
comparator = undefined;
|
5537
5632
|
}
|
5538
5633
|
return isArrayLikeObject(array)
|
5539
|
-
? baseDifference(array, baseFlatten(values,
|
5634
|
+
? baseDifference(array, baseFlatten(values, 1, true), undefined, comparator)
|
5540
5635
|
: [];
|
5541
5636
|
});
|
5542
5637
|
|
@@ -5806,7 +5901,7 @@
|
|
5806
5901
|
}
|
5807
5902
|
|
5808
5903
|
/**
|
5809
|
-
* Flattens `array` a single level.
|
5904
|
+
* Flattens `array` a single level deep.
|
5810
5905
|
*
|
5811
5906
|
* @static
|
5812
5907
|
* @memberOf _
|
@@ -5815,30 +5910,58 @@
|
|
5815
5910
|
* @returns {Array} Returns the new flattened array.
|
5816
5911
|
* @example
|
5817
5912
|
*
|
5818
|
-
* _.flatten([1, [2, 3, [4]]]);
|
5819
|
-
* // => [1, 2, 3, [4]]
|
5913
|
+
* _.flatten([1, [2, [3, [4]], 5]]);
|
5914
|
+
* // => [1, 2, [3, [4]], 5]
|
5820
5915
|
*/
|
5821
5916
|
function flatten(array) {
|
5822
5917
|
var length = array ? array.length : 0;
|
5823
|
-
return length ? baseFlatten(array) : [];
|
5918
|
+
return length ? baseFlatten(array, 1) : [];
|
5824
5919
|
}
|
5825
5920
|
|
5826
5921
|
/**
|
5827
|
-
*
|
5922
|
+
* Recursively flattens `array`.
|
5828
5923
|
*
|
5829
5924
|
* @static
|
5830
5925
|
* @memberOf _
|
5831
5926
|
* @category Array
|
5832
|
-
* @param {Array} array The array to
|
5927
|
+
* @param {Array} array The array to flatten.
|
5833
5928
|
* @returns {Array} Returns the new flattened array.
|
5834
5929
|
* @example
|
5835
5930
|
*
|
5836
|
-
* _.flattenDeep([1, [2, 3, [4]]]);
|
5837
|
-
* // => [1, 2, 3, 4]
|
5931
|
+
* _.flattenDeep([1, [2, [3, [4]], 5]]);
|
5932
|
+
* // => [1, 2, 3, 4, 5]
|
5838
5933
|
*/
|
5839
5934
|
function flattenDeep(array) {
|
5840
5935
|
var length = array ? array.length : 0;
|
5841
|
-
return length ? baseFlatten(array,
|
5936
|
+
return length ? baseFlatten(array, INFINITY) : [];
|
5937
|
+
}
|
5938
|
+
|
5939
|
+
/**
|
5940
|
+
* Recursively flatten `array` up to `depth` times.
|
5941
|
+
*
|
5942
|
+
* @static
|
5943
|
+
* @memberOf _
|
5944
|
+
* @category Array
|
5945
|
+
* @param {Array} array The array to flatten.
|
5946
|
+
* @param {number} [depth=1] The maximum recursion depth.
|
5947
|
+
* @returns {Array} Returns the new flattened array.
|
5948
|
+
* @example
|
5949
|
+
*
|
5950
|
+
* var array = [1, [2, [3, [4]], 5]];
|
5951
|
+
*
|
5952
|
+
* _.flattenDepth(array, 1);
|
5953
|
+
* // => [1, 2, [3, [4]], 5]
|
5954
|
+
*
|
5955
|
+
* _.flattenDepth(array, 2);
|
5956
|
+
* // => [1, 2, 3, [4], 5]
|
5957
|
+
*/
|
5958
|
+
function flattenDepth(array, depth) {
|
5959
|
+
var length = array ? array.length : 0;
|
5960
|
+
if (!length) {
|
5961
|
+
return [];
|
5962
|
+
}
|
5963
|
+
depth = depth === undefined ? 1 : toInteger(depth);
|
5964
|
+
return baseFlatten(array, depth);
|
5842
5965
|
}
|
5843
5966
|
|
5844
5967
|
/**
|
@@ -5955,7 +6078,7 @@
|
|
5955
6078
|
* // => [2]
|
5956
6079
|
*/
|
5957
6080
|
var intersection = rest(function(arrays) {
|
5958
|
-
var mapped = arrayMap(arrays,
|
6081
|
+
var mapped = arrayMap(arrays, baseCastArrayLikeObject);
|
5959
6082
|
return (mapped.length && mapped[0] === arrays[0])
|
5960
6083
|
? baseIntersection(mapped)
|
5961
6084
|
: [];
|
@@ -5983,7 +6106,7 @@
|
|
5983
6106
|
*/
|
5984
6107
|
var intersectionBy = rest(function(arrays) {
|
5985
6108
|
var iteratee = last(arrays),
|
5986
|
-
mapped = arrayMap(arrays,
|
6109
|
+
mapped = arrayMap(arrays, baseCastArrayLikeObject);
|
5987
6110
|
|
5988
6111
|
if (iteratee === last(mapped)) {
|
5989
6112
|
iteratee = undefined;
|
@@ -6016,7 +6139,7 @@
|
|
6016
6139
|
*/
|
6017
6140
|
var intersectionWith = rest(function(arrays) {
|
6018
6141
|
var comparator = last(arrays),
|
6019
|
-
mapped = arrayMap(arrays,
|
6142
|
+
mapped = arrayMap(arrays, baseCastArrayLikeObject);
|
6020
6143
|
|
6021
6144
|
if (comparator === last(mapped)) {
|
6022
6145
|
comparator = undefined;
|
@@ -6110,7 +6233,8 @@
|
|
6110
6233
|
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
6111
6234
|
* for equality comparisons.
|
6112
6235
|
*
|
6113
|
-
* **Note:** Unlike `_.without`, this method mutates `array`.
|
6236
|
+
* **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`
|
6237
|
+
* to remove elements from an array by predicate.
|
6114
6238
|
*
|
6115
6239
|
* @static
|
6116
6240
|
* @memberOf _
|
@@ -6206,7 +6330,7 @@
|
|
6206
6330
|
* // => [10, 20]
|
6207
6331
|
*/
|
6208
6332
|
var pullAt = rest(function(array, indexes) {
|
6209
|
-
indexes = arrayMap(baseFlatten(indexes), String);
|
6333
|
+
indexes = arrayMap(baseFlatten(indexes, 1), String);
|
6210
6334
|
|
6211
6335
|
var result = baseAt(array, indexes);
|
6212
6336
|
basePullAt(array, indexes.sort(compareAscending));
|
@@ -6215,10 +6339,11 @@
|
|
6215
6339
|
|
6216
6340
|
/**
|
6217
6341
|
* Removes all elements from `array` that `predicate` returns truthy for
|
6218
|
-
* and returns an array of the removed elements. The predicate is invoked
|
6219
|
-
* three arguments: (value, index, array).
|
6342
|
+
* and returns an array of the removed elements. The predicate is invoked
|
6343
|
+
* with three arguments: (value, index, array).
|
6220
6344
|
*
|
6221
|
-
* **Note:** Unlike `_.filter`, this method mutates `array`.
|
6345
|
+
* **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`
|
6346
|
+
* to pull elements from an array by value.
|
6222
6347
|
*
|
6223
6348
|
* @static
|
6224
6349
|
* @memberOf _
|
@@ -6678,7 +6803,7 @@
|
|
6678
6803
|
* // => [2, 1, 4]
|
6679
6804
|
*/
|
6680
6805
|
var union = rest(function(arrays) {
|
6681
|
-
return baseUniq(baseFlatten(arrays,
|
6806
|
+
return baseUniq(baseFlatten(arrays, 1, true));
|
6682
6807
|
});
|
6683
6808
|
|
6684
6809
|
/**
|
@@ -6706,7 +6831,7 @@
|
|
6706
6831
|
if (isArrayLikeObject(iteratee)) {
|
6707
6832
|
iteratee = undefined;
|
6708
6833
|
}
|
6709
|
-
return baseUniq(baseFlatten(arrays,
|
6834
|
+
return baseUniq(baseFlatten(arrays, 1, true), getIteratee(iteratee));
|
6710
6835
|
});
|
6711
6836
|
|
6712
6837
|
/**
|
@@ -6733,7 +6858,7 @@
|
|
6733
6858
|
if (isArrayLikeObject(comparator)) {
|
6734
6859
|
comparator = undefined;
|
6735
6860
|
}
|
6736
|
-
return baseUniq(baseFlatten(arrays,
|
6861
|
+
return baseUniq(baseFlatten(arrays, 1, true), undefined, comparator);
|
6737
6862
|
});
|
6738
6863
|
|
6739
6864
|
/**
|
@@ -7157,17 +7282,22 @@
|
|
7157
7282
|
* // => ['a', 'c']
|
7158
7283
|
*/
|
7159
7284
|
var wrapperAt = rest(function(paths) {
|
7160
|
-
paths = baseFlatten(paths);
|
7285
|
+
paths = baseFlatten(paths, 1);
|
7161
7286
|
var length = paths.length,
|
7162
7287
|
start = length ? paths[0] : 0,
|
7163
7288
|
value = this.__wrapped__,
|
7164
7289
|
interceptor = function(object) { return baseAt(object, paths); };
|
7165
7290
|
|
7166
|
-
if (length > 1 || this.__actions__.length ||
|
7291
|
+
if (length > 1 || this.__actions__.length ||
|
7292
|
+
!(value instanceof LazyWrapper) || !isIndex(start)) {
|
7167
7293
|
return this.thru(interceptor);
|
7168
7294
|
}
|
7169
7295
|
value = value.slice(start, +start + (length ? 1 : 0));
|
7170
|
-
value.__actions__.push({
|
7296
|
+
value.__actions__.push({
|
7297
|
+
'func': thru,
|
7298
|
+
'args': [interceptor],
|
7299
|
+
'thisArg': undefined
|
7300
|
+
});
|
7171
7301
|
return new LodashWrapper(value, this.__chain__).thru(function(array) {
|
7172
7302
|
if (length && !array.length) {
|
7173
7303
|
array.push(undefined);
|
@@ -7378,7 +7508,11 @@
|
|
7378
7508
|
wrapped = new LazyWrapper(this);
|
7379
7509
|
}
|
7380
7510
|
wrapped = wrapped.reverse();
|
7381
|
-
wrapped.__actions__.push({
|
7511
|
+
wrapped.__actions__.push({
|
7512
|
+
'func': thru,
|
7513
|
+
'args': [reverse],
|
7514
|
+
'thisArg': undefined
|
7515
|
+
});
|
7382
7516
|
return new LodashWrapper(wrapped, this.__chain__);
|
7383
7517
|
}
|
7384
7518
|
return this.thru(reverse);
|
@@ -7597,7 +7731,7 @@
|
|
7597
7731
|
* // => [1, 1, 2, 2]
|
7598
7732
|
*/
|
7599
7733
|
function flatMap(collection, iteratee) {
|
7600
|
-
return baseFlatten(map(collection, iteratee));
|
7734
|
+
return baseFlatten(map(collection, iteratee), 1);
|
7601
7735
|
}
|
7602
7736
|
|
7603
7737
|
/**
|
@@ -7631,7 +7765,7 @@
|
|
7631
7765
|
function forEach(collection, iteratee) {
|
7632
7766
|
return (typeof iteratee == 'function' && isArray(collection))
|
7633
7767
|
? arrayEach(collection, iteratee)
|
7634
|
-
: baseEach(collection,
|
7768
|
+
: baseEach(collection, baseCastFunction(iteratee));
|
7635
7769
|
}
|
7636
7770
|
|
7637
7771
|
/**
|
@@ -7655,7 +7789,7 @@
|
|
7655
7789
|
function forEachRight(collection, iteratee) {
|
7656
7790
|
return (typeof iteratee == 'function' && isArray(collection))
|
7657
7791
|
? arrayEachRight(collection, iteratee)
|
7658
|
-
: baseEachRight(collection,
|
7792
|
+
: baseEachRight(collection, baseCastFunction(iteratee));
|
7659
7793
|
}
|
7660
7794
|
|
7661
7795
|
/**
|
@@ -8219,7 +8353,7 @@
|
|
8219
8353
|
} else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {
|
8220
8354
|
iteratees.length = 1;
|
8221
8355
|
}
|
8222
|
-
return baseOrderBy(collection, baseFlatten(iteratees), []);
|
8356
|
+
return baseOrderBy(collection, baseFlatten(iteratees, 1), []);
|
8223
8357
|
});
|
8224
8358
|
|
8225
8359
|
/*------------------------------------------------------------------------*/
|
@@ -8230,7 +8364,7 @@
|
|
8230
8364
|
*
|
8231
8365
|
* @static
|
8232
8366
|
* @memberOf _
|
8233
|
-
* @type Function
|
8367
|
+
* @type {Function}
|
8234
8368
|
* @category Date
|
8235
8369
|
* @returns {number} Returns the timestamp.
|
8236
8370
|
* @example
|
@@ -8372,9 +8506,7 @@
|
|
8372
8506
|
var bind = rest(function(func, thisArg, partials) {
|
8373
8507
|
var bitmask = BIND_FLAG;
|
8374
8508
|
if (partials.length) {
|
8375
|
-
var
|
8376
|
-
holders = replaceHolders(partials, placeholder);
|
8377
|
-
|
8509
|
+
var holders = replaceHolders(partials, getPlaceholder(bind));
|
8378
8510
|
bitmask |= PARTIAL_FLAG;
|
8379
8511
|
}
|
8380
8512
|
return createWrapper(func, bitmask, thisArg, partials, holders);
|
@@ -8427,9 +8559,7 @@
|
|
8427
8559
|
var bindKey = rest(function(object, key, partials) {
|
8428
8560
|
var bitmask = BIND_FLAG | BIND_KEY_FLAG;
|
8429
8561
|
if (partials.length) {
|
8430
|
-
var
|
8431
|
-
holders = replaceHolders(partials, placeholder);
|
8432
|
-
|
8562
|
+
var holders = replaceHolders(partials, getPlaceholder(bindKey));
|
8433
8563
|
bitmask |= PARTIAL_FLAG;
|
8434
8564
|
}
|
8435
8565
|
return createWrapper(key, bitmask, object, partials, holders);
|
@@ -8478,7 +8608,7 @@
|
|
8478
8608
|
function curry(func, arity, guard) {
|
8479
8609
|
arity = guard ? undefined : arity;
|
8480
8610
|
var result = createWrapper(func, CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
|
8481
|
-
result.placeholder =
|
8611
|
+
result.placeholder = curry.placeholder;
|
8482
8612
|
return result;
|
8483
8613
|
}
|
8484
8614
|
|
@@ -8522,7 +8652,7 @@
|
|
8522
8652
|
function curryRight(func, arity, guard) {
|
8523
8653
|
arity = guard ? undefined : arity;
|
8524
8654
|
var result = createWrapper(func, CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
|
8525
|
-
result.placeholder =
|
8655
|
+
result.placeholder = curryRight.placeholder;
|
8526
8656
|
return result;
|
8527
8657
|
}
|
8528
8658
|
|
@@ -8656,8 +8786,10 @@
|
|
8656
8786
|
if (!lastCalled && !maxTimeoutId && !leading) {
|
8657
8787
|
lastCalled = stamp;
|
8658
8788
|
}
|
8659
|
-
var remaining = maxWait - (stamp - lastCalled)
|
8660
|
-
|
8789
|
+
var remaining = maxWait - (stamp - lastCalled);
|
8790
|
+
|
8791
|
+
var isCalled = (remaining <= 0 || remaining > maxWait) &&
|
8792
|
+
(leading || maxTimeoutId);
|
8661
8793
|
|
8662
8794
|
if (isCalled) {
|
8663
8795
|
if (maxTimeoutId) {
|
@@ -8897,7 +9029,7 @@
|
|
8897
9029
|
* // => [100, 10]
|
8898
9030
|
*/
|
8899
9031
|
var overArgs = rest(function(func, transforms) {
|
8900
|
-
transforms = arrayMap(baseFlatten(transforms), getIteratee());
|
9032
|
+
transforms = arrayMap(baseFlatten(transforms, 1), getIteratee());
|
8901
9033
|
|
8902
9034
|
var funcsLength = transforms.length;
|
8903
9035
|
return rest(function(args) {
|
@@ -8944,9 +9076,7 @@
|
|
8944
9076
|
* // => 'hi fred'
|
8945
9077
|
*/
|
8946
9078
|
var partial = rest(function(func, partials) {
|
8947
|
-
var
|
8948
|
-
holders = replaceHolders(partials, placeholder);
|
8949
|
-
|
9079
|
+
var holders = replaceHolders(partials, getPlaceholder(partial));
|
8950
9080
|
return createWrapper(func, PARTIAL_FLAG, undefined, partials, holders);
|
8951
9081
|
});
|
8952
9082
|
|
@@ -8982,9 +9112,7 @@
|
|
8982
9112
|
* // => 'hello fred'
|
8983
9113
|
*/
|
8984
9114
|
var partialRight = rest(function(func, partials) {
|
8985
|
-
var
|
8986
|
-
holders = replaceHolders(partials, placeholder);
|
8987
|
-
|
9115
|
+
var holders = replaceHolders(partials, getPlaceholder(partialRight));
|
8988
9116
|
return createWrapper(func, PARTIAL_RIGHT_FLAG, undefined, partials, holders);
|
8989
9117
|
});
|
8990
9118
|
|
@@ -9011,7 +9139,7 @@
|
|
9011
9139
|
* // => ['a', 'b', 'c']
|
9012
9140
|
*/
|
9013
9141
|
var rearg = rest(function(func, indexes) {
|
9014
|
-
return createWrapper(func, REARG_FLAG, undefined, undefined, undefined, baseFlatten(indexes));
|
9142
|
+
return createWrapper(func, REARG_FLAG, undefined, undefined, undefined, baseFlatten(indexes, 1));
|
9015
9143
|
});
|
9016
9144
|
|
9017
9145
|
/**
|
@@ -9163,7 +9291,11 @@
|
|
9163
9291
|
leading = 'leading' in options ? !!options.leading : leading;
|
9164
9292
|
trailing = 'trailing' in options ? !!options.trailing : trailing;
|
9165
9293
|
}
|
9166
|
-
return debounce(func, wait, {
|
9294
|
+
return debounce(func, wait, {
|
9295
|
+
'leading': leading,
|
9296
|
+
'maxWait': wait,
|
9297
|
+
'trailing': trailing
|
9298
|
+
});
|
9167
9299
|
}
|
9168
9300
|
|
9169
9301
|
/**
|
@@ -9194,7 +9326,7 @@
|
|
9194
9326
|
* @memberOf _
|
9195
9327
|
* @category Function
|
9196
9328
|
* @param {*} value The value to wrap.
|
9197
|
-
* @param {Function} wrapper The wrapper function.
|
9329
|
+
* @param {Function} [wrapper=identity] The wrapper function.
|
9198
9330
|
* @returns {Function} Returns the new function.
|
9199
9331
|
* @example
|
9200
9332
|
*
|
@@ -9212,6 +9344,46 @@
|
|
9212
9344
|
|
9213
9345
|
/*------------------------------------------------------------------------*/
|
9214
9346
|
|
9347
|
+
/**
|
9348
|
+
* Casts `value` as an array if it's not one.
|
9349
|
+
*
|
9350
|
+
* @static
|
9351
|
+
* @memberOf _
|
9352
|
+
* @category Lang
|
9353
|
+
* @param {*} value The value to inspect.
|
9354
|
+
* @returns {Array} Returns the cast array.
|
9355
|
+
* @example
|
9356
|
+
*
|
9357
|
+
* _.castArray(1);
|
9358
|
+
* // => [1]
|
9359
|
+
*
|
9360
|
+
* _.castArray({ 'a': 1 });
|
9361
|
+
* // => [{ 'a': 1 }]
|
9362
|
+
*
|
9363
|
+
* _.castArray('abc');
|
9364
|
+
* // => ['abc']
|
9365
|
+
*
|
9366
|
+
* _.castArray(null);
|
9367
|
+
* // => [null]
|
9368
|
+
*
|
9369
|
+
* _.castArray(undefined);
|
9370
|
+
* // => [undefined]
|
9371
|
+
*
|
9372
|
+
* _.castArray();
|
9373
|
+
* // => []
|
9374
|
+
*
|
9375
|
+
* var array = [1, 2, 3];
|
9376
|
+
* console.log(_.castArray(array) === array);
|
9377
|
+
* // => true
|
9378
|
+
*/
|
9379
|
+
function castArray() {
|
9380
|
+
if (!arguments.length) {
|
9381
|
+
return [];
|
9382
|
+
}
|
9383
|
+
var value = arguments[0];
|
9384
|
+
return isArray(value) ? value : [value];
|
9385
|
+
}
|
9386
|
+
|
9215
9387
|
/**
|
9216
9388
|
* Creates a shallow clone of `value`.
|
9217
9389
|
*
|
@@ -9432,7 +9604,7 @@
|
|
9432
9604
|
*
|
9433
9605
|
* @static
|
9434
9606
|
* @memberOf _
|
9435
|
-
* @type Function
|
9607
|
+
* @type {Function}
|
9436
9608
|
* @category Lang
|
9437
9609
|
* @param {*} value The value to check.
|
9438
9610
|
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
|
@@ -9457,7 +9629,6 @@
|
|
9457
9629
|
*
|
9458
9630
|
* @static
|
9459
9631
|
* @memberOf _
|
9460
|
-
* @type Function
|
9461
9632
|
* @category Lang
|
9462
9633
|
* @param {*} value The value to check.
|
9463
9634
|
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
|
@@ -9480,7 +9651,6 @@
|
|
9480
9651
|
*
|
9481
9652
|
* @static
|
9482
9653
|
* @memberOf _
|
9483
|
-
* @type Function
|
9484
9654
|
* @category Lang
|
9485
9655
|
* @param {*} value The value to check.
|
9486
9656
|
* @returns {boolean} Returns `true` if `value` is array-like, else `false`.
|
@@ -9509,7 +9679,6 @@
|
|
9509
9679
|
*
|
9510
9680
|
* @static
|
9511
9681
|
* @memberOf _
|
9512
|
-
* @type Function
|
9513
9682
|
* @category Lang
|
9514
9683
|
* @param {*} value The value to check.
|
9515
9684
|
* @returns {boolean} Returns `true` if `value` is an array-like object, else `false`.
|
@@ -9641,7 +9810,8 @@
|
|
9641
9810
|
*/
|
9642
9811
|
function isEmpty(value) {
|
9643
9812
|
if (isArrayLike(value) &&
|
9644
|
-
(isArray(value) || isString(value) ||
|
9813
|
+
(isArray(value) || isString(value) ||
|
9814
|
+
isFunction(value.splice) || isArguments(value))) {
|
9645
9815
|
return !value.length;
|
9646
9816
|
}
|
9647
9817
|
for (var key in value) {
|
@@ -9684,10 +9854,10 @@
|
|
9684
9854
|
}
|
9685
9855
|
|
9686
9856
|
/**
|
9687
|
-
* This method is like `_.isEqual` except that it accepts `customizer` which
|
9688
|
-
* invoked to compare values. If `customizer` returns `undefined` comparisons
|
9689
|
-
* handled by the method instead. The `customizer` is invoked with up to
|
9690
|
-
* (objValue, othValue [, index|key, object, other, stack]).
|
9857
|
+
* This method is like `_.isEqual` except that it accepts `customizer` which
|
9858
|
+
* is invoked to compare values. If `customizer` returns `undefined` comparisons
|
9859
|
+
* are handled by the method instead. The `customizer` is invoked with up to
|
9860
|
+
* six arguments: (objValue, othValue [, index|key, object, other, stack]).
|
9691
9861
|
*
|
9692
9862
|
* @static
|
9693
9863
|
* @memberOf _
|
@@ -9738,8 +9908,11 @@
|
|
9738
9908
|
* // => false
|
9739
9909
|
*/
|
9740
9910
|
function isError(value) {
|
9741
|
-
|
9742
|
-
|
9911
|
+
if (!isObjectLike(value)) {
|
9912
|
+
return false;
|
9913
|
+
}
|
9914
|
+
return (objectToString.call(value) == errorTag) ||
|
9915
|
+
(typeof value.message == 'string' && typeof value.name == 'string');
|
9743
9916
|
}
|
9744
9917
|
|
9745
9918
|
/**
|
@@ -9847,7 +10020,8 @@
|
|
9847
10020
|
* // => false
|
9848
10021
|
*/
|
9849
10022
|
function isLength(value) {
|
9850
|
-
return typeof value == 'number' &&
|
10023
|
+
return typeof value == 'number' &&
|
10024
|
+
value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
|
9851
10025
|
}
|
9852
10026
|
|
9853
10027
|
/**
|
@@ -9926,8 +10100,9 @@
|
|
9926
10100
|
}
|
9927
10101
|
|
9928
10102
|
/**
|
9929
|
-
* Performs a deep comparison between `object` and `source` to
|
9930
|
-
* `object` contains equivalent property values.
|
10103
|
+
* Performs a partial deep comparison between `object` and `source` to
|
10104
|
+
* determine if `object` contains equivalent property values. This method is
|
10105
|
+
* equivalent to a `_.matches` function when `source` is partially applied.
|
9931
10106
|
*
|
9932
10107
|
* **Note:** This method supports comparing the same values as `_.isEqual`.
|
9933
10108
|
*
|
@@ -10146,13 +10321,11 @@
|
|
10146
10321
|
* // => true
|
10147
10322
|
*/
|
10148
10323
|
function isPlainObject(value) {
|
10149
|
-
if (!isObjectLike(value) ||
|
10324
|
+
if (!isObjectLike(value) ||
|
10325
|
+
objectToString.call(value) != objectTag || isHostObject(value)) {
|
10150
10326
|
return false;
|
10151
10327
|
}
|
10152
|
-
var proto =
|
10153
|
-
if (typeof value.constructor == 'function') {
|
10154
|
-
proto = getPrototypeOf(value);
|
10155
|
-
}
|
10328
|
+
var proto = getPrototypeOf(value);
|
10156
10329
|
if (proto === null) {
|
10157
10330
|
return true;
|
10158
10331
|
}
|
@@ -10289,7 +10462,8 @@
|
|
10289
10462
|
* // => false
|
10290
10463
|
*/
|
10291
10464
|
function isTypedArray(value) {
|
10292
|
-
return isObjectLike(value) &&
|
10465
|
+
return isObjectLike(value) &&
|
10466
|
+
isLength(value.length) && !!typedArrayTags[objectToString.call(value)];
|
10293
10467
|
}
|
10294
10468
|
|
10295
10469
|
/**
|
@@ -10781,7 +10955,7 @@
|
|
10781
10955
|
* // => ['a', 'c']
|
10782
10956
|
*/
|
10783
10957
|
var at = rest(function(object, paths) {
|
10784
|
-
return baseAt(object, baseFlatten(paths));
|
10958
|
+
return baseAt(object, baseFlatten(paths, 1));
|
10785
10959
|
});
|
10786
10960
|
|
10787
10961
|
/**
|
@@ -10969,7 +11143,9 @@
|
|
10969
11143
|
* // => logs 'a', 'b', then 'c' (iteration order is not guaranteed)
|
10970
11144
|
*/
|
10971
11145
|
function forIn(object, iteratee) {
|
10972
|
-
return object == null
|
11146
|
+
return object == null
|
11147
|
+
? object
|
11148
|
+
: baseFor(object, baseCastFunction(iteratee), keysIn);
|
10973
11149
|
}
|
10974
11150
|
|
10975
11151
|
/**
|
@@ -10997,7 +11173,9 @@
|
|
10997
11173
|
* // => logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'
|
10998
11174
|
*/
|
10999
11175
|
function forInRight(object, iteratee) {
|
11000
|
-
return object == null
|
11176
|
+
return object == null
|
11177
|
+
? object
|
11178
|
+
: baseForRight(object, baseCastFunction(iteratee), keysIn);
|
11001
11179
|
}
|
11002
11180
|
|
11003
11181
|
/**
|
@@ -11027,7 +11205,7 @@
|
|
11027
11205
|
* // => logs 'a' then 'b' (iteration order is not guaranteed)
|
11028
11206
|
*/
|
11029
11207
|
function forOwn(object, iteratee) {
|
11030
|
-
return object && baseForOwn(object,
|
11208
|
+
return object && baseForOwn(object, baseCastFunction(iteratee));
|
11031
11209
|
}
|
11032
11210
|
|
11033
11211
|
/**
|
@@ -11055,7 +11233,7 @@
|
|
11055
11233
|
* // => logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'
|
11056
11234
|
*/
|
11057
11235
|
function forOwnRight(object, iteratee) {
|
11058
|
-
return object && baseForOwnRight(object,
|
11236
|
+
return object && baseForOwnRight(object, baseCastFunction(iteratee));
|
11059
11237
|
}
|
11060
11238
|
|
11061
11239
|
/**
|
@@ -11361,7 +11539,8 @@
|
|
11361
11539
|
/**
|
11362
11540
|
* The opposite of `_.mapValues`; this method creates an object with the
|
11363
11541
|
* same values as `object` and keys generated by running each own enumerable
|
11364
|
-
* property of `object` through `iteratee`.
|
11542
|
+
* property of `object` through `iteratee`. The iteratee is invoked with
|
11543
|
+
* three arguments: (value, key, object).
|
11365
11544
|
*
|
11366
11545
|
* @static
|
11367
11546
|
* @memberOf _
|
@@ -11389,7 +11568,7 @@
|
|
11389
11568
|
/**
|
11390
11569
|
* Creates an object with the same keys as `object` and values generated by
|
11391
11570
|
* running each own enumerable property of `object` through `iteratee`. The
|
11392
|
-
* iteratee
|
11571
|
+
* iteratee is invoked with three arguments: (value, key, object).
|
11393
11572
|
*
|
11394
11573
|
* @static
|
11395
11574
|
* @memberOf _
|
@@ -11422,12 +11601,12 @@
|
|
11422
11601
|
}
|
11423
11602
|
|
11424
11603
|
/**
|
11425
|
-
* Recursively merges own and inherited enumerable properties of source
|
11426
|
-
*
|
11427
|
-
*
|
11428
|
-
* Other objects and value types are overridden by
|
11429
|
-
* are applied from left to right. Subsequent
|
11430
|
-
* assignments of previous sources.
|
11604
|
+
* Recursively merges own and inherited enumerable properties of source objects
|
11605
|
+
* into the destination object. Source properties that resolve to `undefined`
|
11606
|
+
* are skipped if a destination value exists. Array and plain object properties
|
11607
|
+
* are merged recursively. Other objects and value types are overridden by
|
11608
|
+
* assignment. Source objects are applied from left to right. Subsequent
|
11609
|
+
* sources overwrite property assignments of previous sources.
|
11431
11610
|
*
|
11432
11611
|
* **Note:** This method mutates `object`.
|
11433
11612
|
*
|
@@ -11504,7 +11683,7 @@
|
|
11504
11683
|
* @category Object
|
11505
11684
|
* @param {Object} object The source object.
|
11506
11685
|
* @param {...(string|string[])} [props] The property names to omit, specified
|
11507
|
-
* individually or in arrays
|
11686
|
+
* individually or in arrays.
|
11508
11687
|
* @returns {Object} Returns the new object.
|
11509
11688
|
* @example
|
11510
11689
|
*
|
@@ -11517,14 +11696,15 @@
|
|
11517
11696
|
if (object == null) {
|
11518
11697
|
return {};
|
11519
11698
|
}
|
11520
|
-
props = arrayMap(baseFlatten(props), String);
|
11699
|
+
props = arrayMap(baseFlatten(props, 1), String);
|
11521
11700
|
return basePick(object, baseDifference(keysIn(object), props));
|
11522
11701
|
});
|
11523
11702
|
|
11524
11703
|
/**
|
11525
|
-
* The opposite of `_.pickBy`; this method creates an object composed of
|
11526
|
-
* own and inherited enumerable properties of `object` that `predicate`
|
11527
|
-
* doesn't return truthy for.
|
11704
|
+
* The opposite of `_.pickBy`; this method creates an object composed of
|
11705
|
+
* the own and inherited enumerable properties of `object` that `predicate`
|
11706
|
+
* doesn't return truthy for. The predicate is invoked with two arguments:
|
11707
|
+
* (value, key).
|
11528
11708
|
*
|
11529
11709
|
* @static
|
11530
11710
|
* @memberOf _
|
@@ -11540,7 +11720,7 @@
|
|
11540
11720
|
* // => { 'b': '2' }
|
11541
11721
|
*/
|
11542
11722
|
function omitBy(object, predicate) {
|
11543
|
-
predicate = getIteratee(predicate
|
11723
|
+
predicate = getIteratee(predicate);
|
11544
11724
|
return basePickBy(object, function(value, key) {
|
11545
11725
|
return !predicate(value, key);
|
11546
11726
|
});
|
@@ -11564,7 +11744,7 @@
|
|
11564
11744
|
* // => { 'a': 1, 'c': 3 }
|
11565
11745
|
*/
|
11566
11746
|
var pick = rest(function(object, props) {
|
11567
|
-
return object == null ? {} : basePick(object, baseFlatten(props));
|
11747
|
+
return object == null ? {} : basePick(object, baseFlatten(props, 1));
|
11568
11748
|
});
|
11569
11749
|
|
11570
11750
|
/**
|
@@ -11585,7 +11765,7 @@
|
|
11585
11765
|
* // => { 'a': 1, 'c': 3 }
|
11586
11766
|
*/
|
11587
11767
|
function pickBy(object, predicate) {
|
11588
|
-
return object == null ? {} : basePickBy(object, getIteratee(predicate
|
11768
|
+
return object == null ? {} : basePickBy(object, getIteratee(predicate));
|
11589
11769
|
}
|
11590
11770
|
|
11591
11771
|
/**
|
@@ -11618,7 +11798,7 @@
|
|
11618
11798
|
*/
|
11619
11799
|
function result(object, path, defaultValue) {
|
11620
11800
|
if (!isKey(path, object)) {
|
11621
|
-
path =
|
11801
|
+
path = baseCastPath(path);
|
11622
11802
|
var result = get(object, path);
|
11623
11803
|
object = parent(object, path);
|
11624
11804
|
} else {
|
@@ -11688,7 +11868,8 @@
|
|
11688
11868
|
}
|
11689
11869
|
|
11690
11870
|
/**
|
11691
|
-
* Creates an array of own enumerable key-value pairs for `object
|
11871
|
+
* Creates an array of own enumerable key-value pairs for `object` which
|
11872
|
+
* can be consumed by `_.fromPairs`.
|
11692
11873
|
*
|
11693
11874
|
* @static
|
11694
11875
|
* @memberOf _
|
@@ -11712,7 +11893,8 @@
|
|
11712
11893
|
}
|
11713
11894
|
|
11714
11895
|
/**
|
11715
|
-
* Creates an array of own and inherited enumerable key-value pairs for
|
11896
|
+
* Creates an array of own and inherited enumerable key-value pairs for
|
11897
|
+
* `object` which can be consumed by `_.fromPairs`.
|
11716
11898
|
*
|
11717
11899
|
* @static
|
11718
11900
|
* @memberOf _
|
@@ -11773,7 +11955,7 @@
|
|
11773
11955
|
if (isArr) {
|
11774
11956
|
accumulator = isArray(object) ? new Ctor : [];
|
11775
11957
|
} else {
|
11776
|
-
accumulator =
|
11958
|
+
accumulator = isFunction(Ctor) ? baseCreate(getPrototypeOf(object)) : {};
|
11777
11959
|
}
|
11778
11960
|
} else {
|
11779
11961
|
accumulator = {};
|
@@ -11867,7 +12049,7 @@
|
|
11867
12049
|
* // => [1, 2, 3] (iteration order is not guaranteed)
|
11868
12050
|
*/
|
11869
12051
|
function valuesIn(object) {
|
11870
|
-
return object == null ? baseValues(object, keysIn(object))
|
12052
|
+
return object == null ? [] : baseValues(object, keysIn(object));
|
11871
12053
|
}
|
11872
12054
|
|
11873
12055
|
/*------------------------------------------------------------------------*/
|
@@ -12365,7 +12547,7 @@
|
|
12365
12547
|
* @memberOf _
|
12366
12548
|
* @category String
|
12367
12549
|
* @param {string} string The string to convert.
|
12368
|
-
* @param {number} [radix] The radix to interpret `value` by.
|
12550
|
+
* @param {number} [radix=10] The radix to interpret `value` by.
|
12369
12551
|
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
|
12370
12552
|
* @returns {number} Returns the converted integer.
|
12371
12553
|
* @example
|
@@ -12737,7 +12919,8 @@
|
|
12737
12919
|
'return __p\n}';
|
12738
12920
|
|
12739
12921
|
var result = attempt(function() {
|
12740
|
-
return Function(importsKeys, sourceURL + 'return ' + source)
|
12922
|
+
return Function(importsKeys, sourceURL + 'return ' + source)
|
12923
|
+
.apply(undefined, importsValues);
|
12741
12924
|
});
|
12742
12925
|
|
12743
12926
|
// Provide the compiled function's source by its `toString` method or
|
@@ -12831,7 +13014,9 @@
|
|
12831
13014
|
var strSymbols = stringToArray(string),
|
12832
13015
|
chrSymbols = stringToArray(chars);
|
12833
13016
|
|
12834
|
-
return strSymbols
|
13017
|
+
return strSymbols
|
13018
|
+
.slice(charsStartIndex(strSymbols, chrSymbols), charsEndIndex(strSymbols, chrSymbols) + 1)
|
13019
|
+
.join('');
|
12835
13020
|
}
|
12836
13021
|
|
12837
13022
|
/**
|
@@ -12865,7 +13050,9 @@
|
|
12865
13050
|
return string;
|
12866
13051
|
}
|
12867
13052
|
var strSymbols = stringToArray(string);
|
12868
|
-
return strSymbols
|
13053
|
+
return strSymbols
|
13054
|
+
.slice(0, charsEndIndex(strSymbols, stringToArray(chars)) + 1)
|
13055
|
+
.join('');
|
12869
13056
|
}
|
12870
13057
|
|
12871
13058
|
/**
|
@@ -12899,7 +13086,9 @@
|
|
12899
13086
|
return string;
|
12900
13087
|
}
|
12901
13088
|
var strSymbols = stringToArray(string);
|
12902
|
-
return strSymbols
|
13089
|
+
return strSymbols
|
13090
|
+
.slice(charsStartIndex(strSymbols, stringToArray(chars)))
|
13091
|
+
.join('');
|
12903
13092
|
}
|
12904
13093
|
|
12905
13094
|
/**
|
@@ -12911,7 +13100,7 @@
|
|
12911
13100
|
* @memberOf _
|
12912
13101
|
* @category String
|
12913
13102
|
* @param {string} [string=''] The string to truncate.
|
12914
|
-
* @param {Object} [options] The options object.
|
13103
|
+
* @param {Object} [options=({})] The options object.
|
12915
13104
|
* @param {number} [options.length=30] The maximum string length.
|
12916
13105
|
* @param {string} [options.omission='...'] The string to indicate text is omitted.
|
12917
13106
|
* @param {RegExp|string} [options.separator] The separator pattern to truncate to.
|
@@ -13096,7 +13285,7 @@
|
|
13096
13285
|
try {
|
13097
13286
|
return apply(func, undefined, args);
|
13098
13287
|
} catch (e) {
|
13099
|
-
return
|
13288
|
+
return isError(e) ? e : new Error(e);
|
13100
13289
|
}
|
13101
13290
|
});
|
13102
13291
|
|
@@ -13127,7 +13316,7 @@
|
|
13127
13316
|
* // => logs 'clicked docs' when clicked
|
13128
13317
|
*/
|
13129
13318
|
var bindAll = rest(function(object, methodNames) {
|
13130
|
-
arrayEach(baseFlatten(methodNames), function(key) {
|
13319
|
+
arrayEach(baseFlatten(methodNames, 1), function(key) {
|
13131
13320
|
object[key] = bind(object[key], object);
|
13132
13321
|
});
|
13133
13322
|
return object;
|
@@ -13295,7 +13484,8 @@
|
|
13295
13484
|
* Creates a function that invokes `func` with the arguments of the created
|
13296
13485
|
* function. If `func` is a property name the created callback returns the
|
13297
13486
|
* property value for a given element. If `func` is an object the created
|
13298
|
-
* callback returns `true` for elements that contain the equivalent object
|
13487
|
+
* callback returns `true` for elements that contain the equivalent object
|
13488
|
+
* properties, otherwise it returns `false`.
|
13299
13489
|
*
|
13300
13490
|
* @static
|
13301
13491
|
* @memberOf _
|
@@ -13325,9 +13515,10 @@
|
|
13325
13515
|
}
|
13326
13516
|
|
13327
13517
|
/**
|
13328
|
-
* Creates a function that performs a deep
|
13518
|
+
* Creates a function that performs a partial deep comparison between a given
|
13329
13519
|
* object and `source`, returning `true` if the given object has equivalent
|
13330
|
-
* property values, else `false`.
|
13520
|
+
* property values, else `false`. The created function is equivalent to
|
13521
|
+
* `_.isMatch` with a `source` partially applied.
|
13331
13522
|
*
|
13332
13523
|
* **Note:** This method supports comparing the same values as `_.isEqual`.
|
13333
13524
|
*
|
@@ -13351,7 +13542,7 @@
|
|
13351
13542
|
}
|
13352
13543
|
|
13353
13544
|
/**
|
13354
|
-
* Creates a function that performs a deep
|
13545
|
+
* Creates a function that performs a partial deep comparison between the
|
13355
13546
|
* value at `path` of a given object to `srcValue`, returning `true` if the
|
13356
13547
|
* object value is equivalent, else `false`.
|
13357
13548
|
*
|
@@ -13760,8 +13951,8 @@
|
|
13760
13951
|
var rangeRight = createRange(true);
|
13761
13952
|
|
13762
13953
|
/**
|
13763
|
-
* Invokes the iteratee
|
13764
|
-
*
|
13954
|
+
* Invokes the iteratee `n` times, returning an array of the results of
|
13955
|
+
* each invocation. The iteratee is invoked with one argument; (index).
|
13765
13956
|
*
|
13766
13957
|
* @static
|
13767
13958
|
* @memberOf _
|
@@ -13785,7 +13976,7 @@
|
|
13785
13976
|
var index = MAX_ARRAY_LENGTH,
|
13786
13977
|
length = nativeMin(n, MAX_ARRAY_LENGTH);
|
13787
13978
|
|
13788
|
-
iteratee =
|
13979
|
+
iteratee = baseCastFunction(iteratee);
|
13789
13980
|
n -= MAX_ARRAY_LENGTH;
|
13790
13981
|
|
13791
13982
|
var result = baseTimes(length, iteratee);
|
@@ -13830,7 +14021,7 @@
|
|
13830
14021
|
* @static
|
13831
14022
|
* @memberOf _
|
13832
14023
|
* @category Util
|
13833
|
-
* @param {string} [prefix] The value to prefix the ID with.
|
14024
|
+
* @param {string} [prefix=''] The value to prefix the ID with.
|
13834
14025
|
* @returns {string} Returns the unique ID.
|
13835
14026
|
* @example
|
13836
14027
|
*
|
@@ -14181,6 +14372,7 @@
|
|
14181
14372
|
lodash.bind = bind;
|
14182
14373
|
lodash.bindAll = bindAll;
|
14183
14374
|
lodash.bindKey = bindKey;
|
14375
|
+
lodash.castArray = castArray;
|
14184
14376
|
lodash.chain = chain;
|
14185
14377
|
lodash.chunk = chunk;
|
14186
14378
|
lodash.compact = compact;
|
@@ -14209,6 +14401,7 @@
|
|
14209
14401
|
lodash.flatMap = flatMap;
|
14210
14402
|
lodash.flatten = flatten;
|
14211
14403
|
lodash.flattenDeep = flattenDeep;
|
14404
|
+
lodash.flattenDepth = flattenDepth;
|
14212
14405
|
lodash.flip = flip;
|
14213
14406
|
lodash.flow = flow;
|
14214
14407
|
lodash.flowRight = flowRight;
|
@@ -14483,7 +14676,7 @@
|
|
14483
14676
|
*
|
14484
14677
|
* @static
|
14485
14678
|
* @memberOf _
|
14486
|
-
* @type string
|
14679
|
+
* @type {string}
|
14487
14680
|
*/
|
14488
14681
|
lodash.VERSION = VERSION;
|
14489
14682
|
|
@@ -14505,7 +14698,10 @@
|
|
14505
14698
|
if (filtered) {
|
14506
14699
|
result.__takeCount__ = nativeMin(n, result.__takeCount__);
|
14507
14700
|
} else {
|
14508
|
-
result.__views__.push({
|
14701
|
+
result.__views__.push({
|
14702
|
+
'size': nativeMin(n, MAX_ARRAY_LENGTH),
|
14703
|
+
'type': methodName + (result.__dir__ < 0 ? 'Right' : '')
|
14704
|
+
});
|
14509
14705
|
}
|
14510
14706
|
return result;
|
14511
14707
|
};
|
@@ -14522,7 +14718,10 @@
|
|
14522
14718
|
|
14523
14719
|
LazyWrapper.prototype[methodName] = function(iteratee) {
|
14524
14720
|
var result = this.clone();
|
14525
|
-
result.__iteratees__.push({
|
14721
|
+
result.__iteratees__.push({
|
14722
|
+
'iteratee': getIteratee(iteratee, 3),
|
14723
|
+
'type': type
|
14724
|
+
});
|
14526
14725
|
result.__filtered__ = result.__filtered__ || isFilter;
|
14527
14726
|
return result;
|
14528
14727
|
};
|
@@ -14674,7 +14873,10 @@
|
|
14674
14873
|
}
|
14675
14874
|
});
|
14676
14875
|
|
14677
|
-
realNames[createHybridWrapper(undefined, BIND_KEY_FLAG).name] = [{
|
14876
|
+
realNames[createHybridWrapper(undefined, BIND_KEY_FLAG).name] = [{
|
14877
|
+
'name': 'wrapper',
|
14878
|
+
'func': undefined
|
14879
|
+
}];
|
14678
14880
|
|
14679
14881
|
// Add functions to the lazy wrapper.
|
14680
14882
|
LazyWrapper.prototype.clone = lazyClone;
|