mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-02 16:17:50 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3514f50902 | ||
|
|
e2a6db008f |
33
LICENSE
33
LICENSE
@@ -1,22 +1,23 @@
|
|||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
|
Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas,
|
Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas,
|
||||||
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
|
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
a copy of this software and associated documentation files (the
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
"Software"), to deal in the Software without restriction, including
|
in the Software without restriction, including without limitation the rights
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
furnished to do so, subject to the following conditions:
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
The above copyright notice and this permission notice shall be included in all
|
||||||
included in all copies or substantial portions of the Software.
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
SOFTWARE.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# lodash-amd v4.2.0
|
# lodash-amd v4.3.0
|
||||||
|
|
||||||
The [lodash](https://lodash.com/) library exported as [AMD](https://github.com/amdjs/amdjs-api/wiki/AMD) modules.
|
The [lodash](https://lodash.com/) library exported as [AMD](https://github.com/amdjs/amdjs-api/wiki/AMD) modules.
|
||||||
|
|
||||||
@@ -27,4 +27,4 @@ require({
|
|||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
See the [package source](https://github.com/lodash/lodash/tree/4.2.0-amd) for more details.
|
See the [package source](https://github.com/lodash/lodash/tree/4.3.0-amd) for more details.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
define(['./_Stack', './_arrayEach', './_assignValue', './_baseAssign', './_baseForOwn', './_copyArray', './_copySymbols', './_getTag', './_initCloneArray', './_initCloneByTag', './_initCloneObject', './isArray', './_isHostObject', './isObject'], function(Stack, arrayEach, assignValue, baseAssign, baseForOwn, copyArray, copySymbols, getTag, initCloneArray, initCloneByTag, initCloneObject, isArray, isHostObject, isObject) {
|
define(['./_Stack', './_arrayEach', './_assignValue', './_baseAssign', './_baseForOwn', './_cloneBuffer', './_copyArray', './_copySymbols', './_getTag', './_initCloneArray', './_initCloneByTag', './_initCloneObject', './isArray', './isBuffer', './_isHostObject', './isObject'], function(Stack, arrayEach, assignValue, baseAssign, baseForOwn, cloneBuffer, copyArray, copySymbols, getTag, initCloneArray, initCloneByTag, initCloneObject, isArray, isBuffer, isHostObject, isObject) {
|
||||||
|
|
||||||
/** Used as a safe reference for `undefined` in pre-ES5 environments. */
|
/** Used as a safe reference for `undefined` in pre-ES5 environments. */
|
||||||
var undefined;
|
var undefined;
|
||||||
@@ -81,6 +81,9 @@ define(['./_Stack', './_arrayEach', './_assignValue', './_baseAssign', './_baseF
|
|||||||
var tag = getTag(value),
|
var tag = getTag(value),
|
||||||
isFunc = tag == funcTag || tag == genTag;
|
isFunc = tag == funcTag || tag == genTag;
|
||||||
|
|
||||||
|
if (isBuffer(value)) {
|
||||||
|
return cloneBuffer(value, isDeep);
|
||||||
|
}
|
||||||
if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
|
if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
|
||||||
if (isHostObject(value)) {
|
if (isHostObject(value)) {
|
||||||
return object ? value : {};
|
return object ? value : {};
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ define([], function() {
|
|||||||
* @private
|
* @private
|
||||||
* @param {Function} func The function to delay.
|
* @param {Function} func The function to delay.
|
||||||
* @param {number} wait The number of milliseconds to delay invocation.
|
* @param {number} wait The number of milliseconds to delay invocation.
|
||||||
* @param {Object} args The arguments provide to `func`.
|
* @param {Object} args The arguments to provide to `func`.
|
||||||
* @returns {number} Returns the timer id.
|
* @returns {number} Returns the timer id.
|
||||||
*/
|
*/
|
||||||
function baseDelay(func, wait, args) {
|
function baseDelay(func, wait, args) {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ define(['./_arrayFilter', './isFunction'], function(arrayFilter, isFunction) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* The base implementation of `_.functions` which creates an array of
|
* The base implementation of `_.functions` which creates an array of
|
||||||
* `object` function property names filtered from those provided.
|
* `object` function property names filtered from `props`.
|
||||||
*
|
*
|
||||||
* @private
|
* @private
|
||||||
* @param {Object} object The object to inspect.
|
* @param {Object} object The object to inspect.
|
||||||
|
|||||||
20
_cloneArrayBuffer.js
Normal file
20
_cloneArrayBuffer.js
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
define(['./_Uint8Array'], function(Uint8Array) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a clone of `arrayBuffer`.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {ArrayBuffer} arrayBuffer The array buffer to clone.
|
||||||
|
* @returns {ArrayBuffer} Returns the cloned array buffer.
|
||||||
|
*/
|
||||||
|
function cloneArrayBuffer(arrayBuffer) {
|
||||||
|
var Ctor = arrayBuffer.constructor,
|
||||||
|
result = new Ctor(arrayBuffer.byteLength),
|
||||||
|
view = new Uint8Array(result);
|
||||||
|
|
||||||
|
view.set(new Uint8Array(arrayBuffer));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
return cloneArrayBuffer;
|
||||||
|
});
|
||||||
@@ -1,18 +1,21 @@
|
|||||||
define(['./_Uint8Array'], function(Uint8Array) {
|
define([], function() {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a clone of `buffer`.
|
* Creates a clone of `buffer`.
|
||||||
*
|
*
|
||||||
* @private
|
* @private
|
||||||
* @param {ArrayBuffer} buffer The array buffer to clone.
|
* @param {Buffer} buffer The buffer to clone.
|
||||||
* @returns {ArrayBuffer} Returns the cloned array buffer.
|
* @param {boolean} [isDeep] Specify a deep clone.
|
||||||
|
* @returns {Buffer} Returns the cloned buffer.
|
||||||
*/
|
*/
|
||||||
function cloneBuffer(buffer) {
|
function cloneBuffer(buffer, isDeep) {
|
||||||
|
if (isDeep) {
|
||||||
|
return buffer.slice();
|
||||||
|
}
|
||||||
var Ctor = buffer.constructor,
|
var Ctor = buffer.constructor,
|
||||||
result = new Ctor(buffer.byteLength),
|
result = new Ctor(buffer.length);
|
||||||
view = new Uint8Array(result);
|
|
||||||
|
|
||||||
view.set(new Uint8Array(buffer));
|
buffer.copy(result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
define(['./_cloneBuffer'], function(cloneBuffer) {
|
define(['./_cloneArrayBuffer'], function(cloneArrayBuffer) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a clone of `typedArray`.
|
* Creates a clone of `typedArray`.
|
||||||
@@ -12,7 +12,7 @@ define(['./_cloneBuffer'], function(cloneBuffer) {
|
|||||||
var buffer = typedArray.buffer,
|
var buffer = typedArray.buffer,
|
||||||
Ctor = typedArray.constructor;
|
Ctor = typedArray.constructor;
|
||||||
|
|
||||||
return new Ctor(isDeep ? cloneBuffer(buffer) : buffer, typedArray.byteOffset, typedArray.length);
|
return new Ctor(isDeep ? cloneArrayBuffer(buffer) : buffer, typedArray.byteOffset, typedArray.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
return cloneTypedArray;
|
return cloneTypedArray;
|
||||||
|
|||||||
25
_getTag.js
25
_getTag.js
@@ -1,9 +1,10 @@
|
|||||||
define(['./_Map', './_Set'], function(Map, Set) {
|
define(['./_Map', './_Set', './_WeakMap'], function(Map, Set, WeakMap) {
|
||||||
|
|
||||||
/** `Object#toString` result references. */
|
/** `Object#toString` result references. */
|
||||||
var mapTag = '[object Map]',
|
var mapTag = '[object Map]',
|
||||||
objectTag = '[object Object]',
|
objectTag = '[object Object]',
|
||||||
setTag = '[object Set]';
|
setTag = '[object Set]',
|
||||||
|
weakMapTag = '[object WeakMap]';
|
||||||
|
|
||||||
/** Used for built-in method references. */
|
/** Used for built-in method references. */
|
||||||
var objectProto = Object.prototype;
|
var objectProto = Object.prototype;
|
||||||
@@ -17,9 +18,10 @@ define(['./_Map', './_Set'], function(Map, Set) {
|
|||||||
*/
|
*/
|
||||||
var objectToString = objectProto.toString;
|
var objectToString = objectProto.toString;
|
||||||
|
|
||||||
/** Used to detect maps and sets. */
|
/** Used to detect maps, sets, and weakmaps. */
|
||||||
var mapCtorString = Map ? funcToString.call(Map) : '',
|
var mapCtorString = Map ? funcToString.call(Map) : '',
|
||||||
setCtorString = Set ? funcToString.call(Set) : '';
|
setCtorString = Set ? funcToString.call(Set) : '',
|
||||||
|
weakMapCtorString = WeakMap ? funcToString.call(WeakMap) : '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the `toStringTag` of `value`.
|
* Gets the `toStringTag` of `value`.
|
||||||
@@ -32,19 +34,20 @@ define(['./_Map', './_Set'], function(Map, Set) {
|
|||||||
return objectToString.call(value);
|
return objectToString.call(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fallback for IE 11 providing `toStringTag` values for maps and sets.
|
// Fallback for IE 11 providing `toStringTag` values for maps, sets, and weakmaps.
|
||||||
if ((Map && getTag(new Map) != mapTag) || (Set && getTag(new Set) != setTag)) {
|
if ((Map && getTag(new Map) != mapTag) ||
|
||||||
|
(Set && getTag(new Set) != setTag) ||
|
||||||
|
(WeakMap && getTag(new WeakMap) != weakMapTag)) {
|
||||||
getTag = function(value) {
|
getTag = function(value) {
|
||||||
var result = objectToString.call(value),
|
var result = objectToString.call(value),
|
||||||
Ctor = result == objectTag ? value.constructor : null,
|
Ctor = result == objectTag ? value.constructor : null,
|
||||||
ctorString = typeof Ctor == 'function' ? funcToString.call(Ctor) : '';
|
ctorString = typeof Ctor == 'function' ? funcToString.call(Ctor) : '';
|
||||||
|
|
||||||
if (ctorString) {
|
if (ctorString) {
|
||||||
if (ctorString == mapCtorString) {
|
switch (ctorString) {
|
||||||
return mapTag;
|
case mapCtorString: return mapTag;
|
||||||
}
|
case setCtorString: return setTag;
|
||||||
if (ctorString == setCtorString) {
|
case weakMapCtorString: return weakMapTag;
|
||||||
return setTag;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
define(['./_cloneBuffer', './_cloneMap', './_cloneRegExp', './_cloneSet', './_cloneSymbol', './_cloneTypedArray'], function(cloneBuffer, cloneMap, cloneRegExp, cloneSet, cloneSymbol, cloneTypedArray) {
|
define(['./_cloneArrayBuffer', './_cloneMap', './_cloneRegExp', './_cloneSet', './_cloneSymbol', './_cloneTypedArray'], function(cloneArrayBuffer, cloneMap, cloneRegExp, cloneSet, cloneSymbol, cloneTypedArray) {
|
||||||
|
|
||||||
/** `Object#toString` result references. */
|
/** `Object#toString` result references. */
|
||||||
var boolTag = '[object Boolean]',
|
var boolTag = '[object Boolean]',
|
||||||
@@ -37,7 +37,7 @@ define(['./_cloneBuffer', './_cloneMap', './_cloneRegExp', './_cloneSet', './_cl
|
|||||||
var Ctor = object.constructor;
|
var Ctor = object.constructor;
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case arrayBufferTag:
|
case arrayBufferTag:
|
||||||
return cloneBuffer(object);
|
return cloneArrayBuffer(object);
|
||||||
|
|
||||||
case boolTag:
|
case boolTag:
|
||||||
case dateTag:
|
case dateTag:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
define(['./eq', './isArrayLike', './_isIndex', './isObject'], function(eq, isArrayLike, isIndex, isObject) {
|
define(['./eq', './isArrayLike', './_isIndex', './isObject'], function(eq, isArrayLike, isIndex, isObject) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if the provided arguments are from an iteratee call.
|
* Checks if the given arguments are from an iteratee call.
|
||||||
*
|
*
|
||||||
* @private
|
* @private
|
||||||
* @param {*} value The potential iteratee value argument.
|
* @param {*} value The potential iteratee value argument.
|
||||||
|
|||||||
3
add.js
3
add.js
@@ -19,6 +19,9 @@ define([], function() {
|
|||||||
*/
|
*/
|
||||||
function add(augend, addend) {
|
function add(augend, addend) {
|
||||||
var result;
|
var result;
|
||||||
|
if (augend === undefined && addend === undefined) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
if (augend !== undefined) {
|
if (augend !== undefined) {
|
||||||
result = augend;
|
result = augend;
|
||||||
}
|
}
|
||||||
|
|||||||
7
bind.js
7
bind.js
@@ -42,11 +42,16 @@ define(['./_createWrapper', './_replaceHolders', './rest'], function(createWrapp
|
|||||||
var bind = rest(function(func, thisArg, partials) {
|
var bind = rest(function(func, thisArg, partials) {
|
||||||
var bitmask = BIND_FLAG;
|
var bitmask = BIND_FLAG;
|
||||||
if (partials.length) {
|
if (partials.length) {
|
||||||
var holders = replaceHolders(partials, bind.placeholder);
|
var placeholder = bind.placeholder,
|
||||||
|
holders = replaceHolders(partials, placeholder);
|
||||||
|
|
||||||
bitmask |= PARTIAL_FLAG;
|
bitmask |= PARTIAL_FLAG;
|
||||||
}
|
}
|
||||||
return createWrapper(func, bitmask, thisArg, partials, holders);
|
return createWrapper(func, bitmask, thisArg, partials, holders);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Assign default placeholders.
|
||||||
|
bind.placeholder = {};
|
||||||
|
|
||||||
return bind;
|
return bind;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -52,11 +52,16 @@ define(['./_createWrapper', './_replaceHolders', './rest'], function(createWrapp
|
|||||||
var bindKey = rest(function(object, key, partials) {
|
var bindKey = rest(function(object, key, partials) {
|
||||||
var bitmask = BIND_FLAG | BIND_KEY_FLAG;
|
var bitmask = BIND_FLAG | BIND_KEY_FLAG;
|
||||||
if (partials.length) {
|
if (partials.length) {
|
||||||
var holders = replaceHolders(partials, bindKey.placeholder);
|
var placeholder = bindKey.placeholder,
|
||||||
|
holders = replaceHolders(partials, placeholder);
|
||||||
|
|
||||||
bitmask |= PARTIAL_FLAG;
|
bitmask |= PARTIAL_FLAG;
|
||||||
}
|
}
|
||||||
return createWrapper(key, bitmask, object, partials, holders);
|
return createWrapper(key, bitmask, object, partials, holders);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Assign default placeholders.
|
||||||
|
bindKey.placeholder = {};
|
||||||
|
|
||||||
return bindKey;
|
return bindKey;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ define(['./_baseAssign', './_baseCreate'], function(baseAssign, baseCreate) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an object that inherits from the `prototype` object. If a `properties`
|
* Creates an object that inherits from the `prototype` object. If a `properties`
|
||||||
* object is provided its own enumerable properties are assigned to the created object.
|
* object is given its own enumerable properties are assigned to the created object.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
|
|||||||
3
curry.js
3
curry.js
@@ -53,5 +53,8 @@ define(['./_createWrapper'], function(createWrapper) {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Assign default placeholders.
|
||||||
|
curry.placeholder = {};
|
||||||
|
|
||||||
return curry;
|
return curry;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -50,5 +50,8 @@ define(['./_createWrapper'], function(createWrapper) {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Assign default placeholders.
|
||||||
|
curryRight.placeholder = {};
|
||||||
|
|
||||||
return curryRight;
|
return curryRight;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ define(['./isObject', './now', './toNumber'], function(isObject, now, toNumber)
|
|||||||
* to the debounced function return the result of the last `func` invocation.
|
* to the debounced function return the result of the last `func` invocation.
|
||||||
*
|
*
|
||||||
* **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
|
* **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
|
||||||
* on the trailing edge of the timeout only if the the debounced function is
|
* on the trailing edge of the timeout only if the debounced function is
|
||||||
* invoked more than once during the `wait` timeout.
|
* invoked more than once during the `wait` timeout.
|
||||||
*
|
*
|
||||||
* See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
|
* See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
|
||||||
@@ -136,7 +136,7 @@ define(['./isObject', './now', './toNumber'], function(isObject, now, toNumber)
|
|||||||
if (maxWait === false) {
|
if (maxWait === false) {
|
||||||
var leadingCall = leading && !timeoutId;
|
var leadingCall = leading && !timeoutId;
|
||||||
} else {
|
} else {
|
||||||
if (!maxTimeoutId && !leading) {
|
if (!lastCalled && !maxTimeoutId && !leading) {
|
||||||
lastCalled = stamp;
|
lastCalled = stamp;
|
||||||
}
|
}
|
||||||
var remaining = maxWait - (stamp - lastCalled),
|
var remaining = maxWait - (stamp - lastCalled),
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ define(['./_baseDifference', './_baseFlatten', './isArrayLikeObject', './rest'],
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an array of unique `array` values not included in the other
|
* Creates an array of unique `array` values not included in the other
|
||||||
* provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
* given arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
||||||
* for equality comparisons.
|
* for equality comparisons.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
|
|||||||
6
flow.js
6
flow.js
@@ -1,9 +1,9 @@
|
|||||||
define(['./_createFlow'], function(createFlow) {
|
define(['./_createFlow'], function(createFlow) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a function that returns the result of invoking the provided
|
* Creates a function that returns the result of invoking the given functions
|
||||||
* functions with the `this` binding of the created function, where each
|
* with the `this` binding of the created function, where each successive
|
||||||
* successive invocation is supplied the return value of the previous.
|
* invocation is supplied the return value of the previous.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ define(['./_createFlow'], function(createFlow) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is like `_.flow` except that it creates a function that
|
* This method is like `_.flow` except that it creates a function that
|
||||||
* invokes the provided functions from right to left.
|
* invokes the given functions from right to left.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
define([], function() {
|
define([], function() {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method returns the first argument provided to it.
|
* This method returns the first argument given to it.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
define(['./_arrayMap', './_baseIntersection', './rest', './_toArrayLikeObject'], function(arrayMap, baseIntersection, rest, toArrayLikeObject) {
|
define(['./_arrayMap', './_baseIntersection', './rest', './_toArrayLikeObject'], function(arrayMap, baseIntersection, rest, toArrayLikeObject) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an array of unique values that are included in all of the provided
|
* Creates an array of unique values that are included in all given arrays
|
||||||
* arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
* using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
||||||
* for equality comparisons.
|
* for equality comparisons.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
|
|||||||
36
isArrayBuffer.js
Normal file
36
isArrayBuffer.js
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
define(['./isObjectLike'], function(isObjectLike) {
|
||||||
|
|
||||||
|
var arrayBufferTag = '[object ArrayBuffer]';
|
||||||
|
|
||||||
|
/** Used for built-in method references. */
|
||||||
|
var objectProto = Object.prototype;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
|
||||||
|
* of values.
|
||||||
|
*/
|
||||||
|
var objectToString = objectProto.toString;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is classified as an `ArrayBuffer` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @type Function
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isArrayBuffer(new ArrayBuffer(2));
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArrayBuffer(new Array(2));
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isArrayBuffer(value) {
|
||||||
|
return isObjectLike(value) && objectToString.call(value) == arrayBufferTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
return isArrayBuffer;
|
||||||
|
});
|
||||||
45
isBuffer.js
Normal file
45
isBuffer.js
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
define(['./constant', './_root'], function(constant, root) {
|
||||||
|
|
||||||
|
/** Used as a safe reference for `undefined` in pre-ES5 environments. */
|
||||||
|
var undefined;
|
||||||
|
|
||||||
|
/** Used to determine if values are of the language type `Object`. */
|
||||||
|
var objectTypes = {
|
||||||
|
'function': true,
|
||||||
|
'object': true
|
||||||
|
};
|
||||||
|
|
||||||
|
/** Detect free variable `exports`. */
|
||||||
|
var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType) ? exports : null;
|
||||||
|
|
||||||
|
/** Detect free variable `module`. */
|
||||||
|
var freeModule = (objectTypes[typeof module] && module && !module.nodeType) ? module : null;
|
||||||
|
|
||||||
|
/** Detect the popular CommonJS extension `module.exports`. */
|
||||||
|
var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null;
|
||||||
|
|
||||||
|
/** Built-in value references. */
|
||||||
|
var Buffer = moduleExports ? root.Buffer : undefined;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is a buffer.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isBuffer(new Buffer(2));
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isBuffer(new Uint8Array(2));
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
var isBuffer = !Buffer ? constant(false) : function(value) {
|
||||||
|
return value instanceof Buffer;
|
||||||
|
};
|
||||||
|
|
||||||
|
return isBuffer;
|
||||||
|
});
|
||||||
27
isMap.js
Normal file
27
isMap.js
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
define(['./_getTag', './isObjectLike'], function(getTag, isObjectLike) {
|
||||||
|
|
||||||
|
/** `Object#toString` result references. */
|
||||||
|
var mapTag = '[object Map]';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is classified as a `Map` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isMap(new Map);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isMap(new WeakMap);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isMap(value) {
|
||||||
|
return isObjectLike(value) && getTag(value) == mapTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
return isMap;
|
||||||
|
});
|
||||||
27
isSet.js
Normal file
27
isSet.js
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
define(['./_getTag', './isObjectLike'], function(getTag, isObjectLike) {
|
||||||
|
|
||||||
|
/** `Object#toString` result references. */
|
||||||
|
var setTag = '[object Set]';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is classified as a `Set` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isSet(new Set);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isSet(new WeakSet);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isSet(value) {
|
||||||
|
return isObjectLike(value) && getTag(value) == setTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
return isSet;
|
||||||
|
});
|
||||||
27
isWeakMap.js
Normal file
27
isWeakMap.js
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
define(['./_getTag', './isObjectLike'], function(getTag, isObjectLike) {
|
||||||
|
|
||||||
|
/** `Object#toString` result references. */
|
||||||
|
var weakMapTag = '[object WeakMap]';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is classified as a `WeakMap` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isWeakMap(new WeakMap);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isWeakMap(new Map);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isWeakMap(value) {
|
||||||
|
return isObjectLike(value) && getTag(value) == weakMapTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
return isWeakMap;
|
||||||
|
});
|
||||||
36
isWeakSet.js
Normal file
36
isWeakSet.js
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
define(['./isObjectLike'], function(isObjectLike) {
|
||||||
|
|
||||||
|
/** `Object#toString` result references. */
|
||||||
|
var weakSetTag = '[object WeakSet]';
|
||||||
|
|
||||||
|
/** Used for built-in method references. */
|
||||||
|
var objectProto = Object.prototype;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
|
||||||
|
* of values.
|
||||||
|
*/
|
||||||
|
var objectToString = objectProto.toString;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is classified as a `WeakSet` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isWeakSet(new WeakSet);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isWeakSet(new Set);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isWeakSet(value) {
|
||||||
|
return isObjectLike(value) && objectToString.call(value) == weakSetTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
return isWeakSet;
|
||||||
|
});
|
||||||
8
lang.js
8
lang.js
@@ -1,4 +1,4 @@
|
|||||||
define(['./clone', './cloneDeep', './cloneDeepWith', './cloneWith', './eq', './gt', './gte', './isArguments', './isArray', './isArrayLike', './isArrayLikeObject', './isBoolean', './isDate', './isElement', './isEmpty', './isEqual', './isEqualWith', './isError', './isFinite', './isFunction', './isInteger', './isLength', './isMatch', './isMatchWith', './isNaN', './isNative', './isNil', './isNull', './isNumber', './isObject', './isObjectLike', './isPlainObject', './isRegExp', './isSafeInteger', './isString', './isSymbol', './isTypedArray', './isUndefined', './lt', './lte', './toArray', './toInteger', './toLength', './toNumber', './toPlainObject', './toSafeInteger', './toString'], function(clone, cloneDeep, cloneDeepWith, cloneWith, eq, gt, gte, isArguments, isArray, isArrayLike, isArrayLikeObject, isBoolean, isDate, isElement, isEmpty, isEqual, isEqualWith, isError, isFinite, isFunction, isInteger, isLength, isMatch, isMatchWith, isNaN, isNative, isNil, isNull, isNumber, isObject, isObjectLike, isPlainObject, isRegExp, isSafeInteger, isString, isSymbol, isTypedArray, isUndefined, lt, lte, toArray, toInteger, toLength, toNumber, toPlainObject, toSafeInteger, toString) {
|
define(['./clone', './cloneDeep', './cloneDeepWith', './cloneWith', './eq', './gt', './gte', './isArguments', './isArray', './isArrayBuffer', './isArrayLike', './isArrayLikeObject', './isBoolean', './isBuffer', './isDate', './isElement', './isEmpty', './isEqual', './isEqualWith', './isError', './isFinite', './isFunction', './isInteger', './isLength', './isMap', './isMatch', './isMatchWith', './isNaN', './isNative', './isNil', './isNull', './isNumber', './isObject', './isObjectLike', './isPlainObject', './isRegExp', './isSafeInteger', './isSet', './isString', './isSymbol', './isTypedArray', './isUndefined', './isWeakMap', './isWeakSet', './lt', './lte', './toArray', './toInteger', './toLength', './toNumber', './toPlainObject', './toSafeInteger', './toString'], function(clone, cloneDeep, cloneDeepWith, cloneWith, eq, gt, gte, isArguments, isArray, isArrayBuffer, isArrayLike, isArrayLikeObject, isBoolean, isBuffer, isDate, isElement, isEmpty, isEqual, isEqualWith, isError, isFinite, isFunction, isInteger, isLength, isMap, isMatch, isMatchWith, isNaN, isNative, isNil, isNull, isNumber, isObject, isObjectLike, isPlainObject, isRegExp, isSafeInteger, isSet, isString, isSymbol, isTypedArray, isUndefined, isWeakMap, isWeakSet, lt, lte, toArray, toInteger, toLength, toNumber, toPlainObject, toSafeInteger, toString) {
|
||||||
return {
|
return {
|
||||||
'clone': clone,
|
'clone': clone,
|
||||||
'cloneDeep': cloneDeep,
|
'cloneDeep': cloneDeep,
|
||||||
@@ -9,9 +9,11 @@ define(['./clone', './cloneDeep', './cloneDeepWith', './cloneWith', './eq', './g
|
|||||||
'gte': gte,
|
'gte': gte,
|
||||||
'isArguments': isArguments,
|
'isArguments': isArguments,
|
||||||
'isArray': isArray,
|
'isArray': isArray,
|
||||||
|
'isArrayBuffer': isArrayBuffer,
|
||||||
'isArrayLike': isArrayLike,
|
'isArrayLike': isArrayLike,
|
||||||
'isArrayLikeObject': isArrayLikeObject,
|
'isArrayLikeObject': isArrayLikeObject,
|
||||||
'isBoolean': isBoolean,
|
'isBoolean': isBoolean,
|
||||||
|
'isBuffer': isBuffer,
|
||||||
'isDate': isDate,
|
'isDate': isDate,
|
||||||
'isElement': isElement,
|
'isElement': isElement,
|
||||||
'isEmpty': isEmpty,
|
'isEmpty': isEmpty,
|
||||||
@@ -22,6 +24,7 @@ define(['./clone', './cloneDeep', './cloneDeepWith', './cloneWith', './eq', './g
|
|||||||
'isFunction': isFunction,
|
'isFunction': isFunction,
|
||||||
'isInteger': isInteger,
|
'isInteger': isInteger,
|
||||||
'isLength': isLength,
|
'isLength': isLength,
|
||||||
|
'isMap': isMap,
|
||||||
'isMatch': isMatch,
|
'isMatch': isMatch,
|
||||||
'isMatchWith': isMatchWith,
|
'isMatchWith': isMatchWith,
|
||||||
'isNaN': isNaN,
|
'isNaN': isNaN,
|
||||||
@@ -34,10 +37,13 @@ define(['./clone', './cloneDeep', './cloneDeepWith', './cloneWith', './eq', './g
|
|||||||
'isPlainObject': isPlainObject,
|
'isPlainObject': isPlainObject,
|
||||||
'isRegExp': isRegExp,
|
'isRegExp': isRegExp,
|
||||||
'isSafeInteger': isSafeInteger,
|
'isSafeInteger': isSafeInteger,
|
||||||
|
'isSet': isSet,
|
||||||
'isString': isString,
|
'isString': isString,
|
||||||
'isSymbol': isSymbol,
|
'isSymbol': isSymbol,
|
||||||
'isTypedArray': isTypedArray,
|
'isTypedArray': isTypedArray,
|
||||||
'isUndefined': isUndefined,
|
'isUndefined': isUndefined,
|
||||||
|
'isWeakMap': isWeakMap,
|
||||||
|
'isWeakSet': isWeakSet,
|
||||||
'lt': lt,
|
'lt': lt,
|
||||||
'lte': lte,
|
'lte': lte,
|
||||||
'toArray': toArray,
|
'toArray': toArray,
|
||||||
|
|||||||
280
main.js
280
main.js
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* @license
|
* @license
|
||||||
* lodash 4.2.0 (Custom Build) <https://lodash.com/>
|
* lodash 4.3.0 (Custom Build) <https://lodash.com/>
|
||||||
* Build: `lodash exports="amd" -d -o ./main.js`
|
* Build: `lodash exports="amd" -d -o ./main.js`
|
||||||
* Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
|
* Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
|
||||||
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
var undefined;
|
var undefined;
|
||||||
|
|
||||||
/** Used as the semantic version number. */
|
/** Used as the semantic version number. */
|
||||||
var VERSION = '4.2.0';
|
var VERSION = '4.3.0';
|
||||||
|
|
||||||
/** Used to compose bitmasks for wrapper metadata. */
|
/** Used to compose bitmasks for wrapper metadata. */
|
||||||
var BIND_FLAG = 1,
|
var BIND_FLAG = 1,
|
||||||
@@ -82,7 +82,8 @@
|
|||||||
setTag = '[object Set]',
|
setTag = '[object Set]',
|
||||||
stringTag = '[object String]',
|
stringTag = '[object String]',
|
||||||
symbolTag = '[object Symbol]',
|
symbolTag = '[object Symbol]',
|
||||||
weakMapTag = '[object WeakMap]';
|
weakMapTag = '[object WeakMap]',
|
||||||
|
weakSetTag = '[object WeakSet]';
|
||||||
|
|
||||||
var arrayBufferTag = '[object ArrayBuffer]',
|
var arrayBufferTag = '[object ArrayBuffer]',
|
||||||
float32Tag = '[object Float32Array]',
|
float32Tag = '[object Float32Array]',
|
||||||
@@ -231,8 +232,8 @@
|
|||||||
|
|
||||||
/** Used to assign default `context` object properties. */
|
/** Used to assign default `context` object properties. */
|
||||||
var contextProps = [
|
var contextProps = [
|
||||||
'Array', 'Date', 'Error', 'Float32Array', 'Float64Array', 'Function',
|
'Array', 'Buffer', 'Date', 'Error', 'Float32Array', 'Float64Array',
|
||||||
'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',
|
'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',
|
||||||
'Reflect', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',
|
'Reflect', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',
|
||||||
'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', '_',
|
'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', '_',
|
||||||
'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'
|
'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'
|
||||||
@@ -348,6 +349,9 @@
|
|||||||
/** Detect free variable `window`. */
|
/** Detect free variable `window`. */
|
||||||
var freeWindow = checkGlobal(objectTypes[typeof window] && window);
|
var freeWindow = checkGlobal(objectTypes[typeof window] && window);
|
||||||
|
|
||||||
|
/** Detect the popular CommonJS extension `module.exports`. */
|
||||||
|
var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null;
|
||||||
|
|
||||||
/** Detect `this` as the global object. */
|
/** Detect `this` as the global object. */
|
||||||
var thisGlobal = checkGlobal(objectTypes[typeof this] && this);
|
var thisGlobal = checkGlobal(objectTypes[typeof this] && this);
|
||||||
|
|
||||||
@@ -1303,7 +1307,8 @@
|
|||||||
);
|
);
|
||||||
|
|
||||||
/** Built-in value references. */
|
/** Built-in value references. */
|
||||||
var Reflect = context.Reflect,
|
var Buffer = moduleExports ? context.Buffer : undefined,
|
||||||
|
Reflect = context.Reflect,
|
||||||
Symbol = context.Symbol,
|
Symbol = context.Symbol,
|
||||||
Uint8Array = context.Uint8Array,
|
Uint8Array = context.Uint8Array,
|
||||||
clearTimeout = context.clearTimeout,
|
clearTimeout = context.clearTimeout,
|
||||||
@@ -1336,9 +1341,10 @@
|
|||||||
/** Used to store function metadata. */
|
/** Used to store function metadata. */
|
||||||
var metaMap = WeakMap && new WeakMap;
|
var metaMap = WeakMap && new WeakMap;
|
||||||
|
|
||||||
/** Used to detect maps and sets. */
|
/** Used to detect maps, sets, and weakmaps. */
|
||||||
var mapCtorString = Map ? funcToString.call(Map) : '',
|
var mapCtorString = Map ? funcToString.call(Map) : '',
|
||||||
setCtorString = Set ? funcToString.call(Set) : '';
|
setCtorString = Set ? funcToString.call(Set) : '',
|
||||||
|
weakMapCtorString = WeakMap ? funcToString.call(WeakMap) : '';
|
||||||
|
|
||||||
/** Used to convert symbols to primitives and strings. */
|
/** Used to convert symbols to primitives and strings. */
|
||||||
var symbolProto = Symbol ? Symbol.prototype : undefined,
|
var symbolProto = Symbol ? Symbol.prototype : undefined,
|
||||||
@@ -2248,6 +2254,9 @@
|
|||||||
var tag = getTag(value),
|
var tag = getTag(value),
|
||||||
isFunc = tag == funcTag || tag == genTag;
|
isFunc = tag == funcTag || tag == genTag;
|
||||||
|
|
||||||
|
if (isBuffer(value)) {
|
||||||
|
return cloneBuffer(value, isDeep);
|
||||||
|
}
|
||||||
if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
|
if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
|
||||||
if (isHostObject(value)) {
|
if (isHostObject(value)) {
|
||||||
return object ? value : {};
|
return object ? value : {};
|
||||||
@@ -2333,7 +2342,7 @@
|
|||||||
* @private
|
* @private
|
||||||
* @param {Function} func The function to delay.
|
* @param {Function} func The function to delay.
|
||||||
* @param {number} wait The number of milliseconds to delay invocation.
|
* @param {number} wait The number of milliseconds to delay invocation.
|
||||||
* @param {Object} args The arguments provide to `func`.
|
* @param {Object} args The arguments to provide to `func`.
|
||||||
* @returns {number} Returns the timer id.
|
* @returns {number} Returns the timer id.
|
||||||
*/
|
*/
|
||||||
function baseDelay(func, wait, args) {
|
function baseDelay(func, wait, args) {
|
||||||
@@ -2578,7 +2587,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* The base implementation of `_.functions` which creates an array of
|
* The base implementation of `_.functions` which creates an array of
|
||||||
* `object` function property names filtered from those provided.
|
* `object` function property names filtered from `props`.
|
||||||
*
|
*
|
||||||
* @private
|
* @private
|
||||||
* @param {Object} object The object to inspect.
|
* @param {Object} object The object to inspect.
|
||||||
@@ -3705,18 +3714,37 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a clone of `buffer`.
|
* Creates a clone of `buffer`.
|
||||||
*
|
*
|
||||||
* @private
|
* @private
|
||||||
* @param {ArrayBuffer} buffer The array buffer to clone.
|
* @param {Buffer} buffer The buffer to clone.
|
||||||
|
* @param {boolean} [isDeep] Specify a deep clone.
|
||||||
|
* @returns {Buffer} Returns the cloned buffer.
|
||||||
|
*/
|
||||||
|
function cloneBuffer(buffer, isDeep) {
|
||||||
|
if (isDeep) {
|
||||||
|
return buffer.slice();
|
||||||
|
}
|
||||||
|
var Ctor = buffer.constructor,
|
||||||
|
result = new Ctor(buffer.length);
|
||||||
|
|
||||||
|
buffer.copy(result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a clone of `arrayBuffer`.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {ArrayBuffer} arrayBuffer The array buffer to clone.
|
||||||
* @returns {ArrayBuffer} Returns the cloned array buffer.
|
* @returns {ArrayBuffer} Returns the cloned array buffer.
|
||||||
*/
|
*/
|
||||||
function cloneBuffer(buffer) {
|
function cloneArrayBuffer(arrayBuffer) {
|
||||||
var Ctor = buffer.constructor,
|
var Ctor = arrayBuffer.constructor,
|
||||||
result = new Ctor(buffer.byteLength),
|
result = new Ctor(arrayBuffer.byteLength),
|
||||||
view = new Uint8Array(result);
|
view = new Uint8Array(result);
|
||||||
|
|
||||||
view.set(new Uint8Array(buffer));
|
view.set(new Uint8Array(arrayBuffer));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3782,7 +3810,7 @@
|
|||||||
var buffer = typedArray.buffer,
|
var buffer = typedArray.buffer,
|
||||||
Ctor = typedArray.constructor;
|
Ctor = typedArray.constructor;
|
||||||
|
|
||||||
return new Ctor(isDeep ? cloneBuffer(buffer) : buffer, typedArray.byteOffset, typedArray.length);
|
return new Ctor(isDeep ? cloneArrayBuffer(buffer) : buffer, typedArray.byteOffset, typedArray.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -4120,7 +4148,7 @@
|
|||||||
index = length,
|
index = length,
|
||||||
args = Array(length),
|
args = Array(length),
|
||||||
fn = (this && this !== root && this instanceof wrapper) ? Ctor : func,
|
fn = (this && this !== root && this instanceof wrapper) ? Ctor : func,
|
||||||
placeholder = wrapper.placeholder;
|
placeholder = lodash.placeholder || wrapper.placeholder;
|
||||||
|
|
||||||
while (index--) {
|
while (index--) {
|
||||||
args[index] = arguments[index];
|
args[index] = arguments[index];
|
||||||
@@ -4236,7 +4264,7 @@
|
|||||||
args = composeArgsRight(args, partialsRight, holdersRight);
|
args = composeArgsRight(args, partialsRight, holdersRight);
|
||||||
}
|
}
|
||||||
if (isCurry || isCurryRight) {
|
if (isCurry || isCurryRight) {
|
||||||
var placeholder = wrapper.placeholder,
|
var placeholder = lodash.placeholder || wrapper.placeholder,
|
||||||
argsHolders = replaceHolders(args, placeholder);
|
argsHolders = replaceHolders(args, placeholder);
|
||||||
|
|
||||||
length -= argsHolders.length;
|
length -= argsHolders.length;
|
||||||
@@ -4850,19 +4878,20 @@
|
|||||||
return objectToString.call(value);
|
return objectToString.call(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fallback for IE 11 providing `toStringTag` values for maps and sets.
|
// Fallback for IE 11 providing `toStringTag` values for maps, sets, and weakmaps.
|
||||||
if ((Map && getTag(new Map) != mapTag) || (Set && getTag(new Set) != setTag)) {
|
if ((Map && getTag(new Map) != mapTag) ||
|
||||||
|
(Set && getTag(new Set) != setTag) ||
|
||||||
|
(WeakMap && getTag(new WeakMap) != weakMapTag)) {
|
||||||
getTag = function(value) {
|
getTag = function(value) {
|
||||||
var result = objectToString.call(value),
|
var result = objectToString.call(value),
|
||||||
Ctor = result == objectTag ? value.constructor : null,
|
Ctor = result == objectTag ? value.constructor : null,
|
||||||
ctorString = typeof Ctor == 'function' ? funcToString.call(Ctor) : '';
|
ctorString = typeof Ctor == 'function' ? funcToString.call(Ctor) : '';
|
||||||
|
|
||||||
if (ctorString) {
|
if (ctorString) {
|
||||||
if (ctorString == mapCtorString) {
|
switch (ctorString) {
|
||||||
return mapTag;
|
case mapCtorString: return mapTag;
|
||||||
}
|
case setCtorString: return setTag;
|
||||||
if (ctorString == setCtorString) {
|
case weakMapCtorString: return weakMapTag;
|
||||||
return setTag;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
@@ -4976,7 +5005,7 @@
|
|||||||
var Ctor = object.constructor;
|
var Ctor = object.constructor;
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case arrayBufferTag:
|
case arrayBufferTag:
|
||||||
return cloneBuffer(object);
|
return cloneArrayBuffer(object);
|
||||||
|
|
||||||
case boolTag:
|
case boolTag:
|
||||||
case dateTag:
|
case dateTag:
|
||||||
@@ -5023,7 +5052,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if the provided arguments are from an iteratee call.
|
* Checks if the given arguments are from an iteratee call.
|
||||||
*
|
*
|
||||||
* @private
|
* @private
|
||||||
* @param {*} value The potential iteratee value argument.
|
* @param {*} value The potential iteratee value argument.
|
||||||
@@ -5431,7 +5460,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an array of unique `array` values not included in the other
|
* Creates an array of unique `array` values not included in the other
|
||||||
* provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
* given arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
||||||
* for equality comparisons.
|
* for equality comparisons.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
@@ -5911,8 +5940,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an array of unique values that are included in all of the provided
|
* Creates an array of unique values that are included in all given arrays
|
||||||
* arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
* using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
||||||
* for equality comparisons.
|
* for equality comparisons.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
@@ -6077,7 +6106,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes all provided values from `array` using
|
* Removes all given values from `array` using
|
||||||
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
||||||
* for equality comparisons.
|
* for equality comparisons.
|
||||||
*
|
*
|
||||||
@@ -6126,7 +6155,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is like `_.pullAll` except that it accepts `iteratee` which is
|
* This method is like `_.pullAll` except that it accepts `iteratee` which is
|
||||||
* invoked for each element of `array` and `values` to to generate the criterion
|
* invoked for each element of `array` and `values` to generate the criterion
|
||||||
* by which uniqueness is computed. The iteratee is invoked with one argument: (value).
|
* by which uniqueness is computed. The iteratee is invoked with one argument: (value).
|
||||||
*
|
*
|
||||||
* **Note:** Unlike `_.differenceBy`, this method mutates `array`.
|
* **Note:** Unlike `_.differenceBy`, this method mutates `array`.
|
||||||
@@ -6634,8 +6663,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an array of unique values, in order, from all of the provided arrays
|
* Creates an array of unique values, in order, from all given arrays using
|
||||||
* using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
||||||
* for equality comparisons.
|
* for equality comparisons.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
@@ -6846,7 +6875,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an array excluding all provided values using
|
* Creates an array excluding all given values using
|
||||||
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
||||||
* for equality comparisons.
|
* for equality comparisons.
|
||||||
*
|
*
|
||||||
@@ -6869,7 +6898,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an array of unique values that is the [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)
|
* Creates an array of unique values that is the [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)
|
||||||
* of the provided arrays.
|
* of the given arrays.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
@@ -7895,7 +7924,7 @@
|
|||||||
* Reduces `collection` to a value which is the accumulated result of running
|
* Reduces `collection` to a value which is the accumulated result of running
|
||||||
* each element in `collection` through `iteratee`, where each successive
|
* each element in `collection` through `iteratee`, where each successive
|
||||||
* invocation is supplied the return value of the previous. If `accumulator`
|
* invocation is supplied the return value of the previous. If `accumulator`
|
||||||
* is not provided the first element of `collection` is used as the initial
|
* is not given the first element of `collection` is used as the initial
|
||||||
* value. The iteratee is invoked with four arguments:
|
* value. The iteratee is invoked with four arguments:
|
||||||
* (accumulator, value, index|key, collection).
|
* (accumulator, value, index|key, collection).
|
||||||
*
|
*
|
||||||
@@ -8343,7 +8372,9 @@
|
|||||||
var bind = rest(function(func, thisArg, partials) {
|
var bind = rest(function(func, thisArg, partials) {
|
||||||
var bitmask = BIND_FLAG;
|
var bitmask = BIND_FLAG;
|
||||||
if (partials.length) {
|
if (partials.length) {
|
||||||
var holders = replaceHolders(partials, bind.placeholder);
|
var placeholder = lodash.placeholder || bind.placeholder,
|
||||||
|
holders = replaceHolders(partials, placeholder);
|
||||||
|
|
||||||
bitmask |= PARTIAL_FLAG;
|
bitmask |= PARTIAL_FLAG;
|
||||||
}
|
}
|
||||||
return createWrapper(func, bitmask, thisArg, partials, holders);
|
return createWrapper(func, bitmask, thisArg, partials, holders);
|
||||||
@@ -8396,7 +8427,9 @@
|
|||||||
var bindKey = rest(function(object, key, partials) {
|
var bindKey = rest(function(object, key, partials) {
|
||||||
var bitmask = BIND_FLAG | BIND_KEY_FLAG;
|
var bitmask = BIND_FLAG | BIND_KEY_FLAG;
|
||||||
if (partials.length) {
|
if (partials.length) {
|
||||||
var holders = replaceHolders(partials, bindKey.placeholder);
|
var placeholder = lodash.placeholder || bindKey.placeholder,
|
||||||
|
holders = replaceHolders(partials, placeholder);
|
||||||
|
|
||||||
bitmask |= PARTIAL_FLAG;
|
bitmask |= PARTIAL_FLAG;
|
||||||
}
|
}
|
||||||
return createWrapper(key, bitmask, object, partials, holders);
|
return createWrapper(key, bitmask, object, partials, holders);
|
||||||
@@ -8445,7 +8478,7 @@
|
|||||||
function curry(func, arity, guard) {
|
function curry(func, arity, guard) {
|
||||||
arity = guard ? undefined : arity;
|
arity = guard ? undefined : arity;
|
||||||
var result = createWrapper(func, CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
|
var result = createWrapper(func, CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
|
||||||
result.placeholder = curry.placeholder;
|
result.placeholder = lodash.placeholder || curry.placeholder;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -8489,7 +8522,7 @@
|
|||||||
function curryRight(func, arity, guard) {
|
function curryRight(func, arity, guard) {
|
||||||
arity = guard ? undefined : arity;
|
arity = guard ? undefined : arity;
|
||||||
var result = createWrapper(func, CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
|
var result = createWrapper(func, CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
|
||||||
result.placeholder = curryRight.placeholder;
|
result.placeholder = lodash.placeholder || curryRight.placeholder;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -8504,7 +8537,7 @@
|
|||||||
* to the debounced function return the result of the last `func` invocation.
|
* to the debounced function return the result of the last `func` invocation.
|
||||||
*
|
*
|
||||||
* **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
|
* **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
|
||||||
* on the trailing edge of the timeout only if the the debounced function is
|
* on the trailing edge of the timeout only if the debounced function is
|
||||||
* invoked more than once during the `wait` timeout.
|
* invoked more than once during the `wait` timeout.
|
||||||
*
|
*
|
||||||
* See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
|
* See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
|
||||||
@@ -8620,7 +8653,7 @@
|
|||||||
if (maxWait === false) {
|
if (maxWait === false) {
|
||||||
var leadingCall = leading && !timeoutId;
|
var leadingCall = leading && !timeoutId;
|
||||||
} else {
|
} else {
|
||||||
if (!maxTimeoutId && !leading) {
|
if (!lastCalled && !maxTimeoutId && !leading) {
|
||||||
lastCalled = stamp;
|
lastCalled = stamp;
|
||||||
}
|
}
|
||||||
var remaining = maxWait - (stamp - lastCalled),
|
var remaining = maxWait - (stamp - lastCalled),
|
||||||
@@ -8911,7 +8944,9 @@
|
|||||||
* // => 'hi fred'
|
* // => 'hi fred'
|
||||||
*/
|
*/
|
||||||
var partial = rest(function(func, partials) {
|
var partial = rest(function(func, partials) {
|
||||||
var holders = replaceHolders(partials, partial.placeholder);
|
var placeholder = lodash.placeholder || partial.placeholder,
|
||||||
|
holders = replaceHolders(partials, placeholder);
|
||||||
|
|
||||||
return createWrapper(func, PARTIAL_FLAG, undefined, partials, holders);
|
return createWrapper(func, PARTIAL_FLAG, undefined, partials, holders);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -8947,7 +8982,9 @@
|
|||||||
* // => 'hello fred'
|
* // => 'hello fred'
|
||||||
*/
|
*/
|
||||||
var partialRight = rest(function(func, partials) {
|
var partialRight = rest(function(func, partials) {
|
||||||
var holders = replaceHolders(partials, partialRight.placeholder);
|
var placeholder = lodash.placeholder || partialRight.placeholder,
|
||||||
|
holders = replaceHolders(partials, placeholder);
|
||||||
|
|
||||||
return createWrapper(func, PARTIAL_RIGHT_FLAG, undefined, partials, holders);
|
return createWrapper(func, PARTIAL_RIGHT_FLAG, undefined, partials, holders);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -9086,7 +9123,7 @@
|
|||||||
* result of the last `func` invocation.
|
* result of the last `func` invocation.
|
||||||
*
|
*
|
||||||
* **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
|
* **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
|
||||||
* on the trailing edge of the timeout only if the the throttled function is
|
* on the trailing edge of the timeout only if the throttled function is
|
||||||
* invoked more than once during the `wait` timeout.
|
* invoked more than once during the `wait` timeout.
|
||||||
*
|
*
|
||||||
* See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
|
* See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
|
||||||
@@ -9415,6 +9452,27 @@
|
|||||||
*/
|
*/
|
||||||
var isArray = Array.isArray;
|
var isArray = Array.isArray;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is classified as an `ArrayBuffer` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @type Function
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isArrayBuffer(new ArrayBuffer(2));
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isArrayBuffer(new Array(2));
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isArrayBuffer(value) {
|
||||||
|
return isObjectLike(value) && objectToString.call(value) == arrayBufferTag;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if `value` is array-like. A value is considered array-like if it's
|
* Checks if `value` is array-like. A value is considered array-like if it's
|
||||||
* not a function and has a `value.length` that's an integer greater than or
|
* not a function and has a `value.length` that's an integer greater than or
|
||||||
@@ -9494,6 +9552,26 @@
|
|||||||
(isObjectLike(value) && objectToString.call(value) == boolTag);
|
(isObjectLike(value) && objectToString.call(value) == boolTag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is a buffer.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isBuffer(new Buffer(2));
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isBuffer(new Uint8Array(2));
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
var isBuffer = !Buffer ? constant(false) : function(value) {
|
||||||
|
return value instanceof Buffer;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if `value` is classified as a `Date` object.
|
* Checks if `value` is classified as a `Date` object.
|
||||||
*
|
*
|
||||||
@@ -9827,6 +9905,26 @@
|
|||||||
return !!value && typeof value == 'object';
|
return !!value && typeof value == 'object';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is classified as a `Map` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isMap(new Map);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isMap(new WeakMap);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isMap(value) {
|
||||||
|
return isObjectLike(value) && getTag(value) == mapTag;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Performs a deep comparison between `object` and `source` to determine if
|
* Performs a deep comparison between `object` and `source` to determine if
|
||||||
* `object` contains equivalent property values.
|
* `object` contains equivalent property values.
|
||||||
@@ -10112,6 +10210,26 @@
|
|||||||
return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;
|
return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is classified as a `Set` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isSet(new Set);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isSet(new WeakSet);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isSet(value) {
|
||||||
|
return isObjectLike(value) && getTag(value) == setTag;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if `value` is classified as a `String` primitive or object.
|
* Checks if `value` is classified as a `String` primitive or object.
|
||||||
*
|
*
|
||||||
@@ -10194,6 +10312,46 @@
|
|||||||
return value === undefined;
|
return value === undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is classified as a `WeakMap` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isWeakMap(new WeakMap);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isWeakMap(new Map);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isWeakMap(value) {
|
||||||
|
return isObjectLike(value) && getTag(value) == weakMapTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if `value` is classified as a `WeakSet` object.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Lang
|
||||||
|
* @param {*} value The value to check.
|
||||||
|
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.isWeakSet(new WeakSet);
|
||||||
|
* // => true
|
||||||
|
*
|
||||||
|
* _.isWeakSet(new Set);
|
||||||
|
* // => false
|
||||||
|
*/
|
||||||
|
function isWeakSet(value) {
|
||||||
|
return isObjectLike(value) && objectToString.call(value) == weakSetTag;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if `value` is less than `other`.
|
* Checks if `value` is less than `other`.
|
||||||
*
|
*
|
||||||
@@ -10628,7 +10786,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an object that inherits from the `prototype` object. If a `properties`
|
* Creates an object that inherits from the `prototype` object. If a `properties`
|
||||||
* object is provided its own enumerable properties are assigned to the created object.
|
* object is given its own enumerable properties are assigned to the created object.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
@@ -12394,7 +12552,7 @@
|
|||||||
* in "interpolate" delimiters, HTML-escape interpolated data properties in
|
* in "interpolate" delimiters, HTML-escape interpolated data properties in
|
||||||
* "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data
|
* "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data
|
||||||
* properties may be accessed as free variables in the template. If a setting
|
* properties may be accessed as free variables in the template. If a setting
|
||||||
* object is provided it takes precedence over `_.templateSettings` values.
|
* object is given it takes precedence over `_.templateSettings` values.
|
||||||
*
|
*
|
||||||
* **Note:** In the development build `_.template` utilizes
|
* **Note:** In the development build `_.template` utilizes
|
||||||
* [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
|
* [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
|
||||||
@@ -13072,9 +13230,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a function that returns the result of invoking the provided
|
* Creates a function that returns the result of invoking the given functions
|
||||||
* functions with the `this` binding of the created function, where each
|
* with the `this` binding of the created function, where each successive
|
||||||
* successive invocation is supplied the return value of the previous.
|
* invocation is supplied the return value of the previous.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
@@ -13095,7 +13253,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is like `_.flow` except that it creates a function that
|
* This method is like `_.flow` except that it creates a function that
|
||||||
* invokes the provided functions from right to left.
|
* invokes the given functions from right to left.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
@@ -13115,7 +13273,7 @@
|
|||||||
var flowRight = createFlow(true);
|
var flowRight = createFlow(true);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method returns the first argument provided to it.
|
* This method returns the first argument given to it.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
@@ -13667,7 +13825,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates a unique ID. If `prefix` is provided the ID is appended to it.
|
* Generates a unique ID. If `prefix` is given the ID is appended to it.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
@@ -13705,6 +13863,9 @@
|
|||||||
*/
|
*/
|
||||||
function add(augend, addend) {
|
function add(augend, addend) {
|
||||||
var result;
|
var result;
|
||||||
|
if (augend === undefined && addend === undefined) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
if (augend !== undefined) {
|
if (augend !== undefined) {
|
||||||
result = augend;
|
result = augend;
|
||||||
}
|
}
|
||||||
@@ -13915,6 +14076,9 @@
|
|||||||
*/
|
*/
|
||||||
function subtract(minuend, subtrahend) {
|
function subtract(minuend, subtrahend) {
|
||||||
var result;
|
var result;
|
||||||
|
if (minuend === undefined && subtrahend === undefined) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
if (minuend !== undefined) {
|
if (minuend !== undefined) {
|
||||||
result = minuend;
|
result = minuend;
|
||||||
}
|
}
|
||||||
@@ -14201,9 +14365,11 @@
|
|||||||
lodash.invoke = invoke;
|
lodash.invoke = invoke;
|
||||||
lodash.isArguments = isArguments;
|
lodash.isArguments = isArguments;
|
||||||
lodash.isArray = isArray;
|
lodash.isArray = isArray;
|
||||||
|
lodash.isArrayBuffer = isArrayBuffer;
|
||||||
lodash.isArrayLike = isArrayLike;
|
lodash.isArrayLike = isArrayLike;
|
||||||
lodash.isArrayLikeObject = isArrayLikeObject;
|
lodash.isArrayLikeObject = isArrayLikeObject;
|
||||||
lodash.isBoolean = isBoolean;
|
lodash.isBoolean = isBoolean;
|
||||||
|
lodash.isBuffer = isBuffer;
|
||||||
lodash.isDate = isDate;
|
lodash.isDate = isDate;
|
||||||
lodash.isElement = isElement;
|
lodash.isElement = isElement;
|
||||||
lodash.isEmpty = isEmpty;
|
lodash.isEmpty = isEmpty;
|
||||||
@@ -14214,6 +14380,7 @@
|
|||||||
lodash.isFunction = isFunction;
|
lodash.isFunction = isFunction;
|
||||||
lodash.isInteger = isInteger;
|
lodash.isInteger = isInteger;
|
||||||
lodash.isLength = isLength;
|
lodash.isLength = isLength;
|
||||||
|
lodash.isMap = isMap;
|
||||||
lodash.isMatch = isMatch;
|
lodash.isMatch = isMatch;
|
||||||
lodash.isMatchWith = isMatchWith;
|
lodash.isMatchWith = isMatchWith;
|
||||||
lodash.isNaN = isNaN;
|
lodash.isNaN = isNaN;
|
||||||
@@ -14226,10 +14393,13 @@
|
|||||||
lodash.isPlainObject = isPlainObject;
|
lodash.isPlainObject = isPlainObject;
|
||||||
lodash.isRegExp = isRegExp;
|
lodash.isRegExp = isRegExp;
|
||||||
lodash.isSafeInteger = isSafeInteger;
|
lodash.isSafeInteger = isSafeInteger;
|
||||||
|
lodash.isSet = isSet;
|
||||||
lodash.isString = isString;
|
lodash.isString = isString;
|
||||||
lodash.isSymbol = isSymbol;
|
lodash.isSymbol = isSymbol;
|
||||||
lodash.isTypedArray = isTypedArray;
|
lodash.isTypedArray = isTypedArray;
|
||||||
lodash.isUndefined = isUndefined;
|
lodash.isUndefined = isUndefined;
|
||||||
|
lodash.isWeakMap = isWeakMap;
|
||||||
|
lodash.isWeakSet = isWeakSet;
|
||||||
lodash.join = join;
|
lodash.join = join;
|
||||||
lodash.kebabCase = kebabCase;
|
lodash.kebabCase = kebabCase;
|
||||||
lodash.last = last;
|
lodash.last = last;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lodash-amd",
|
"name": "lodash-amd",
|
||||||
"version": "4.2.0",
|
"version": "4.3.0",
|
||||||
"description": "Lodash exported as AMD modules.",
|
"description": "Lodash exported as AMD modules.",
|
||||||
"homepage": "https://lodash.com/custom-builds",
|
"homepage": "https://lodash.com/custom-builds",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|||||||
@@ -39,9 +39,14 @@ define(['./_createWrapper', './_replaceHolders', './rest'], function(createWrapp
|
|||||||
* // => 'hi fred'
|
* // => 'hi fred'
|
||||||
*/
|
*/
|
||||||
var partial = rest(function(func, partials) {
|
var partial = rest(function(func, partials) {
|
||||||
var holders = replaceHolders(partials, partial.placeholder);
|
var placeholder = partial.placeholder,
|
||||||
|
holders = replaceHolders(partials, placeholder);
|
||||||
|
|
||||||
return createWrapper(func, PARTIAL_FLAG, undefined, partials, holders);
|
return createWrapper(func, PARTIAL_FLAG, undefined, partials, holders);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Assign default placeholders.
|
||||||
|
partial.placeholder = {};
|
||||||
|
|
||||||
return partial;
|
return partial;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -38,9 +38,14 @@ define(['./_createWrapper', './_replaceHolders', './rest'], function(createWrapp
|
|||||||
* // => 'hello fred'
|
* // => 'hello fred'
|
||||||
*/
|
*/
|
||||||
var partialRight = rest(function(func, partials) {
|
var partialRight = rest(function(func, partials) {
|
||||||
var holders = replaceHolders(partials, partialRight.placeholder);
|
var placeholder = partialRight.placeholder,
|
||||||
|
holders = replaceHolders(partials, placeholder);
|
||||||
|
|
||||||
return createWrapper(func, PARTIAL_RIGHT_FLAG, undefined, partials, holders);
|
return createWrapper(func, PARTIAL_RIGHT_FLAG, undefined, partials, holders);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Assign default placeholders.
|
||||||
|
partialRight.placeholder = {};
|
||||||
|
|
||||||
return partialRight;
|
return partialRight;
|
||||||
});
|
});
|
||||||
|
|||||||
2
pull.js
2
pull.js
@@ -1,7 +1,7 @@
|
|||||||
define(['./pullAll', './rest'], function(pullAll, rest) {
|
define(['./pullAll', './rest'], function(pullAll, rest) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes all provided values from `array` using
|
* Removes all given values from `array` using
|
||||||
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
||||||
* for equality comparisons.
|
* for equality comparisons.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ define(['./_baseIteratee', './_basePullAllBy'], function(baseIteratee, basePullA
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is like `_.pullAll` except that it accepts `iteratee` which is
|
* This method is like `_.pullAll` except that it accepts `iteratee` which is
|
||||||
* invoked for each element of `array` and `values` to to generate the criterion
|
* invoked for each element of `array` and `values` to generate the criterion
|
||||||
* by which uniqueness is computed. The iteratee is invoked with one argument: (value).
|
* by which uniqueness is computed. The iteratee is invoked with one argument: (value).
|
||||||
*
|
*
|
||||||
* **Note:** Unlike `_.differenceBy`, this method mutates `array`.
|
* **Note:** Unlike `_.differenceBy`, this method mutates `array`.
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ define(['./_arrayReduce', './_baseEach', './_baseIteratee', './_baseReduce', './
|
|||||||
* Reduces `collection` to a value which is the accumulated result of running
|
* Reduces `collection` to a value which is the accumulated result of running
|
||||||
* each element in `collection` through `iteratee`, where each successive
|
* each element in `collection` through `iteratee`, where each successive
|
||||||
* invocation is supplied the return value of the previous. If `accumulator`
|
* invocation is supplied the return value of the previous. If `accumulator`
|
||||||
* is not provided the first element of `collection` is used as the initial
|
* is not given the first element of `collection` is used as the initial
|
||||||
* value. The iteratee is invoked with four arguments:
|
* value. The iteratee is invoked with four arguments:
|
||||||
* (accumulator, value, index|key, collection).
|
* (accumulator, value, index|key, collection).
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ define([], function() {
|
|||||||
*/
|
*/
|
||||||
function subtract(minuend, subtrahend) {
|
function subtract(minuend, subtrahend) {
|
||||||
var result;
|
var result;
|
||||||
|
if (minuend === undefined && subtrahend === undefined) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
if (minuend !== undefined) {
|
if (minuend !== undefined) {
|
||||||
result = minuend;
|
result = minuend;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ define(['./_assignInDefaults', './assignInWith', './attempt', './_baseValues', '
|
|||||||
* in "interpolate" delimiters, HTML-escape interpolated data properties in
|
* in "interpolate" delimiters, HTML-escape interpolated data properties in
|
||||||
* "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data
|
* "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data
|
||||||
* properties may be accessed as free variables in the template. If a setting
|
* properties may be accessed as free variables in the template. If a setting
|
||||||
* object is provided it takes precedence over `_.templateSettings` values.
|
* object is given it takes precedence over `_.templateSettings` values.
|
||||||
*
|
*
|
||||||
* **Note:** In the development build `_.template` utilizes
|
* **Note:** In the development build `_.template` utilizes
|
||||||
* [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
|
* [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ define(['./debounce', './isObject'], function(debounce, isObject) {
|
|||||||
* result of the last `func` invocation.
|
* result of the last `func` invocation.
|
||||||
*
|
*
|
||||||
* **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
|
* **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
|
||||||
* on the trailing edge of the timeout only if the the throttled function is
|
* on the trailing edge of the timeout only if the throttled function is
|
||||||
* invoked more than once during the `wait` timeout.
|
* invoked more than once during the `wait` timeout.
|
||||||
*
|
*
|
||||||
* See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
|
* See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
|
||||||
|
|||||||
4
union.js
4
union.js
@@ -1,8 +1,8 @@
|
|||||||
define(['./_baseFlatten', './_baseUniq', './rest'], function(baseFlatten, baseUniq, rest) {
|
define(['./_baseFlatten', './_baseUniq', './rest'], function(baseFlatten, baseUniq, rest) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an array of unique values, in order, from all of the provided arrays
|
* Creates an array of unique values, in order, from all given arrays using
|
||||||
* using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
||||||
* for equality comparisons.
|
* for equality comparisons.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ define(['./toString'], function(toString) {
|
|||||||
var idCounter = 0;
|
var idCounter = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates a unique ID. If `prefix` is provided the ID is appended to it.
|
* Generates a unique ID. If `prefix` is given the ID is appended to it.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
define(['./_baseDifference', './isArrayLikeObject', './rest'], function(baseDifference, isArrayLikeObject, rest) {
|
define(['./_baseDifference', './isArrayLikeObject', './rest'], function(baseDifference, isArrayLikeObject, rest) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an array excluding all provided values using
|
* Creates an array excluding all given values using
|
||||||
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
|
||||||
* for equality comparisons.
|
* for equality comparisons.
|
||||||
*
|
*
|
||||||
|
|||||||
2
xor.js
2
xor.js
@@ -2,7 +2,7 @@ define(['./_arrayFilter', './_baseXor', './isArrayLikeObject', './rest'], functi
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an array of unique values that is the [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)
|
* Creates an array of unique values that is the [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)
|
||||||
* of the provided arrays.
|
* of the given arrays.
|
||||||
*
|
*
|
||||||
* @static
|
* @static
|
||||||
* @memberOf _
|
* @memberOf _
|
||||||
|
|||||||
Reference in New Issue
Block a user