lodash-rails 4.3.0 → 4.5.1
Sign up to get free protection for your applications and to get access to all the features.
- 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;
|