Socket
Socket
Sign inDemoInstall

lodash

Package Overview
Dependencies
Maintainers
4
Versions
114
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lodash - npm Package Compare versions

Comparing version 4.6.1 to 4.7.0

_baseCastKey.js

3

_arrayEvery.js

@@ -8,3 +8,4 @@ /**

* @param {Function} predicate The function invoked per iteration.
* @returns {boolean} Returns `true` if all elements pass the predicate check, else `false`.
* @returns {boolean} Returns `true` if all elements pass the predicate check,
* else `false`.
*/

@@ -11,0 +12,0 @@ function arrayEvery(array, predicate) {

@@ -9,3 +9,4 @@ /**

* @param {*} [accumulator] The initial value.
* @param {boolean} [initAccum] Specify using the first element of `array` as the initial value.
* @param {boolean} [initAccum] Specify using the first element of `array` as
* the initial value.
* @returns {*} Returns the accumulated value.

@@ -12,0 +13,0 @@ */

@@ -9,3 +9,4 @@ /**

* @param {*} [accumulator] The initial value.
* @param {boolean} [initAccum] Specify using the last element of `array` as the initial value.
* @param {boolean} [initAccum] Specify using the last element of `array` as
* the initial value.
* @returns {*} Returns the accumulated value.

@@ -12,0 +13,0 @@ */

@@ -8,3 +8,4 @@ /**

* @param {Function} predicate The function invoked per iteration.
* @returns {boolean} Returns `true` if any element passes the predicate check, else `false`.
* @returns {boolean} Returns `true` if any element passes the predicate check,
* else `false`.
*/

@@ -11,0 +12,0 @@ function arraySome(array, predicate) {

@@ -13,3 +13,3 @@ var assocIndexOf = require('./_assocIndexOf');

* @private
* @param {Array} array The array to query.
* @param {Array} array The array to modify.
* @param {string} key The key of the value to remove.

@@ -16,0 +16,0 @@ * @returns {boolean} Returns `true` if the entry was removed, else `false`.

var eq = require('./eq');
/**
* Gets the index at which the first occurrence of `key` is found in `array`
* of key-value pairs.
* Gets the index at which the `key` is found in `array` of key-value pairs.
*

@@ -7,0 +6,0 @@ * @private

@@ -8,3 +8,3 @@ var isArrayLikeObject = require('./isArrayLikeObject');

* @param {*} value The value to inspect.
* @returns {Array} Returns the array-like object.
* @returns {Array|Object} Returns the cast array-like object.
*/

@@ -11,0 +11,0 @@ function baseCastArrayLikeObject(value) {

@@ -8,3 +8,3 @@ var identity = require('./identity');

* @param {*} value The value to inspect.
* @returns {Array} Returns the array-like object.
* @returns {Function} Returns cast function.
*/

@@ -11,0 +11,0 @@ function baseCastFunction(value) {

@@ -5,6 +5,6 @@ var Stack = require('./_Stack'),

baseAssign = require('./_baseAssign'),
baseForOwn = require('./_baseForOwn'),
cloneBuffer = require('./_cloneBuffer'),
copyArray = require('./_copyArray'),
copySymbols = require('./_copySymbols'),
getAllKeys = require('./_getAllKeys'),
getTag = require('./_getTag'),

@@ -17,3 +17,4 @@ initCloneArray = require('./_initCloneArray'),

isHostObject = require('./_isHostObject'),
isObject = require('./isObject');
isObject = require('./isObject'),
keys = require('./keys');

@@ -38,2 +39,3 @@ /** `Object#toString` result references. */

var arrayBufferTag = '[object ArrayBuffer]',
dataViewTag = '[object DataView]',
float32Tag = '[object Float32Array]',

@@ -52,12 +54,12 @@ float64Tag = '[object Float64Array]',

cloneableTags[argsTag] = cloneableTags[arrayTag] =
cloneableTags[arrayBufferTag] = cloneableTags[boolTag] =
cloneableTags[dateTag] = cloneableTags[float32Tag] =
cloneableTags[float64Tag] = cloneableTags[int8Tag] =
cloneableTags[int16Tag] = cloneableTags[int32Tag] =
cloneableTags[mapTag] = cloneableTags[numberTag] =
cloneableTags[objectTag] = cloneableTags[regexpTag] =
cloneableTags[setTag] = cloneableTags[stringTag] =
cloneableTags[symbolTag] = cloneableTags[uint8Tag] =
cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] =
cloneableTags[uint32Tag] = true;
cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =
cloneableTags[boolTag] = cloneableTags[dateTag] =
cloneableTags[float32Tag] = cloneableTags[float64Tag] =
cloneableTags[int8Tag] = cloneableTags[int16Tag] =
cloneableTags[int32Tag] = cloneableTags[mapTag] =
cloneableTags[numberTag] = cloneableTags[objectTag] =
cloneableTags[regexpTag] = cloneableTags[setTag] =
cloneableTags[stringTag] = cloneableTags[symbolTag] =
cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
cloneableTags[errorTag] = cloneableTags[funcTag] =

@@ -110,4 +112,3 @@ cloneableTags[weakMapTag] = false;

if (!isDeep) {
result = baseAssign(result, value);
return isFull ? copySymbols(value, result) : result;
return copySymbols(value, baseAssign(result, value));
}

@@ -118,3 +119,3 @@ } else {

}
result = initCloneByTag(value, tag, isDeep);
result = initCloneByTag(value, tag, baseClone, isDeep);
}

@@ -130,9 +131,16 @@ }

if (!isArr) {
var props = isFull ? getAllKeys(value) : keys(value);
}
// Recursively populate clone (susceptible to call stack limits).
(isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {
arrayEach(props || value, function(subValue, key) {
if (props) {
key = subValue;
subValue = value[key];
}
assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));
});
return (isFull && !isArr) ? copySymbols(value, result) : result;
return result;
}
module.exports = baseClone;

@@ -24,3 +24,4 @@ var keys = require('./keys');

if ((value === undefined && !(key in Object(object))) || !predicate(value)) {
if ((value === undefined &&
!(key in Object(object))) || !predicate(value)) {
return false;

@@ -27,0 +28,0 @@ }

@@ -12,4 +12,4 @@ var SetCache = require('./_SetCache'),

/**
* The base implementation of methods like `_.difference` without support for
* excluding multiple arrays or iteratee shorthands.
* The base implementation of methods like `_.difference` without support
* for excluding multiple arrays or iteratee shorthands.
*

@@ -16,0 +16,0 @@ * @private

@@ -9,3 +9,4 @@ var baseEach = require('./_baseEach');

* @param {Function} predicate The function invoked per iteration.
* @returns {boolean} Returns `true` if all elements pass the predicate check, else `false`
* @returns {boolean} Returns `true` if all elements pass the predicate check,
* else `false`
*/

@@ -12,0 +13,0 @@ function baseEvery(collection, predicate) {

@@ -10,3 +10,4 @@ /**

* @param {Function} eachFunc The function to iterate over `collection`.
* @param {boolean} [retKey] Specify returning the key of the found element instead of the element itself.
* @param {boolean} [retKey] Specify returning the key of the found element
* instead of the element itself.
* @returns {*} Returns the found element or its key, else `undefined`.

@@ -13,0 +14,0 @@ */

var createBaseFor = require('./_createBaseFor');
/**
* The base implementation of `baseForIn` and `baseForOwn` which iterates
* over `object` properties returned by `keysFunc` invoking `iteratee` for
* each property. Iteratee functions may exit iteration early by explicitly
* returning `false`.
* The base implementation of `baseForOwn` which iterates over `object`
* properties returned by `keysFunc` invoking `iteratee` for each property.
* Iteratee functions may exit iteration early by explicitly returning `false`.
*

@@ -9,0 +8,0 @@ * @private

@@ -13,3 +13,3 @@ var baseCastPath = require('./_baseCastPath'),

function baseGet(object, path) {
path = isKey(path, object) ? [path + ''] : baseCastPath(path);
path = isKey(path, object) ? [path] : baseCastPath(path);

@@ -16,0 +16,0 @@ var index = 0,

@@ -0,1 +1,3 @@

var getPrototype = require('./_getPrototype');
/** Used for built-in method references. */

@@ -7,5 +9,2 @@ var objectProto = Object.prototype;

/** Built-in value references. */
var getPrototypeOf = Object.getPrototypeOf;
/**

@@ -24,5 +23,5 @@ * The base implementation of `_.has` without support for deep paths.

return hasOwnProperty.call(object, key) ||
(typeof object == 'object' && key in object && getPrototypeOf(object) === null);
(typeof object == 'object' && key in object && getPrototype(object) === null);
}
module.exports = baseHas;

@@ -34,3 +34,4 @@ var Stack = require('./_Stack'),

* @param {Function} [customizer] The function to customize comparisons.
* @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual` for more details.
* @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`
* for more details.
* @param {Object} [stack] Tracks traversed `object` and `other` objects.

@@ -68,4 +69,7 @@ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.

if (objIsWrapped || othIsWrapped) {
var objUnwrapped = objIsWrapped ? object.value() : object,
othUnwrapped = othIsWrapped ? other.value() : other;
stack || (stack = new Stack);
return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, bitmask, stack);
return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);
}

@@ -72,0 +76,0 @@ }

@@ -47,5 +47,6 @@ var Stack = require('./_Stack'),

} else {
var stack = new Stack,
result = customizer ? customizer(objValue, srcValue, key, object, source, stack) : undefined;
var stack = new Stack;
if (customizer) {
var result = customizer(objValue, srcValue, key, object, source, stack);
}
if (!(result === undefined

@@ -52,0 +53,0 @@ ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)

@@ -15,4 +15,5 @@ var baseMatches = require('./_baseMatches'),

function baseIteratee(value) {
var type = typeof value;
if (type == 'function') {
// Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
// See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
if (typeof value == 'function') {
return value;

@@ -23,3 +24,3 @@ }

}
if (type == 'object') {
if (typeof value == 'object') {
return isArray(value)

@@ -26,0 +27,0 @@ ? baseMatchesProperty(value[0], value[1])

/**
* The function whose prototype all chaining wrappers inherit from.
* The function whose prototype chain sequence wrappers inherit from.
*

@@ -4,0 +4,0 @@ * @private

@@ -18,3 +18,4 @@ var Stack = require('./_Stack'),

* @param {Function} [customizer] The function to customize merged values.
* @param {Object} [stack] Tracks traversed source values and their merged counterparts.
* @param {Object} [stack] Tracks traversed source values and their merged
* counterparts.
*/

@@ -25,6 +26,5 @@ function baseMerge(object, source, srcIndex, customizer, stack) {

}
var props = (isArray(source) || isTypedArray(source))
? undefined
: keysIn(source);
if (!(isArray(source) || isTypedArray(source))) {
var props = keysIn(source);
}
arrayEach(props || source, function(srcValue, key) {

@@ -31,0 +31,0 @@ if (props) {

@@ -25,3 +25,4 @@ var assignMergeValue = require('./_assignMergeValue'),

* @param {Function} [customizer] The function to customize assigned values.
* @param {Object} [stack] Tracks traversed source values and their merged counterparts.
* @param {Object} [stack] Tracks traversed source values and their merged
* counterparts.
*/

@@ -54,3 +55,3 @@ function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {

isCommon = false;
newValue = baseClone(srcValue, !customizer);
newValue = baseClone(srcValue, true);
}

@@ -64,3 +65,3 @@ }

isCommon = false;
newValue = baseClone(srcValue, !customizer);
newValue = baseClone(srcValue, true);
}

@@ -67,0 +68,0 @@ else {

@@ -5,3 +5,4 @@ var arrayMap = require('./_arrayMap'),

baseSortBy = require('./_baseSortBy'),
compareMultiple = require('./_compareMultiple');
compareMultiple = require('./_compareMultiple'),
identity = require('./identity');

@@ -19,3 +20,3 @@ /**

var index = -1;
iteratees = arrayMap(iteratees.length ? iteratees : Array(1), baseIteratee);
iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseIteratee);

@@ -22,0 +23,0 @@ var result = baseMap(collection, function(value, key, collection) {

@@ -5,7 +5,7 @@ var arrayReduce = require('./_arrayReduce');

* The base implementation of `_.pick` without support for individual
* property names.
* property identifiers.
*
* @private
* @param {Object} object The source object.
* @param {string[]} props The property names to pick.
* @param {string[]} props The property identifiers to pick.
* @returns {Object} Returns the new object.

@@ -12,0 +12,0 @@ */

@@ -1,2 +0,2 @@

var baseForIn = require('./_baseForIn');
var getAllKeysIn = require('./_getAllKeysIn');

@@ -12,8 +12,15 @@ /**

function basePickBy(object, predicate) {
var result = {};
baseForIn(object, function(value, key) {
var index = -1,
props = getAllKeysIn(object),
length = props.length,
result = {};
while (++index < length) {
var key = props[index],
value = object[key];
if (predicate(value, key)) {
result[key] = value;
}
});
}
return result;

@@ -20,0 +27,0 @@ }

@@ -9,3 +9,4 @@ /**

* @param {*} accumulator The initial value.
* @param {boolean} initAccum Specify using the first or last element of `collection` as the initial value.
* @param {boolean} initAccum Specify using the first or last element of
* `collection` as the initial value.
* @param {Function} eachFunc The function to iterate over `collection`.

@@ -12,0 +13,0 @@ * @returns {*} Returns the accumulated value.

@@ -18,3 +18,3 @@ var assignValue = require('./_assignValue'),

function baseSet(object, path, value, customizer) {
path = isKey(path, object) ? [path + ''] : baseCastPath(path);
path = isKey(path, object) ? [path] : baseCastPath(path);

@@ -21,0 +21,0 @@ var index = -1,

@@ -9,3 +9,4 @@ var baseEach = require('./_baseEach');

* @param {Function} predicate The function invoked per iteration.
* @returns {boolean} Returns `true` if any element passes the predicate check, else `false`.
* @returns {boolean} Returns `true` if any element passes the predicate check,
* else `false`.
*/

@@ -12,0 +13,0 @@ function baseSome(collection, predicate) {

@@ -19,3 +19,4 @@ /** Used as references for the maximum length and index of an array. */

* @param {boolean} [retHighest] Specify returning the highest qualified index.
* @returns {number} Returns the index at which `value` should be inserted into `array`.
* @returns {number} Returns the index at which `value` should be inserted
* into `array`.
*/

@@ -22,0 +23,0 @@ function baseSortedIndexBy(array, value, iteratee, retHighest) {

/**
* The base implementation of `_.sum` without support for iteratee shorthands.
* The base implementation of `_.sum` and `_.sumBy` without support for
* iteratee shorthands.
*

@@ -4,0 +5,0 @@ * @private

@@ -16,3 +16,3 @@ var baseCastPath = require('./_baseCastPath'),

function baseUnset(object, path) {
path = isKey(path, object) ? [path + ''] : baseCastPath(path);
path = isKey(path, object) ? [path] : baseCastPath(path);
object = parent(object, path);

@@ -19,0 +19,0 @@ var key = last(path);

@@ -5,3 +5,3 @@ /**

* @private
* @param {Array} props The property names.
* @param {Array} props The property identifiers.
* @param {Array} values The property values.

@@ -18,3 +18,4 @@ * @param {Function} assignFunc The function to assign values.

while (++index < length) {
assignFunc(result, props[index], index < valsLength ? values[index] : undefined);
var value = index < valsLength ? values[index] : undefined;
assignFunc(result, props[index], value);
}

@@ -21,0 +22,0 @@ return result;

@@ -10,8 +10,11 @@ var addMapEntry = require('./_addMapEntry'),

* @param {Object} map The map to clone.
* @param {Function} cloneFunc The function to clone values.
* @param {boolean} [isDeep] Specify a deep clone.
* @returns {Object} Returns the cloned map.
*/
function cloneMap(map) {
return arrayReduce(mapToArray(map), addMapEntry, new map.constructor);
function cloneMap(map, isDeep, cloneFunc) {
var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);
return arrayReduce(array, addMapEntry, new map.constructor);
}
module.exports = cloneMap;

@@ -10,8 +10,11 @@ var addSetEntry = require('./_addSetEntry'),

* @param {Object} set The set to clone.
* @param {Function} cloneFunc The function to clone values.
* @param {boolean} [isDeep] Specify a deep clone.
* @returns {Object} Returns the cloned set.
*/
function cloneSet(set) {
return arrayReduce(setToArray(set), addSetEntry, new set.constructor);
function cloneSet(set, isDeep, cloneFunc) {
var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);
return arrayReduce(array, addSetEntry, new set.constructor);
}
module.exports = cloneSet;

@@ -40,3 +40,3 @@ var compareAscending = require('./_compareAscending');

// This also ensures a stable sort in V8 and other engines.
// See https://code.google.com/p/v8/issues/detail?id=90 for more details.
// See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.
return object.index - other.index;

@@ -43,0 +43,0 @@ }

@@ -8,3 +8,3 @@ var copyObjectWith = require('./_copyObjectWith');

* @param {Object} source The object to copy properties from.
* @param {Array} props The property names to copy.
* @param {Array} props The property identifiers to copy.
* @param {Object} [object={}] The object to copy properties to.

@@ -11,0 +11,0 @@ * @returns {Object} Returns `object`.

@@ -9,3 +9,3 @@ var assignValue = require('./_assignValue');

* @param {Object} source The object to copy properties from.
* @param {Array} props The property names to copy.
* @param {Array} props The property identifiers to copy.
* @param {Object} [object={}] The object to copy properties to.

@@ -12,0 +12,0 @@ * @param {Function} [customizer] The function to customize copied values.

/**
* Creates a base function for methods like `_.forIn`.
* Creates a base function for methods like `_.forIn` and `_.forOwn`.
*

@@ -4,0 +4,0 @@ * @private

@@ -13,3 +13,4 @@ var createCtorWrapper = require('./_createCtorWrapper'),

* @param {Function} func The function to wrap.
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper` for more details.
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper`
* for more details.
* @param {*} [thisArg] The `this` binding of `func`.

@@ -16,0 +17,0 @@ * @returns {Function} Returns the new wrapped function.

@@ -14,3 +14,4 @@ var apply = require('./_apply'),

* @param {Function} func The function to wrap.
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper` for more details.
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper`
* for more details.
* @param {number} arity The arity of `func`.

@@ -17,0 +18,0 @@ * @returns {Function} Returns the new wrapped function.

@@ -61,3 +61,5 @@ var LodashWrapper = require('./_LodashWrapper'),

} else {
wrapper = (func.length == 1 && isLaziable(func)) ? wrapper[funcName]() : wrapper.thru(func);
wrapper = (func.length == 1 && isLaziable(func))
? wrapper[funcName]()
: wrapper.thru(func);
}

@@ -64,0 +66,0 @@ }

@@ -25,7 +25,10 @@ var composeArgs = require('./_composeArgs'),

* @param {Function|string} func The function or method name to wrap.
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper` for more details.
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper`
* for more details.
* @param {*} [thisArg] The `this` binding of `func`.
* @param {Array} [partials] The arguments to prepend to those provided to the new function.
* @param {Array} [partials] The arguments to prepend to those provided to
* the new function.
* @param {Array} [holders] The `partials` placeholder indexes.
* @param {Array} [partialsRight] The arguments to append to those provided to the new function.
* @param {Array} [partialsRight] The arguments to append to those provided
* to the new function.
* @param {Array} [holdersRight] The `partialsRight` placeholder indexes.

@@ -32,0 +35,0 @@ * @param {Array} [argPos] The argument positions of the new function.

@@ -1,5 +0,4 @@

var repeat = require('./repeat'),
var baseRepeat = require('./_baseRepeat'),
stringSize = require('./_stringSize'),
stringToArray = require('./_stringToArray'),
toInteger = require('./toInteger');
stringToArray = require('./_stringToArray');

@@ -26,23 +25,19 @@ /** Used to compose unicode character classes. */

* @private
* @param {string} string The string to create padding for.
* @param {number} [length=0] The padding length.
* @param {number} length The padding length.
* @param {string} [chars=' '] The string used as padding.
* @returns {string} Returns the padding for `string`.
*/
function createPadding(string, length, chars) {
length = toInteger(length);
function createPadding(length, chars) {
chars = chars === undefined ? ' ' : (chars + '');
var strLength = stringSize(string);
if (!length || strLength >= length) {
return '';
var charsLength = chars.length;
if (charsLength < 2) {
return charsLength ? baseRepeat(chars, length) : chars;
}
var padLength = length - strLength;
chars = chars === undefined ? ' ' : (chars + '');
var result = repeat(chars, nativeCeil(padLength / stringSize(chars)));
var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));
return reHasComplexSymbol.test(chars)
? stringToArray(result).slice(0, padLength).join('')
: result.slice(0, padLength);
? stringToArray(result).slice(0, length).join('')
: result.slice(0, length);
}
module.exports = createPadding;

@@ -15,5 +15,7 @@ var apply = require('./_apply'),

* @param {Function} func The function to wrap.
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper` for more details.
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper`
* for more details.
* @param {*} thisArg The `this` binding of `func`.
* @param {Array} partials The arguments to prepend to those provided to the new function.
* @param {Array} partials The arguments to prepend to those provided to
* the new function.
* @returns {Function} Returns the new wrapped function.

@@ -20,0 +22,0 @@ */

@@ -18,7 +18,9 @@ var copyArray = require('./_copyArray'),

* @param {Function} func The function to wrap.
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper` for more details.
* @param {number} bitmask The bitmask of wrapper flags. See `createWrapper`
* for more details.
* @param {Function} wrapFunc The function to create the `func` wrapper.
* @param {*} placeholder The placeholder value.
* @param {*} [thisArg] The `this` binding of `func`.
* @param {Array} [partials] The arguments to prepend to those provided to the new function.
* @param {Array} [partials] The arguments to prepend to those provided to
* the new function.
* @param {Array} [holders] The `partials` placeholder indexes.

@@ -25,0 +27,0 @@ * @param {Array} [argPos] The argument positions of the new function.

@@ -16,3 +16,4 @@ var arraySome = require('./_arraySome');

* @param {Function} customizer The function to customize comparisons.
* @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` for more details.
* @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
* for more details.
* @param {Object} stack Tracks traversed `array` and `other` objects.

@@ -59,3 +60,4 @@ * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.

if (!arraySome(other, function(othValue) {
return arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack);
return arrValue === othValue ||
equalFunc(arrValue, othValue, customizer, bitmask, stack);
})) {

@@ -65,3 +67,6 @@ result = false;

}
} else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {
} else if (!(
arrValue === othValue ||
equalFunc(arrValue, othValue, customizer, bitmask, stack)
)) {
result = false;

@@ -68,0 +73,0 @@ break;

@@ -22,3 +22,4 @@ var Symbol = require('./_Symbol'),

var arrayBufferTag = '[object ArrayBuffer]';
var arrayBufferTag = '[object ArrayBuffer]',
dataViewTag = '[object DataView]';

@@ -42,3 +43,4 @@ /** Used to convert symbols to primitives and strings. */

* @param {Function} customizer The function to customize comparisons.
* @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` for more details.
* @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
* for more details.
* @param {Object} stack Tracks traversed `object` and `other` objects.

@@ -49,2 +51,10 @@ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.

switch (tag) {
case dataViewTag:
if ((object.byteLength != other.byteLength) ||
(object.byteOffset != other.byteOffset)) {
return false;
}
object = object.buffer;
other = other.buffer;
case arrayBufferTag:

@@ -59,4 +69,5 @@ if ((object.byteLength != other.byteLength) ||

case dateTag:
// Coerce dates and booleans to numbers, dates to milliseconds and booleans
// to `1` or `0` treating invalid dates coerced to `NaN` as not equal.
// Coerce dates and booleans to numbers, dates to milliseconds and
// booleans to `1` or `0` treating invalid dates coerced to `NaN` as
// not equal.
return +object == +other;

@@ -73,4 +84,4 @@

case stringTag:
// Coerce regexes to strings and treat strings primitives and string
// objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.
// Coerce regexes to strings and treat strings, primitives and objects,
// as equal. See https://es5.github.io/#x15.10.6.4 for more details.
return object == (other + '');

@@ -93,4 +104,7 @@

}
bitmask |= UNORDERED_COMPARE_FLAG;
stack.set(object, other);
// Recursively compare objects (susceptible to call stack limits).
return equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask | UNORDERED_COMPARE_FLAG, stack.set(object, other));
return equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);

@@ -97,0 +111,0 @@ case symbolTag:

@@ -16,3 +16,4 @@ var baseHas = require('./_baseHas'),

* @param {Function} customizer The function to customize comparisons.
* @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` for more details.
* @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
* for more details.
* @param {Object} stack Tracks traversed `object` and `other` objects.

@@ -19,0 +20,0 @@ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.

@@ -6,4 +6,5 @@ var baseProperty = require('./_baseProperty');

*
* **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
* that affects Safari on at least iOS 8.1-8.3 ARM64.
* **Note:** This function is used to avoid a
* [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) that affects
* Safari on at least iOS 8.1-8.3 ARM64.
*

@@ -10,0 +11,0 @@ * @private

@@ -5,3 +5,3 @@ /** Built-in value references. */

/**
* Creates an array of the own symbol properties of `object`.
* Creates an array of the own enumerable symbol properties of `object`.
*

@@ -12,6 +12,15 @@ * @private

*/
var getSymbols = getOwnPropertySymbols || function() {
return [];
};
function getSymbols(object) {
// Coerce `object` to an object to avoid non-object errors in V8.
// See https://bugs.chromium.org/p/v8/issues/detail?id=3443 for more details.
return getOwnPropertySymbols(Object(object));
}
// Fallback for IE < 11.
if (!getOwnPropertySymbols) {
getSymbols = function() {
return [];
};
}
module.exports = getSymbols;

@@ -1,2 +0,4 @@

var Map = require('./_Map'),
var DataView = require('./_DataView'),
Map = require('./_Map'),
Promise = require('./_Promise'),
Set = require('./_Set'),

@@ -8,5 +10,8 @@ WeakMap = require('./_WeakMap');

objectTag = '[object Object]',
promiseTag = '[object Promise]',
setTag = '[object Set]',
weakMapTag = '[object WeakMap]';
var dataViewTag = '[object DataView]';
/** Used for built-in method references. */

@@ -25,3 +30,5 @@ var objectProto = Object.prototype;

/** Used to detect maps, sets, and weakmaps. */
var mapCtorString = Map ? funcToString.call(Map) : '',
var dataViewCtorString = DataView ? (DataView + '') : '',
mapCtorString = Map ? funcToString.call(Map) : '',
promiseCtorString = Promise ? funcToString.call(Promise) : '',
setCtorString = Set ? funcToString.call(Set) : '',

@@ -41,4 +48,7 @@ weakMapCtorString = WeakMap ? funcToString.call(WeakMap) : '';

// Fallback for IE 11 providing `toStringTag` values for maps, sets, and weakmaps.
if ((Map && getTag(new Map) != mapTag) ||
// Fallback for data views, maps, sets, and weak maps in IE 11,
// for data views in Edge, and promises in Node.js.
if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
(Map && getTag(new Map) != mapTag) ||
(Promise && getTag(Promise.resolve()) != promiseTag) ||
(Set && getTag(new Set) != setTag) ||

@@ -53,3 +63,5 @@ (WeakMap && getTag(new WeakMap) != weakMapTag)) {

switch (ctorString) {
case dataViewCtorString: return dataViewTag;
case mapCtorString: return mapTag;
case promiseCtorString: return promiseTag;
case setCtorString: return setTag;

@@ -56,0 +68,0 @@ case weakMapCtorString: return weakMapTag;

@@ -7,5 +7,3 @@ var baseCastPath = require('./_baseCastPath'),

isLength = require('./isLength'),
isString = require('./isString'),
last = require('./last'),
parent = require('./_parent');
isString = require('./isString');

@@ -28,6 +26,12 @@ /**

path = baseCastPath(path);
object = parent(object, path);
if (object != null) {
path = last(path);
result = hasFunc(object, path);
var index = -1,
length = path.length;
while (object != null && ++index < length) {
var key = path[index];
if (!(result = hasFunc(object, key))) {
break;
}
object = object[key];
}

@@ -34,0 +38,0 @@ }

var cloneArrayBuffer = require('./_cloneArrayBuffer'),
cloneDataView = require('./_cloneDataView'),
cloneMap = require('./_cloneMap'),

@@ -19,2 +20,3 @@ cloneRegExp = require('./_cloneRegExp'),

var arrayBufferTag = '[object ArrayBuffer]',
dataViewTag = '[object DataView]',
float32Tag = '[object Float32Array]',

@@ -39,6 +41,7 @@ float64Tag = '[object Float64Array]',

* @param {string} tag The `toStringTag` of the object to clone.
* @param {Function} cloneFunc The function to clone values.
* @param {boolean} [isDeep] Specify a deep clone.
* @returns {Object} Returns the initialized clone.
*/
function initCloneByTag(object, tag, isDeep) {
function initCloneByTag(object, tag, cloneFunc, isDeep) {
var Ctor = object.constructor;

@@ -53,2 +56,5 @@ switch (tag) {

case dataViewTag:
return cloneDataView(object, isDeep);
case float32Tag: case float64Tag:

@@ -60,3 +66,3 @@ case int8Tag: case int16Tag: case int32Tag:

case mapTag:
return cloneMap(object);
return cloneMap(object, isDeep, cloneFunc);

@@ -71,3 +77,3 @@ case numberTag:

case setTag:
return cloneSet(object);
return cloneSet(object, isDeep, cloneFunc);

@@ -74,0 +80,0 @@ case symbolTag:

var baseCreate = require('./_baseCreate'),
getPrototype = require('./_getPrototype'),
isPrototype = require('./_isPrototype');
/** Built-in value references. */
var getPrototypeOf = Object.getPrototypeOf;
/**

@@ -16,3 +14,3 @@ * Initializes an object clone.

return (typeof object.constructor == 'function' && !isPrototype(object))
? baseCreate(getPrototypeOf(object))
? baseCreate(getPrototype(object))
: {};

@@ -19,0 +17,0 @@ }

@@ -13,3 +13,4 @@ var eq = require('./eq'),

* @param {*} object The potential iteratee object argument.
* @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.
* @returns {boolean} Returns `true` if the arguments are from an iteratee call,
* else `false`.
*/

@@ -22,4 +23,5 @@ function isIterateeCall(value, index, object) {

if (type == 'number'
? (isArrayLike(object) && isIndex(index, object.length))
: (type == 'string' && index in object)) {
? (isArrayLike(object) && isIndex(index, object.length))
: (type == 'string' && index in object)
) {
return eq(object[index], value);

@@ -26,0 +28,0 @@ }

@@ -1,2 +0,3 @@

var isArray = require('./isArray');
var isArray = require('./isArray'),
isSymbol = require('./isSymbol');

@@ -16,7 +17,8 @@ /** Used to match property names within property paths. */

function isKey(value, object) {
if (typeof value == 'number') {
var type = typeof value;
if (type == 'number' || type == 'symbol') {
return true;
}
return !isArray(value) &&
(reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
(isSymbol(value) || reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
(object != null && value in Object(object)));

@@ -23,0 +25,0 @@ }

@@ -11,3 +11,4 @@ var LazyWrapper = require('./_LazyWrapper'),

* @param {Function} func The function to check.
* @returns {boolean} Returns `true` if `func` has a lazy counterpart, else `false`.
* @returns {boolean} Returns `true` if `func` has a lazy counterpart,
* else `false`.
*/

@@ -14,0 +15,0 @@ function isLaziable(func) {

@@ -24,2 +24,3 @@ var baseCreate = require('./_baseCreate'),

// Ensure `LazyWrapper` is an instance of `baseLodash`.
LazyWrapper.prototype = baseCreate(baseLodash.prototype);

@@ -26,0 +27,0 @@ LazyWrapper.prototype.constructor = LazyWrapper;

@@ -9,3 +9,3 @@ var baseCreate = require('./_baseCreate'),

* @param {*} value The value to wrap.
* @param {boolean} [chainAll] Enable chaining for all wrapper methods.
* @param {boolean} [chainAll] Enable explicit method chain sequences.
*/

@@ -12,0 +12,0 @@ function LodashWrapper(value, chainAll) {

@@ -25,3 +25,3 @@ var mapClear = require('./_mapClear'),

// Add functions to the `MapCache`.
// Add methods to `MapCache`.
MapCache.prototype.clear = mapClear;

@@ -28,0 +28,0 @@ MapCache.prototype['delete'] = mapDelete;

@@ -14,3 +14,3 @@ var Map = require('./_Map'),

* @param {*} value The value to set.
* @returns {Object} Returns the map cache object.
* @returns {Object} Returns the map cache instance.
*/

@@ -17,0 +17,0 @@ function mapSet(key, value) {

@@ -25,6 +25,7 @@ var composeArgs = require('./_composeArgs'),

* This is possible because methods like `_.bind`, `_.curry`, and `_.partial`
* may be applied regardless of execution order. Methods like `_.ary` and `_.rearg`
* modify function arguments, making the order in which they are executed important,
* preventing the merging of metadata. However, we make an exception for a safe
* combined case where curried functions have `_.ary` and or `_.rearg` applied.
* may be applied regardless of execution order. Methods like `_.ary` and
* `_.rearg` modify function arguments, making the order in which they are
* executed important, preventing the merging of metadata. However, we make
* an exception for a safe combined case where curried functions have `_.ary`
* and or `_.rearg` applied.
*

@@ -31,0 +32,0 @@ * @private

@@ -13,3 +13,4 @@ var baseMerge = require('./_baseMerge'),

* @param {Object} source The parent object of `srcValue`.
* @param {Object} [stack] Tracks traversed source values and their merged counterparts.
* @param {Object} [stack] Tracks traversed source values and their merged
* counterparts.
* @returns {*} Returns the value to assign.

@@ -16,0 +17,0 @@ */

@@ -1,3 +0,3 @@

var baseSlice = require('./_baseSlice'),
get = require('./get');
var baseGet = require('./_baseGet'),
baseSlice = require('./_baseSlice');

@@ -13,5 +13,5 @@ /**

function parent(object, path) {
return path.length == 1 ? object : get(object, baseSlice(path, 0, -1));
return path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
}
module.exports = parent;

@@ -22,5 +22,5 @@ var MapCache = require('./_MapCache'),

// Add functions to the `SetCache`.
// Add methods to `SetCache`.
SetCache.prototype.push = cachePush;
module.exports = SetCache;

@@ -12,4 +12,5 @@ var baseSetData = require('./_baseSetData'),

* **Note:** If this function becomes hot, i.e. is invoked a lot in a short
* period of time, it will trip its breaker and transition to an identity function
* to avoid garbage collection pauses in V8. See [V8 issue 2070](https://code.google.com/p/v8/issues/detail?id=2070)
* period of time, it will trip its breaker and transition to an identity
* function to avoid garbage collection pauses in V8. See
* [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)
* for more details.

@@ -16,0 +17,0 @@ *

@@ -25,3 +25,3 @@ var stackClear = require('./_stackClear'),

// Add functions to the `Stack` cache.
// Add methods to `Stack`.
Stack.prototype.clear = stackClear;

@@ -28,0 +28,0 @@ Stack.prototype['delete'] = stackDelete;

@@ -15,3 +15,3 @@ var MapCache = require('./_MapCache'),

* @param {*} value The value to set.
* @returns {Object} Returns the stack cache object.
* @returns {Object} Returns the stack cache instance.
*/

@@ -18,0 +18,0 @@ function stackSet(key, value) {

@@ -1,2 +0,3 @@

var toString = require('./toString');
var memoize = require('./memoize'),
toString = require('./toString');

@@ -16,3 +17,3 @@ /** Used to match property names within property paths. */

*/
function stringToPath(string) {
var stringToPath = memoize(function(string) {
var result = [];

@@ -23,4 +24,4 @@ toString(string).replace(rePropName, function(match, number, quote, string) {

return result;
}
});
module.exports = stringToPath;

@@ -0,1 +1,3 @@

var createMathOperation = require('./_createMathOperation');
/**

@@ -6,2 +8,3 @@ * Adds two numbers.

* @memberOf _
* @since 3.4.0
* @category Math

@@ -16,16 +19,6 @@ * @param {number} augend The first number in an addition.

*/
function add(augend, addend) {
var result;
if (augend === undefined && addend === undefined) {
return 0;
}
if (augend !== undefined) {
result = augend;
}
if (addend !== undefined) {
result = result === undefined ? addend : (result + addend);
}
return result;
}
var add = createMathOperation(function(augend, addend) {
return augend + addend;
});
module.exports = add;

@@ -12,2 +12,3 @@ var toInteger = require('./toInteger');

* @memberOf _
* @since 0.1.0
* @category Function

@@ -28,3 +29,3 @@ * @param {number} n The number of calls before `func` is invoked.

* });
* // => logs 'done saving!' after the two async saves have completed
* // => Logs 'done saving!' after the two async saves have completed.
*/

@@ -31,0 +32,0 @@ function after(n, func) {

@@ -12,6 +12,7 @@ var createWrapper = require('./_createWrapper');

* @memberOf _
* @since 3.0.0
* @category Function
* @param {Function} func The function to cap arguments for.
* @param {number} [n=func.length] The arity cap.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {Function} Returns the new function.

@@ -18,0 +19,0 @@ * @example

@@ -21,5 +21,5 @@ var assignValue = require('./_assignValue'),

/**
* Assigns own enumerable properties of source objects to the destination
* object. Source objects are applied from left to right. Subsequent sources
* overwrite property assignments of previous sources.
* Assigns own enumerable string keyed properties of source objects to the
* destination object. Source objects are applied from left to right.
* Subsequent sources overwrite property assignments of previous sources.
*

@@ -31,2 +31,3 @@ * **Note:** This method mutates `object` and is loosely based on

* @memberOf _
* @since 0.10.0
* @category Object

@@ -33,0 +34,0 @@ * @param {Object} object The destination object.

@@ -25,2 +25,3 @@ var assignValue = require('./_assignValue'),

* @memberOf _
* @since 4.0.0
* @alias extend

@@ -27,0 +28,0 @@ * @category Object

@@ -6,6 +6,6 @@ var copyObjectWith = require('./_copyObjectWith'),

/**
* This method is like `_.assignIn` except that it accepts `customizer` which
* is invoked to produce the assigned values. If `customizer` returns `undefined`
* assignment is handled by the method instead. The `customizer` is invoked
* with five arguments: (objValue, srcValue, key, object, source).
* This method is like `_.assignIn` except that it accepts `customizer`
* which is invoked to produce the assigned values. If `customizer` returns
* `undefined` assignment is handled by the method instead. The `customizer`
* is invoked with five arguments: (objValue, srcValue, key, object, source).
*

@@ -16,2 +16,3 @@ * **Note:** This method mutates `object`.

* @memberOf _
* @since 4.0.0
* @alias extendWith

@@ -18,0 +19,0 @@ * @category Object

@@ -6,6 +6,6 @@ var copyObjectWith = require('./_copyObjectWith'),

/**
* This method is like `_.assign` except that it accepts `customizer` which
* is invoked to produce the assigned values. If `customizer` returns `undefined`
* assignment is handled by the method instead. The `customizer` is invoked
* with five arguments: (objValue, srcValue, key, object, source).
* This method is like `_.assign` except that it accepts `customizer`
* which is invoked to produce the assigned values. If `customizer` returns
* `undefined` assignment is handled by the method instead. The `customizer`
* is invoked with five arguments: (objValue, srcValue, key, object, source).
*

@@ -16,2 +16,3 @@ * **Note:** This method mutates `object`.

* @memberOf _
* @since 4.0.0
* @category Object

@@ -18,0 +19,0 @@ * @param {Object} object The destination object.

@@ -10,2 +10,3 @@ var baseAt = require('./_baseAt'),

* @memberOf _
* @since 1.0.0
* @category Object

@@ -12,0 +13,0 @@ * @param {Object} object The object to iterate over.

@@ -11,4 +11,6 @@ var apply = require('./_apply'),

* @memberOf _
* @since 3.0.0
* @category Util
* @param {Function} func The function to attempt.
* @param {...*} [args] The arguments to invoke `func` with.
* @returns {*} Returns the `func` result or error object.

@@ -15,0 +17,0 @@ * @example

@@ -13,2 +13,3 @@ var toInteger = require('./toInteger');

* @memberOf _
* @since 3.0.0
* @category Function

@@ -15,0 +16,0 @@ * @param {number} n The number of calls at which `func` is no longer invoked.

@@ -23,2 +23,3 @@ var createWrapper = require('./_createWrapper'),

* @memberOf _
* @since 0.1.0
* @category Function

@@ -25,0 +26,0 @@ * @param {Function} func The function to bind.

@@ -13,2 +13,3 @@ var arrayEach = require('./_arrayEach'),

* @static
* @since 0.1.0
* @memberOf _

@@ -31,3 +32,3 @@ * @category Util

* jQuery(element).on('click', view.onClick);
* // => logs 'clicked docs' when clicked
* // => Logs 'clicked docs' when clicked.
*/

@@ -34,0 +35,0 @@ var bindAll = rest(function(object, methodNames) {

@@ -16,4 +16,4 @@ var createWrapper = require('./_createWrapper'),

* This method differs from `_.bind` by allowing bound functions to reference
* methods that may be redefined or don't yet exist.
* See [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)
* methods that may be redefined or don't yet exist. See
* [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)
* for more details.

@@ -26,2 +26,3 @@ *

* @memberOf _
* @since 0.10.0
* @category Function

@@ -28,0 +29,0 @@ * @param {Object} object The object to invoke the method on.

@@ -9,2 +9,3 @@ var capitalize = require('./capitalize'),

* @memberOf _
* @since 3.0.0
* @category String

@@ -18,6 +19,6 @@ * @param {string} [string=''] The string to convert.

*
* _.camelCase('--foo-bar');
* _.camelCase('--foo-bar--');
* // => 'fooBar'
*
* _.camelCase('__foo_bar__');
* _.camelCase('__FOO_BAR__');
* // => 'fooBar'

@@ -24,0 +25,0 @@ */

@@ -10,2 +10,3 @@ var toString = require('./toString'),

* @memberOf _
* @since 3.0.0
* @category String

@@ -12,0 +13,0 @@ * @param {string} [string=''] The string to capitalize.

@@ -8,2 +8,3 @@ var isArray = require('./isArray');

* @memberOf _
* @since 4.4.0
* @category Lang

@@ -10,0 +11,0 @@ * @param {*} value The value to inspect.

@@ -8,2 +8,3 @@ var createRound = require('./_createRound');

* @memberOf _
* @since 3.10.0
* @category Math

@@ -10,0 +11,0 @@ * @param {number} number The number to round up.

var lodash = require('./wrapperLodash');
/**
* Creates a `lodash` object that wraps `value` with explicit method chaining enabled.
* The result of such method chaining must be unwrapped with `_#value`.
* Creates a `lodash` wrapper instance that wraps `value` with explicit method
* chain sequences enabled. The result of such sequences must be unwrapped
* with `_#value`.
*
* @static
* @memberOf _
* @since 1.3.0
* @category Seq

@@ -10,0 +12,0 @@ * @param {*} value The value to wrap.

@@ -15,2 +15,3 @@ var baseSlice = require('./_baseSlice'),

* @memberOf _
* @since 3.0.0
* @category Array

@@ -17,0 +18,0 @@ * @param {Array} array The array to process.

@@ -9,2 +9,3 @@ var baseClamp = require('./_baseClamp'),

* @memberOf _
* @since 4.0.0
* @category Number

@@ -11,0 +12,0 @@ * @param {number} number The number to clamp.

@@ -16,2 +16,3 @@ var baseClone = require('./_baseClone');

* @memberOf _
* @since 0.1.0
* @category Lang

@@ -18,0 +19,0 @@ * @param {*} value The value to clone.

@@ -8,2 +8,3 @@ var baseClone = require('./_baseClone');

* @memberOf _
* @since 1.0.0
* @category Lang

@@ -10,0 +11,0 @@ * @param {*} value The value to recursively clone.

@@ -8,2 +8,3 @@ var baseClone = require('./_baseClone');

* @memberOf _
* @since 4.0.0
* @category Lang

@@ -10,0 +11,0 @@ * @param {*} value The value to recursively clone.

@@ -11,2 +11,3 @@ var baseClone = require('./_baseClone');

* @memberOf _
* @since 4.0.0
* @category Lang

@@ -13,0 +14,0 @@ * @param {*} value The value to clone.

@@ -11,2 +11,4 @@ module.exports = {

'flatMap': require('./flatMap'),
'flatMapDeep': require('./flatMapDeep'),
'flatMapDepth': require('./flatMapDepth'),
'forEach': require('./forEach'),

@@ -13,0 +15,0 @@ 'forEachRight': require('./forEachRight'),

var LodashWrapper = require('./_LodashWrapper');
/**
* Executes the chained sequence and returns the wrapped result.
* Executes the chain sequence and returns the wrapped result.
*
* @name commit
* @memberOf _
* @since 3.2.0
* @category Seq

@@ -9,0 +10,0 @@ * @returns {Object} Returns the new `lodash` wrapper instance.

@@ -7,2 +7,3 @@ /**

* @memberOf _
* @since 0.1.0
* @category Array

@@ -9,0 +10,0 @@ * @param {Array} array The array to compact.

var arrayConcat = require('./_arrayConcat'),
baseFlatten = require('./_baseFlatten'),
isArray = require('./isArray'),
rest = require('./rest');
castArray = require('./castArray'),
copyArray = require('./_copyArray');

@@ -12,2 +12,3 @@ /**

* @memberOf _
* @since 4.0.0
* @category Array

@@ -28,10 +29,16 @@ * @param {Array} array The array to concatenate.

*/
var concat = rest(function(array, values) {
if (!isArray(array)) {
array = array == null ? [] : [Object(array)];
function concat() {
var length = arguments.length,
array = castArray(arguments[0]);
if (length < 2) {
return length ? copyArray(array) : [];
}
values = baseFlatten(values, 1);
return arrayConcat(array, values);
});
var args = Array(length - 1);
while (length--) {
args[length - 1] = arguments[length];
}
return arrayConcat(array, baseFlatten(args, 1));
}
module.exports = concat;

@@ -17,2 +17,3 @@ var apply = require('./_apply'),

* @memberOf _
* @since 4.0.0
* @category Util

@@ -39,3 +40,4 @@ * @param {Array} pairs The predicate-function pairs.

function cond(pairs) {
var length = pairs ? pairs.length : 0;
var length = pairs ? pairs.length : 0,
toIteratee = baseIteratee;

@@ -46,3 +48,3 @@ pairs = !length ? [] : arrayMap(pairs, function(pair) {

}
return [baseIteratee(pair[0]), pair[1]];
return [toIteratee(pair[0]), pair[1]];
});

@@ -49,0 +51,0 @@

@@ -11,2 +11,3 @@ var baseClone = require('./_baseClone'),

* @memberOf _
* @since 4.0.0
* @category Util

@@ -13,0 +14,0 @@ * @param {Object} source The object of property predicates to conform to.

@@ -6,2 +6,3 @@ /**

* @memberOf _
* @since 2.4.0
* @category Util

@@ -8,0 +9,0 @@ * @param {*} value The value to return from the new function.

/**
* @license
* lodash 4.6.1 (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
* lodash 4.7.0 (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
* Build: `lodash core -o ./dist/lodash.core.js`
*/
;(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];
}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(An.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],
u=(n===u||n!==n&&u!==u)&&!An.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);
}return u}function b(n,t){return n&&qn(n,t,en)}function g(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:d(n,t,j,r,e,u)}function d(n,t,r,e,u,o){var i=Pn(n),f=Pn(t),a="[object Array]",l="[object Array]";i||(a=kn.call(n),a="[object Arguments]"==a?"[object Object]":a),f||(l=kn.call(t),l="[object Arguments]"==l?"[object Object]":l);var p="[object Object]"==a&&!c(n),f="[object Object]"==l&&!c(t),l=a==l;o||(o=[]);var s=J(o,function(t){
return t[0]===n});return s&&s[1]?s[1]==t:(o.push([n,t]),l&&!p?(t=i||isTypedArray(n)?I(n,t,r,e,u,o):$(n,t,a),o.pop(),t):2&u||(i=p&&An.call(n,"__wrapped__"),a=f&&An.call(t,"__wrapped__"),!i&&!a)?l?(t=q(n,t,r,e,u,o),o.pop(),t):false:(t=r(i?n.value():n,a?t.value():t,e,u,o),o.pop(),t))}function m(n){var t=typeof n;return"function"==t?n:null==n?cn:("object"==t?x:E)(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){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 A(n,t){return n=Object(n),P(t,function(t,r){return r in n&&(t[r]=n[r]),t},{})}function E(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),!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];An.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);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)})){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:An.call(t,p)))return false}for(a=true;++l<f;){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;return n===(typeof t=="function"&&t.prototype||xn)}function G(n){return n?n[0]:an}function J(n,t){return r(n,m(t),$n)}function M(n,t){return $n(n,typeof t=="function"?t:cn)}function P(n,t,r){return e(n,m(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];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)&&An.call(n,"callee")&&(!Rn.call(n,"callee")||"[object Arguments]"==kn.call(n))}function L(n){return null!=n&&W(zn(n))&&!Q(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)}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)!An.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;){var a=e[t];i&&("length"==a||f(a,c))||"constructor"==a&&(r||!An.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=g(r,u);null!=e||X(r)&&(o.length||!u.length)||(e=r,r=t,t=this,o=g(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,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={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},yn={"function":true,object:true},_n=yn[typeof exports]&&exports&&!exports.nodeType?exports:an,bn=yn[typeof module]&&module&&!module.nodeType?module:an,gn=bn&&bn.exports===_n?_n:an,jn=o(yn[typeof self]&&self),dn=o(yn[typeof window]&&window),mn=o(yn[typeof this]&&this),wn=o(_n&&bn&&typeof global=="object"&&global)||dn!==(mn&&mn.window)&&dn||jn||mn||Function("return this")(),On=Array.prototype,xn=Object.prototype,An=xn.hasOwnProperty,En=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){
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}}(b),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=E("length"),Cn=V(function(t,r){return Pn(t)||(t=null==t?[]:[Object(t)]),_(r,1),
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?{}:A(n,_(t,1))}),Xn=m;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),
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,m(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,m(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");
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=m(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;
}),E("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,m(t))},a.find=J,a.forEach=M,a.has=function(n,t){return null!=n&&An.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,
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(An.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){
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],
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,m(t))},a.uniqueId=function(n){var t=++En;return rn(n)+t},a.each=M,a.first=G,fn(a,function(){var n={};return b(a,function(t,r){An.call(a.prototype,r)||(n[r]=t)}),n}(),{chain:false}),a.VERSION="4.6.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);
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__)},(dn||jn||{})._=a,typeof define=="function"&&typeof define.amd=="object"&&define.amd? define(function(){return a}):_n&&bn?(gn&&((bn.exports=a)._=a),_n._=a):wn._=a}).call(this);
;(function(){function n(n,t){return n.push.apply(n,t),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===ln?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 w(t,function(t){return n[t]})}function o(n){return n&&n.Object===Object?n:null}function i(n){return yn[n]}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"||vn.test(n)?+n:-1,n>-1&&0==n%1&&(null==t?9007199254740991:t)>n}function a(n){return n instanceof l?n: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===ln)||(u=An[r],u=(n===u||n!==n&&u!==u)&&!En.call(e,r)),u?t:n}function s(n){return Y(n)?Rn(n):{}}function h(n,t,r){if(typeof n!="function")throw new TypeError("Expected a function");return setTimeout(function(){
n.apply(ln,r)},t)}function v(n,t){var r=true;return zn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function y(n,t){var r=[];return zn(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function g(t,r,e,u){u||(u=[]);for(var o=-1,i=t.length;++o<i;){var c=t[o];r>0&&Z(c)&&Q(c)&&(e||Un(c)||L(c))?r>1?g(c,r-1,e,u):n(u,c):e||(u[u.length]=c)}return u}function b(n,t){return n&&Cn(n,t,un)}function _(n,t){return y(t,function(t){return W(n[t])})}function j(n,t,r,e,u){return n===t?true:null==n||null==t||!Y(n)&&!Z(t)?n!==n&&t!==t:d(n,t,j,r,e,u);
}function d(n,t,r,e,u,o){var i=Un(n),f=Un(t),a="[object Array]",l="[object Array]";i||(a=Nn.call(n),a="[object Arguments]"==a?"[object Object]":a),f||(l=Nn.call(t),l="[object Arguments]"==l?"[object Object]":l);var p="[object Object]"==a&&!c(n),f="[object Object]"==l&&!c(t),l=a==l;o||(o=[]);var s=J(o,function(t){return t[0]===n});return s&&s[1]?s[1]==t:(o.push([n,t]),l&&!p?(r=i||isTypedArray(n)?I(n,t,r,e,u,o):$(n,t,a),o.pop(),r):2&u||(i=p&&En.call(n,"__wrapped__"),a=f&&En.call(t,"__wrapped__"),!i&&!a)?l?(r=q(n,t,r,e,u,o),
o.pop(),r):false:(i=i?n.value():n,t=a?t.value():t,r=r(i,t,e,u,o),o.pop(),r))}function m(n){return typeof n=="function"?n:null==n?fn:(typeof n=="object"?x:E)(n)}function O(n){n=null==n?n:Object(n);var t,r=[];for(t in n)r.push(t);return r}function w(n,t){var r=-1,e=Q(n)?Array(n.length):[];return zn(n,function(n,u,o){e[++r]=t(n,u,o)}),e}function x(n){var t=un(n);return function(r){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],ln,3)))return false}return true}}function A(n,t){
return n=Object(n),P(t,function(t,r){return r in n&&(t[r]=n[r]),t},{})}function E(n){return function(t){return null==t?ln: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 zn(n,function(n,e,u){return r=t(n,e,u),!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!==ln||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]:ln,o=typeof o=="function"?(u--,o):ln;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);return Y(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!==ln){a=false;break}if(c){if(!S(t,function(n){return l===n||r(l,n,e,u,o)})){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=un(n),f=c.length,a=un(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;){var p=c[l],s=n[p],h=t[p];if(void 0!==ln||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:ln;if(X(t)&&(Un(n)||tn(n)||L(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;return n===(typeof t=="function"&&t.prototype||An)}function G(n){return n?n[0]:ln}function J(n,t){return r(n,m(t),zn)}function M(n,t){return zn(n,m(t))}function P(n,t,r){return e(n,m(t),r,3>arguments.length,zn)}function U(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Vn(n),function(){
return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=ln),r}}function V(n){var t;if(typeof n!="function")throw new TypeError("Expected a function");return t=$n(t===ln?n.length-1:Vn(t),0),function(){for(var r=arguments,e=-1,u=$n(r.length-t,0),o=Array(u);++e<u;)o[e]=r[t+e];for(u=Array(t+1),e=-1;++e<t;)u[e]=r[e];return u[t]=o,n.apply(this,u)}}function H(){if(!arguments.length)return[];var n=arguments[0];return Un(n)?n:[n]}function K(n,t){return n>t}function L(n){return Z(n)&&Q(n)&&En.call(n,"callee")&&(!Bn.call(n,"callee")||"[object Arguments]"==Nn.call(n));
}function Q(n){return null!=n&&X(Gn(n))&&!W(n)}function W(n){return n=Y(n)?Nn.call(n):"","[object Function]"==n||"[object GeneratorFunction]"==n}function X(n){return typeof n=="number"&&n>-1&&0==n%1&&9007199254740991>=n}function Y(n){var t=typeof n;return!!n&&("object"==t||"function"==t)}function Z(n){return!!n&&typeof n=="object"}function nn(n){return typeof n=="number"||Z(n)&&"[object Number]"==Nn.call(n)}function tn(n){return typeof n=="string"||!Un(n)&&Z(n)&&"[object String]"==Nn.call(n)}function rn(n,t){
return t>n}function en(n){return typeof n=="string"?n:null==n?"":n+""}function un(n){var t=C(n);if(!t&&!Q(n))return In(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 on(n){for(var t=-1,r=C(n),e=O(n),u=e.length,o=z(n),i=!!o,o=o||[],c=o.length;++t<u;){var a=e[t];i&&("length"==a||f(a,c))||"constructor"==a&&(r||!En.call(n,a))||o.push(a)}return o}function cn(n){return n?u(n,un(n)):[]}function fn(n){return n;
}function an(t,r,e){var u=un(r),o=_(r,u);null!=e||Y(r)&&(o.length||!u.length)||(e=r,r=t,t=this,o=_(r,un(r)));var i=Y(e)&&"chain"in e?e.chain:true,c=W(t);return zn(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,thisArg:t}),e.__chain__=r,e}return u.apply(t,n([this.value()],arguments))})}),t}var ln,pn=1/0,sn=/[&<>"'`]/g,hn=RegExp(sn.source),vn=/^(?:0|[1-9]\d*)$/,yn={
"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},gn={"function":true,object:true},bn=gn[typeof exports]&&exports&&!exports.nodeType?exports:ln,_n=gn[typeof module]&&module&&!module.nodeType?module:ln,jn=_n&&_n.exports===bn?bn:ln,dn=o(gn[typeof self]&&self),mn=o(gn[typeof window]&&window),On=o(gn[typeof this]&&this),wn=o(bn&&_n&&typeof global=="object"&&global)||mn!==(On&&On.window)&&mn||dn||On||Function("return this")(),xn=Array.prototype,An=Object.prototype,En=An.hasOwnProperty,kn=0,Nn=An.toString,Sn=wn._,Tn=wn.Reflect,Fn=Tn?Tn.f:ln,Rn=Object.create,Bn=An.propertyIsEnumerable,Dn=wn.isFinite,In=Object.keys,$n=Math.max,qn=!Bn.call({
valueOf:1},"valueOf");l.prototype=s(a.prototype),l.prototype.constructor=l;var zn=function(n,t){return function(r,e){if(null==r)return r;if(!Q(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}}(b),Cn=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}}();Fn&&!Bn.call({valueOf:1},"valueOf")&&(O=function(n){n=Fn(n);for(var t,r=[];!(t=n.next()).done;)r.push(t.value);
return r});var Gn=E("length"),Jn=V(function(n,t,r){return D(n,t,r)}),Mn=V(function(n,t){return h(n,1,t)}),Pn=V(function(n,t,r){return h(n,Hn(t)||0,r)}),Un=Array.isArray,Vn=Number,Hn=Number,Kn=R(function(n,t){F(t,un(t),n)}),Ln=R(function(n,t){F(t,on(t),n)}),Qn=R(function(n,t,r,e){F(t,on(t),n,e)}),Wn=V(function(n){return n.push(ln,p),Qn.apply(ln,n)}),Xn=V(function(n,t){return null==n?{}:A(n,g(t,1))}),Yn=m;a.assignIn=Ln,a.before=U,a.bind=Jn,a.chain=function(n){return n=a(n),n.__chain__=true,n},a.compact=function(n){
return y(n,Boolean)},a.concat=function(){var t=arguments.length,r=H(arguments[0]);if(2>t)return t?N(r):[];for(var e=Array(t-1);t--;)e[t-1]=arguments[t];return g(e,1),n(N(r),cn)},a.create=function(n,t){var r=s(n);return t?Kn(r,t):r},a.defaults=Wn,a.defer=Mn,a.delay=Pn,a.filter=function(n,t){return y(n,m(t))},a.flatten=function(n){return n&&n.length?g(n,1):[]},a.flattenDeep=function(n){return n&&n.length?g(n,pn):[]},a.iteratee=Yn,a.keys=un,a.map=function(n,t){return w(n,m(t))},a.matches=function(n){
return x(Kn({},n))},a.mixin=an,a.negate=function(n){if(typeof n!="function")throw new TypeError("Expected a function");return function(){return!n.apply(this,arguments)}},a.once=function(n){return U(2,n)},a.pick=Xn,a.slice=function(n,t,r){var e=n?n.length:0;return r=r===ln?e:+r,e?k(n,null==t?0:+t,r):[]},a.sortBy=function(n,t){var r=0;return t=m(t),w(w(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===ln,i=r===r,c=null===e,f=e===ln,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}),E("c"))},a.tap=function(n,t){return t(n),n},a.thru=function(n,t){return t(n)},a.toArray=function(n){return Q(n)?n.length?N(n):[]:cn(n)},a.values=cn,a.extend=Ln,an(a,a),a.clone=function(n){return Y(n)?Un(n)?N(n):F(n,un(n)):n},a.escape=function(n){return(n=en(n))&&hn.test(n)?n.replace(sn,i):n},a.every=function(n,t,r){return t=r?ln:t,v(n,m(t))},a.find=J,a.forEach=M,a.has=function(n,t){return null!=n&&En.call(n,t);
},a.head=G,a.identity=fn,a.indexOf=function(n,t,r){var e=n?n.length:0;r=typeof r=="number"?0>r?$n(e+r,0):r:0,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=L,a.isArray=Un,a.isBoolean=function(n){return true===n||false===n||Z(n)&&"[object Boolean]"==Nn.call(n)},a.isDate=function(n){return Z(n)&&"[object Date]"==Nn.call(n)},a.isEmpty=function(n){if(Q(n)&&(Un(n)||tn(n)||W(n.splice)||L(n)))return!n.length;for(var t in n)if(En.call(n,t))return false;return!(qn&&un(n).length);
},a.isEqual=function(n,t){return j(n,t)},a.isFinite=function(n){return typeof n=="number"&&Dn(n)},a.isFunction=W,a.isNaN=function(n){return nn(n)&&n!=+n},a.isNull=function(n){return null===n},a.isNumber=nn,a.isObject=Y,a.isRegExp=function(n){return Y(n)&&"[object RegExp]"==Nn.call(n)},a.isString=tn,a.isUndefined=function(n){return n===ln},a.last=function(n){var t=n?n.length:0;return t?n[t-1]:ln},a.max=function(n){return n&&n.length?t(n,fn,K):ln},a.min=function(n){return n&&n.length?t(n,fn,rn):ln},
a.noConflict=function(){return wn._===this&&(wn._=Sn),this},a.noop=function(){},a.reduce=P,a.result=function(n,t,r){return t=null==n?ln:n[t],t===ln&&(t=r),W(t)?t.call(n):t},a.size=function(n){return null==n?0:(n=Q(n)?n:un(n),n.length)},a.some=function(n,t,r){return t=r?ln:t,S(n,m(t))},a.uniqueId=function(n){var t=++kn;return en(n)+t},a.each=M,a.first=G,an(a,function(){var n={};return b(a,function(t,r){En.call(a.prototype,r)||(n[r]=t)}),n}(),{chain:false}),a.VERSION="4.7.0",zn("pop join replace reverse split push shift sort splice unshift".split(" "),function(n){
var t=(/^(?:replace|split)$/.test(n)?String.prototype:xn)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|join|replace|shift)$/.test(n);a.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(Un(u)?u:[],n)}return this[r](function(r){return t.apply(Un(r)?r:[],n)})}}),a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=function(){return T(this.__wrapped__,this.__actions__)},(mn||dn||{})._=a,typeof define=="function"&&typeof define.amd=="object"&&define.amd? define(function(){
return a}):bn&&_n?(jn&&((_n.exports=a)._=a),bn._=a):wn._=a}).call(this);

@@ -17,5 +17,7 @@ var createAggregator = require('./_createAggregator');

* @memberOf _
* @since 0.5.0
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {Function|Object|string} [iteratee=_.identity] The iteratee to transform keys.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee to transform keys.
* @returns {Object} Returns the composed aggregate object.

@@ -22,0 +24,0 @@ * @example

@@ -5,7 +5,9 @@ var baseAssign = require('./_baseAssign'),

/**
* Creates an object that inherits from the `prototype` object. If a `properties`
* object is given its own enumerable properties are assigned to the created object.
* Creates an object that inherits from the `prototype` object. If a
* `properties` object is given its own enumerable string keyed properties
* are assigned to the created object.
*
* @static
* @memberOf _
* @since 2.3.0
* @category Object

@@ -12,0 +14,0 @@ * @param {Object} prototype The object to inherit from.

@@ -20,6 +20,7 @@ var createWrapper = require('./_createWrapper');

* @memberOf _
* @since 2.0.0
* @category Function
* @param {Function} func The function to curry.
* @param {number} [arity=func.length] The arity of `func`.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {Function} Returns the new curried function.

@@ -26,0 +27,0 @@ * @example

@@ -17,6 +17,7 @@ var createWrapper = require('./_createWrapper');

* @memberOf _
* @since 3.0.0
* @category Function
* @param {Function} func The function to curry.
* @param {number} [arity=func.length] The arity of `func`.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {Function} Returns the new curried function.

@@ -23,0 +24,0 @@ * @example

@@ -9,3 +9,4 @@ var isObject = require('./isObject'),

/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeMax = Math.max;
var nativeMax = Math.max,
nativeMin = Math.min;

@@ -31,12 +32,13 @@ /**

* @memberOf _
* @since 0.1.0
* @category Function
* @param {Function} func The function to debounce.
* @param {number} [wait=0] The number of milliseconds to delay.
* @param {Object} [options] The options object.
* @param {boolean} [options.leading=false] Specify invoking on the leading
* edge of the timeout.
* @param {number} [options.maxWait] The maximum time `func` is allowed to be
* delayed before it's invoked.
* @param {boolean} [options.trailing=true] Specify invoking on the trailing
* edge of the timeout.
* @param {Object} [options={}] The options object.
* @param {boolean} [options.leading=false]
* Specify invoking on the leading edge of the timeout.
* @param {number} [options.maxWait]
* The maximum time `func` is allowed to be delayed before it's invoked.
* @param {boolean} [options.trailing=true]
* Specify invoking on the trailing edge of the timeout.
* @returns {Function} Returns the new debounced function.

@@ -63,10 +65,8 @@ * @example

function debounce(func, wait, options) {
var args,
maxTimeoutId,
var lastArgs,
lastThis,
result,
stamp,
thisArg,
timeoutId,
trailingCall,
lastCalled = 0,
timerId,
lastCallTime = 0,
lastInvokeTime = 0,
leading = false,

@@ -86,89 +86,91 @@ maxWait = false,

function cancel() {
if (timeoutId) {
clearTimeout(timeoutId);
}
if (maxTimeoutId) {
clearTimeout(maxTimeoutId);
}
lastCalled = 0;
args = maxTimeoutId = thisArg = timeoutId = trailingCall = undefined;
function invokeFunc(time) {
var args = lastArgs,
thisArg = lastThis;
lastArgs = lastThis = undefined;
lastInvokeTime = time;
result = func.apply(thisArg, args);
return result;
}
function complete(isCalled, id) {
if (id) {
clearTimeout(id);
}
maxTimeoutId = timeoutId = trailingCall = undefined;
if (isCalled) {
lastCalled = now();
result = func.apply(thisArg, args);
if (!timeoutId && !maxTimeoutId) {
args = thisArg = undefined;
}
}
function leadingEdge(time) {
// Reset any `maxWait` timer.
lastInvokeTime = time;
// Start the timer for the trailing edge.
timerId = setTimeout(timerExpired, wait);
// Invoke the leading edge.
return leading ? invokeFunc(time) : result;
}
function delayed() {
var remaining = wait - (now() - stamp);
if (remaining <= 0 || remaining > wait) {
complete(trailingCall, maxTimeoutId);
} else {
timeoutId = setTimeout(delayed, remaining);
function remainingWait(time) {
var timeSinceLastCall = time - lastCallTime,
timeSinceLastInvoke = time - lastInvokeTime,
result = wait - timeSinceLastCall;
return maxWait === false ? result : nativeMin(result, maxWait - timeSinceLastInvoke);
}
function shouldInvoke(time) {
var timeSinceLastCall = time - lastCallTime,
timeSinceLastInvoke = time - lastInvokeTime;
// Either this is the first call, activity has stopped and we're at the
// trailing edge, the system time has gone backwards and we're treating
// it as the trailing edge, or we've hit the `maxWait` limit.
return (!lastCallTime || (timeSinceLastCall >= wait) ||
(timeSinceLastCall < 0) || (maxWait !== false && timeSinceLastInvoke >= maxWait));
}
function timerExpired() {
var time = now();
if (shouldInvoke(time)) {
return trailingEdge(time);
}
// Restart the timer.
timerId = setTimeout(timerExpired, remainingWait(time));
}
function flush() {
if ((timeoutId && trailingCall) || (maxTimeoutId && trailing)) {
result = func.apply(thisArg, args);
function trailingEdge(time) {
clearTimeout(timerId);
timerId = undefined;
// Only invoke if we have `lastArgs` which means `func` has been
// debounced at least once.
if (trailing && lastArgs) {
return invokeFunc(time);
}
cancel();
lastArgs = lastThis = undefined;
return result;
}
function maxDelayed() {
complete(trailing, timeoutId);
function cancel() {
if (timerId !== undefined) {
clearTimeout(timerId);
}
lastCallTime = lastInvokeTime = 0;
lastArgs = lastThis = timerId = undefined;
}
function flush() {
return timerId === undefined ? result : trailingEdge(now());
}
function debounced() {
args = arguments;
stamp = now();
thisArg = this;
trailingCall = trailing && (timeoutId || !leading);
var time = now(),
isInvoking = shouldInvoke(time);
if (maxWait === false) {
var leadingCall = leading && !timeoutId;
} else {
if (!lastCalled && !maxTimeoutId && !leading) {
lastCalled = stamp;
}
var remaining = maxWait - (stamp - lastCalled);
lastArgs = arguments;
lastThis = this;
lastCallTime = time;
var isCalled = (remaining <= 0 || remaining > maxWait) &&
(leading || maxTimeoutId);
if (isCalled) {
if (maxTimeoutId) {
maxTimeoutId = clearTimeout(maxTimeoutId);
}
lastCalled = stamp;
result = func.apply(thisArg, args);
if (isInvoking) {
if (timerId === undefined) {
return leadingEdge(lastCallTime);
}
else if (!maxTimeoutId) {
maxTimeoutId = setTimeout(maxDelayed, remaining);
}
// Handle invocations in a tight loop.
clearTimeout(timerId);
timerId = setTimeout(timerExpired, wait);
return invokeFunc(lastCallTime);
}
if (isCalled && timeoutId) {
timeoutId = clearTimeout(timeoutId);
}
else if (!timeoutId && wait !== maxWait) {
timeoutId = setTimeout(delayed, wait);
}
if (leadingCall) {
isCalled = true;
result = func.apply(thisArg, args);
}
if (isCalled && !timeoutId && !maxTimeoutId) {
args = thisArg = undefined;
}
return result;

@@ -175,0 +177,0 @@ }

@@ -21,7 +21,10 @@ var deburrLetter = require('./_deburrLetter'),

/**
* Deburrs `string` by converting [latin-1 supplementary letters](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)
* to basic latin letters and removing [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).
* Deburrs `string` by converting
* [latin-1 supplementary letters](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)
* to basic latin letters and removing
* [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).
*
* @static
* @memberOf _
* @since 3.0.0
* @category String

@@ -28,0 +31,0 @@ * @param {string} [string=''] The string to deburr.

@@ -7,6 +7,6 @@ var apply = require('./_apply'),

/**
* Assigns own and inherited enumerable properties of source objects to the
* destination object for all destination properties that resolve to `undefined`.
* Source objects are applied from left to right. Once a property is set,
* additional values of the same property are ignored.
* Assigns own and inherited enumerable string keyed properties of source
* objects to the destination object for all destination properties that
* resolve to `undefined`. Source objects are applied from left to right.
* Once a property is set, additional values of the same property are ignored.
*

@@ -16,2 +16,3 @@ * **Note:** This method mutates `object`.

* @static
* @since 0.1.0
* @memberOf _

@@ -18,0 +19,0 @@ * @category Object

@@ -14,2 +14,3 @@ var apply = require('./_apply'),

* @memberOf _
* @since 3.10.0
* @category Object

@@ -16,0 +17,0 @@ * @param {Object} object The destination object.

@@ -10,2 +10,3 @@ var baseDelay = require('./_baseDelay'),

* @memberOf _
* @since 0.1.0
* @category Function

@@ -20,3 +21,3 @@ * @param {Function} func The function to defer.

* }, 'deferred');
* // => logs 'deferred' after one or more milliseconds
* // => Logs 'deferred' after one or more milliseconds.
*/

@@ -23,0 +24,0 @@ var defer = rest(function(func, args) {

@@ -11,2 +11,3 @@ var baseDelay = require('./_baseDelay'),

* @memberOf _
* @since 0.1.0
* @category Function

@@ -22,3 +23,3 @@ * @param {Function} func The function to delay.

* }, 1000, 'later');
* // => logs 'later' after one second
* // => Logs 'later' after one second.
*/

@@ -25,0 +26,0 @@ var delay = rest(function(func, wait, args) {

@@ -7,4 +7,4 @@ var baseDifference = require('./_baseDifference'),

/**
* Creates an array of unique `array` values not included in the other
* given arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
* Creates an array of unique `array` values not included in the other given
* arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
* for equality comparisons. The order of result values is determined by the

@@ -15,2 +15,3 @@ * order they occur in the first array.

* @memberOf _
* @since 0.1.0
* @category Array

@@ -17,0 +18,0 @@ * @param {Array} array The array to inspect.

@@ -16,6 +16,8 @@ var baseDifference = require('./_baseDifference'),

* @memberOf _
* @since 4.0.0
* @category Array
* @param {Array} array The array to inspect.
* @param {...Array} [values] The values to exclude.
* @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @returns {Array} Returns the new array of filtered values.

@@ -22,0 +24,0 @@ * @example

@@ -15,2 +15,3 @@ var baseDifference = require('./_baseDifference'),

* @memberOf _
* @since 4.0.0
* @category Array

@@ -17,0 +18,0 @@ * @param {Array} array The array to inspect.

@@ -9,6 +9,7 @@ var baseSlice = require('./_baseSlice'),

* @memberOf _
* @since 0.5.0
* @category Array
* @param {Array} array The array to query.
* @param {number} [n=1] The number of elements to drop.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {Array} Returns the slice of `array`.

@@ -15,0 +16,0 @@ * @example

@@ -9,6 +9,7 @@ var baseSlice = require('./_baseSlice'),

* @memberOf _
* @since 3.0.0
* @category Array
* @param {Array} array The array to query.
* @param {number} [n=1] The number of elements to drop.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {Array} Returns the slice of `array`.

@@ -15,0 +16,0 @@ * @example

@@ -11,5 +11,7 @@ var baseIteratee = require('./_baseIteratee'),

* @memberOf _
* @since 3.0.0
* @category Array
* @param {Array} array The array to query.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @returns {Array} Returns the slice of `array`.

@@ -16,0 +18,0 @@ * @example

@@ -11,5 +11,7 @@ var baseIteratee = require('./_baseIteratee'),

* @memberOf _
* @since 3.0.0
* @category Array
* @param {Array} array The array to query.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @returns {Array} Returns the slice of `array`.

@@ -16,0 +18,0 @@ * @example

@@ -10,2 +10,3 @@ var baseClamp = require('./_baseClamp'),

* @memberOf _
* @since 3.0.0
* @category String

@@ -15,3 +16,4 @@ * @param {string} [string=''] The string to search.

* @param {number} [position=string.length] The position to search from.
* @returns {boolean} Returns `true` if `string` ends with `target`, else `false`.
* @returns {boolean} Returns `true` if `string` ends with `target`,
* else `false`.
* @example

@@ -18,0 +20,0 @@ *

/**
* Performs a [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
* Performs a
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
* comparison between two values to determine if they are equivalent.

@@ -7,2 +8,3 @@ *

* @memberOf _
* @since 4.0.0
* @category Lang

@@ -9,0 +11,0 @@ * @param {*} value The value to compare.

@@ -17,4 +17,4 @@ var escapeHtmlChar = require('./_escapeHtmlChar'),

* ">" and "/" don't need escaping in HTML and have no special meaning
* unless they're part of a tag or unquoted attribute value.
* See [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)
* unless they're part of a tag or unquoted attribute value. See
* [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)
* (under "semi-related fun fact") for more details.

@@ -25,9 +25,11 @@ *

* [#102](https://html5sec.org/#102), [#108](https://html5sec.org/#108), and
* [#133](https://html5sec.org/#133) of the [HTML5 Security Cheatsheet](https://html5sec.org/)
* for more details.
* [#133](https://html5sec.org/#133) of the
* [HTML5 Security Cheatsheet](https://html5sec.org/) for more details.
*
* When working with HTML you should always [quote attribute values](http://wonko.com/post/html-escaping)
* to reduce XSS vectors.
* When working with HTML you should always
* [quote attribute values](http://wonko.com/post/html-escaping) to reduce
* XSS vectors.
*
* @static
* @since 0.1.0
* @memberOf _

@@ -34,0 +36,0 @@ * @category String

@@ -13,2 +13,3 @@ var toString = require('./toString');

* @memberOf _
* @since 3.0.0
* @category String

@@ -15,0 +16,0 @@ * @param {string} [string=''] The string to escape.

@@ -14,7 +14,10 @@ var arrayEvery = require('./_arrayEvery'),

* @memberOf _
* @since 0.1.0
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
* @returns {boolean} Returns `true` if all elements pass the predicate check, else `false`.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {boolean} Returns `true` if all elements pass the predicate check,
* else `false`.
* @example

@@ -26,4 +29,4 @@ *

* var users = [
* { 'user': 'barney', 'active': false },
* { 'user': 'fred', 'active': false }
* { 'user': 'barney', 'age': 36, 'active': false },
* { 'user': 'fred', 'age': 40, 'active': false }
* ];

@@ -30,0 +33,0 @@ *

@@ -12,2 +12,3 @@ var baseFill = require('./_baseFill'),

* @memberOf _
* @since 3.2.0
* @category Array

@@ -14,0 +15,0 @@ * @param {Array} array The array to fill.

@@ -8,10 +8,12 @@ var arrayFilter = require('./_arrayFilter'),

* Iterates over elements of `collection`, returning an array of all elements
* `predicate` returns truthy for. The predicate is invoked with three arguments:
* (value, index|key, collection).
* `predicate` returns truthy for. The predicate is invoked with three
* arguments: (value, index|key, collection).
*
* @static
* @memberOf _
* @since 0.1.0
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @returns {Array} Returns the new filtered array.

@@ -18,0 +20,0 @@ * @example

@@ -9,10 +9,12 @@ var baseEach = require('./_baseEach'),

* Iterates over elements of `collection`, returning the first element
* `predicate` returns truthy for. The predicate is invoked with three arguments:
* (value, index|key, collection).
* `predicate` returns truthy for. The predicate is invoked with three
* arguments: (value, index|key, collection).
*
* @static
* @memberOf _
* @since 0.1.0
* @category Collection
* @param {Array|Object} collection The collection to search.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @returns {*} Returns the matched element, else `undefined`.

@@ -19,0 +21,0 @@ * @example

@@ -10,5 +10,7 @@ var baseFindIndex = require('./_baseFindIndex'),

* @memberOf _
* @since 1.1.0
* @category Array
* @param {Array} array The array to search.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @returns {number} Returns the index of the found element, else `-1`.

@@ -15,0 +17,0 @@ * @example

@@ -11,6 +11,9 @@ var baseFind = require('./_baseFind'),

* @memberOf _
* @since 1.1.0
* @category Object
* @param {Object} object The object to search.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @returns {string|undefined} Returns the key of the matched element, else `undefined`.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @returns {string|undefined} Returns the key of the matched element,
* else `undefined`.
* @example

@@ -17,0 +20,0 @@ *

@@ -13,5 +13,7 @@ var baseEachRight = require('./_baseEachRight'),

* @memberOf _
* @since 2.0.0
* @category Collection
* @param {Array|Object} collection The collection to search.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @returns {*} Returns the matched element, else `undefined`.

@@ -18,0 +20,0 @@ * @example

@@ -10,5 +10,7 @@ var baseFindIndex = require('./_baseFindIndex'),

* @memberOf _
* @since 2.0.0
* @category Array
* @param {Array} array The array to search.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @returns {number} Returns the index of the found element, else `-1`.

@@ -15,0 +17,0 @@ * @example

@@ -11,6 +11,9 @@ var baseFind = require('./_baseFind'),

* @memberOf _
* @since 2.0.0
* @category Object
* @param {Object} object The object to search.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @returns {string|undefined} Returns the key of the matched element, else `undefined`.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @returns {string|undefined} Returns the key of the matched element,
* else `undefined`.
* @example

@@ -17,0 +20,0 @@ *

@@ -5,11 +5,13 @@ var baseFlatten = require('./_baseFlatten'),

/**
* Creates an array of flattened values by running each element in `collection`
* through `iteratee` and concating its result to the other mapped values.
* The iteratee is invoked with three arguments: (value, index|key, collection).
* Creates a flattened array of values by running each element in `collection`
* through `iteratee` and flattening the mapped results. The iteratee is
* invoked with three arguments: (value, index|key, collection).
*
* @static
* @memberOf _
* @since 4.0.0
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {Function|Object|string} [iteratee=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The function invoked per iteration.
* @returns {Array} Returns the new flattened array.

@@ -16,0 +18,0 @@ * @example

@@ -8,2 +8,3 @@ var baseFlatten = require('./_baseFlatten');

* @memberOf _
* @since 0.1.0
* @category Array

@@ -10,0 +11,0 @@ * @param {Array} array The array to flatten.

@@ -11,2 +11,3 @@ var baseFlatten = require('./_baseFlatten');

* @memberOf _
* @since 3.0.0
* @category Array

@@ -13,0 +14,0 @@ * @param {Array} array The array to flatten.

@@ -9,2 +9,3 @@ var baseFlatten = require('./_baseFlatten'),

* @memberOf _
* @since 4.4.0
* @category Array

@@ -11,0 +12,0 @@ * @param {Array} array The array to flatten.

@@ -11,2 +11,3 @@ var createWrapper = require('./_createWrapper');

* @memberOf _
* @since 4.0.0
* @category Function

@@ -13,0 +14,0 @@ * @param {Function} func The function to flip arguments for.

@@ -8,2 +8,3 @@ var createRound = require('./_createRound');

* @memberOf _
* @since 3.10.0
* @category Math

@@ -10,0 +11,0 @@ * @param {number} number The number to round down.

@@ -10,2 +10,3 @@ var createFlow = require('./_createFlow');

* @memberOf _
* @since 3.0.0
* @category Util

@@ -12,0 +13,0 @@ * @param {...(Function|Function[])} [funcs] Functions to invoke.

@@ -8,2 +8,3 @@ var createFlow = require('./_createFlow');

* @static
* @since 0.1.0
* @memberOf _

@@ -10,0 +11,0 @@ * @category Util

var arrayEach = require('./_arrayEach'),
baseCastFunction = require('./_baseCastFunction'),
baseEach = require('./_baseEach'),
baseIteratee = require('./_baseIteratee'),
isArray = require('./isArray');

@@ -11,8 +11,9 @@

*
* **Note:** As with other "Collections" methods, objects with a "length" property
* are iterated like arrays. To avoid this behavior use `_.forIn` or `_.forOwn`
* for object iteration.
* **Note:** As with other "Collections" methods, objects with a "length"
* property are iterated like arrays. To avoid this behavior use `_.forIn`
* or `_.forOwn` for object iteration.
*
* @static
* @memberOf _
* @since 0.1.0
* @alias each

@@ -28,3 +29,3 @@ * @category Collection

* });
* // => logs `1` then `2`
* // => Logs `1` then `2`.
*

@@ -34,3 +35,3 @@ * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {

* });
* // => logs 'a' then 'b' (iteration order is not guaranteed)
* // => Logs 'a' then 'b' (iteration order is not guaranteed).
*/

@@ -40,5 +41,5 @@ function forEach(collection, iteratee) {

? arrayEach(collection, iteratee)
: baseEach(collection, baseCastFunction(iteratee));
: baseEach(collection, baseIteratee(iteratee));
}
module.exports = forEach;
var arrayEachRight = require('./_arrayEachRight'),
baseCastFunction = require('./_baseCastFunction'),
baseEachRight = require('./_baseEachRight'),
baseIteratee = require('./_baseIteratee'),
isArray = require('./isArray');

@@ -12,2 +12,3 @@

* @memberOf _
* @since 2.0.0
* @alias eachRight

@@ -23,3 +24,3 @@ * @category Collection

* });
* // => logs `2` then `1`
* // => Logs `2` then `1`.
*/

@@ -29,5 +30,5 @@ function forEachRight(collection, iteratee) {

? arrayEachRight(collection, iteratee)
: baseEachRight(collection, baseCastFunction(iteratee));
: baseEachRight(collection, baseIteratee(iteratee));
}
module.exports = forEachRight;

@@ -1,13 +0,14 @@

var baseCastFunction = require('./_baseCastFunction'),
baseFor = require('./_baseFor'),
var baseFor = require('./_baseFor'),
baseIteratee = require('./_baseIteratee'),
keysIn = require('./keysIn');
/**
* Iterates over own and inherited enumerable properties of an object invoking
* `iteratee` for each property. The iteratee is invoked with three arguments:
* (value, key, object). Iteratee functions may exit iteration early by explicitly
* returning `false`.
* Iterates over own and inherited enumerable string keyed properties of an
* object invoking `iteratee` for each property. The iteratee is invoked with
* three arguments: (value, key, object). Iteratee functions may exit iteration
* early by explicitly returning `false`.
*
* @static
* @memberOf _
* @since 0.3.0
* @category Object

@@ -29,3 +30,3 @@ * @param {Object} object The object to iterate over.

* });
* // => logs 'a', 'b', then 'c' (iteration order is not guaranteed)
* // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).
*/

@@ -35,5 +36,5 @@ function forIn(object, iteratee) {

? object
: baseFor(object, baseCastFunction(iteratee), keysIn);
: baseFor(object, baseIteratee(iteratee), keysIn);
}
module.exports = forIn;

@@ -1,3 +0,3 @@

var baseCastFunction = require('./_baseCastFunction'),
baseForRight = require('./_baseForRight'),
var baseForRight = require('./_baseForRight'),
baseIteratee = require('./_baseIteratee'),
keysIn = require('./keysIn');

@@ -11,2 +11,3 @@

* @memberOf _
* @since 2.0.0
* @category Object

@@ -28,3 +29,3 @@ * @param {Object} object The object to iterate over.

* });
* // => logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'
* // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.
*/

@@ -34,5 +35,5 @@ function forInRight(object, iteratee) {

? object
: baseForRight(object, baseCastFunction(iteratee), keysIn);
: baseForRight(object, baseIteratee(iteratee), keysIn);
}
module.exports = forInRight;

@@ -1,7 +0,7 @@

var baseCastFunction = require('./_baseCastFunction'),
baseForOwn = require('./_baseForOwn');
var baseForOwn = require('./_baseForOwn'),
baseIteratee = require('./_baseIteratee');
/**
* Iterates over own enumerable properties of an object invoking `iteratee`
* for each property. The iteratee is invoked with three arguments:
* Iterates over own enumerable string keyed properties of an object invoking
* `iteratee` for each property. The iteratee is invoked with three arguments:
* (value, key, object). Iteratee functions may exit iteration early by

@@ -12,2 +12,3 @@ * explicitly returning `false`.

* @memberOf _
* @since 0.3.0
* @category Object

@@ -29,8 +30,8 @@ * @param {Object} object The object to iterate over.

* });
* // => logs 'a' then 'b' (iteration order is not guaranteed)
* // => Logs 'a' then 'b' (iteration order is not guaranteed).
*/
function forOwn(object, iteratee) {
return object && baseForOwn(object, baseCastFunction(iteratee));
return object && baseForOwn(object, baseIteratee(iteratee));
}
module.exports = forOwn;

@@ -1,3 +0,3 @@

var baseCastFunction = require('./_baseCastFunction'),
baseForOwnRight = require('./_baseForOwnRight');
var baseForOwnRight = require('./_baseForOwnRight'),
baseIteratee = require('./_baseIteratee');

@@ -10,2 +10,3 @@ /**

* @memberOf _
* @since 2.0.0
* @category Object

@@ -27,8 +28,8 @@ * @param {Object} object The object to iterate over.

* });
* // => logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'
* // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.
*/
function forOwnRight(object, iteratee) {
return object && baseForOwnRight(object, baseCastFunction(iteratee));
return object && baseForOwnRight(object, baseIteratee(iteratee));
}
module.exports = forOwnRight;

@@ -44,6 +44,8 @@ var mapping = require('./_mapping'),

var forceRearg = ('rearg' in options) && options.rearg,
placeholder = isLib ? func : fallbackHolder;
placeholder = isLib ? func : fallbackHolder,
pristine = isLib ? func.runInContext() : undefined;
var helpers = isLib ? func : {
'ary': util.ary,
'assign': util.assign,
'clone': util.clone,

@@ -62,2 +64,3 @@ 'curry': util.curry,

var ary = helpers.ary,
assign = helpers.assign,
clone = helpers.clone,

@@ -117,2 +120,6 @@ curry = helpers.curry,

var convertLib = function(options) {
return _.runInContext.convert(options)();
};
var createCloner = function(func) {

@@ -232,4 +239,15 @@ return function(object) {

var wrapper = wrappers[name];
var convertMethod = function(options) {
var newUtil = isLib ? pristine : helpers,
newFunc = isLib ? pristine[name] : func,
newOptions = assign(assign({}, config), options);
return baseConvert(newUtil, name, newFunc, newOptions);
};
if (wrapper) {
return wrapper(func);
var result = wrapper(func);
result.convert = convertMethod;
return result;
}

@@ -248,3 +266,2 @@ var wrapped = func;

}
var result;
each(aryMethodKeys, function(aryKey) {

@@ -283,5 +300,11 @@ each(mapping.aryMethod[aryKey], function(otherName) {

result || (result = wrapped);
if (result == func) {
result = function() {
return func.apply(this, arguments);
};
}
result.convert = convertMethod;
if (mapping.placeholder[name]) {
setPlaceholder = true;
func.placeholder = result.placeholder = placeholder;
result.placeholder = func.placeholder = placeholder;
}

@@ -312,6 +335,7 @@ return result;

_.convert = convertLib;
if (setPlaceholder) {
_.placeholder = placeholder;
}
// Wrap the lodash method and its aliases.
// Reassign aliases.
each(keys(_), function(key) {

@@ -318,0 +342,0 @@ each(mapping.realToAlias[key] || [], function(alias) {

/** Used to map aliases to their real names. */
exports.aliasToReal = {
// Lodash aliases.
'each': 'forEach',
'eachRight': 'forEachRight',
'entries': 'toPairs',
'entriesIn': 'toPairsIn',
'extend': 'assignIn',
'extendWith': 'assignInWith',
'first': 'head',
// Ramda aliases.
'__': 'placeholder',
'all': 'some',
'all': 'every',
'allPass': 'overEvery',
'always': 'constant',
'any': 'some',
'anyPass': 'overSome',
'apply': 'spread',
'assoc': 'set',
'assocPath': 'set',
'complement': 'negate',
'compose': 'flowRight',

@@ -13,9 +28,7 @@ 'contains': 'includes',

'dissocPath': 'unset',
'each': 'forEach',
'eachRight': 'forEachRight',
'equals': 'isEqual',
'extend': 'assignIn',
'extendWith': 'assignInWith',
'first': 'head',
'identical': 'eq',
'init': 'initial',
'invertObj': 'invert',
'juxt': 'over',
'mapObj': 'mapValues',

@@ -32,3 +45,2 @@ 'omitAll': 'omit',

'propOr': 'getOr',
'somePass': 'overSome',
'unapply': 'rest',

@@ -50,28 +62,31 @@ 'unnest': 'flatten',

'2': [
'add', 'after', 'ary', 'assign', 'assignIn', 'at', 'before', 'bind', 'bindKey',
'chunk', 'cloneDeepWith', 'cloneWith', 'concat', 'countBy', 'curryN',
'add', 'after', 'ary', 'assign', 'assignIn', 'at', 'before', 'bind', 'bindAll',
'bindKey', 'chunk', 'cloneDeepWith', 'cloneWith', 'concat', 'countBy', 'curryN',
'curryRightN', 'debounce', 'defaults', 'defaultsDeep', 'delay', 'difference',
'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith', 'eq', 'every',
'filter', 'find', 'find', 'findIndex', 'findKey', 'findLast', 'findLastIndex',
'findLastKey', 'flatMap', 'flattenDepth', 'forEach', 'forEachRight', 'forIn',
'forInRight', 'forOwn', 'forOwnRight', 'get', 'groupBy', 'gt', 'gte', 'has',
'hasIn', 'includes', 'indexOf', 'intersection', 'invertBy', 'invoke', 'invokeMap',
'isEqual', 'isMatch', 'join', 'keyBy', 'lastIndexOf', 'lt', 'lte', 'map',
'mapKeys', 'mapValues', 'matchesProperty', 'maxBy', 'merge', 'minBy', 'omit',
'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial',
'partialRight', 'partition', 'pick', 'pickBy', 'pull', 'pullAll', 'pullAt',
'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove', 'repeat', 'result',
'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith',
'eq', 'every', 'filter', 'find', 'find', 'findIndex', 'findKey', 'findLast',
'findLastIndex', 'findLastKey', 'flatMap', 'flatMapDeep', 'flattenDepth',
'forEach', 'forEachRight', 'forIn', 'forInRight', 'forOwn', 'forOwnRight',
'get', 'groupBy', 'gt', 'gte', 'has', 'hasIn', 'includes', 'indexOf',
'intersection', 'invertBy', 'invoke', 'invokeMap', 'isEqual', 'isMatch',
'join', 'keyBy', 'lastIndexOf', 'lt', 'lte', 'map', 'mapKeys', 'mapValues',
'matchesProperty', 'maxBy', 'meanBy', 'merge', 'minBy', 'multiply', 'omit', 'omitBy',
'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial', 'partialRight',
'partition', 'pick', 'pickBy', 'pull', 'pullAll', 'pullAt', 'random', 'range',
'rangeRight', 'rearg', 'reject', 'remove', 'repeat', 'restFrom', 'result',
'sampleSize', 'some', 'sortBy', 'sortedIndex', 'sortedIndexOf', 'sortedLastIndex',
'sortedLastIndexOf', 'sortedUniqBy', 'split', 'startsWith', 'subtract', 'sumBy',
'take', 'takeRight', 'takeRightWhile', 'takeWhile', 'tap', 'throttle', 'thru',
'times', 'trimChars', 'trimCharsEnd', 'trimCharsStart', 'truncate', 'union',
'uniqBy', 'uniqWith', 'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip',
'zipObject', 'zipObjectDeep'
'sortedLastIndexOf', 'sortedUniqBy', 'split', 'spreadFrom', 'startsWith',
'subtract', 'sumBy', 'take', 'takeRight', 'takeRightWhile', 'takeWhile', 'tap',
'throttle', 'thru', 'times', 'trimChars', 'trimCharsEnd', 'trimCharsStart',
'truncate', 'union', 'uniqBy', 'uniqWith', 'unset', 'unzipWith', 'without',
'wrap', 'xor', 'zip', 'zipObject', 'zipObjectDeep'
],
'3': [
'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith',
'getOr', 'inRange', 'intersectionBy', 'intersectionWith', 'isEqualWith',
'isMatchWith', 'mergeWith', 'orderBy', 'pullAllBy', 'pullAllWith', 'reduce',
'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy', 'sortedLastIndexBy',
'transform', 'unionBy', 'unionWith', 'update', 'xorBy', 'xorWith', 'zipWith'
'getOr', 'inRange', 'intersectionBy', 'intersectionWith', 'invokeArgs',
'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth', 'mergeWith',
'orderBy', 'padChars', 'padCharsEnd', 'padCharsStart', 'pullAllBy',
'pullAllWith', 'reduce', 'reduceRight', 'replace', 'set', 'slice',
'sortedIndexBy', 'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith',
'update', 'xorBy', 'xorWith', 'zipWith'
],

@@ -92,6 +107,2 @@ '4': [

exports.iterateeAry = {
'assignWith': 2,
'assignInWith': 2,
'cloneDeepWith': 1,
'cloneWith': 1,
'dropRightWhile': 1,

@@ -108,2 +119,4 @@ 'dropWhile': 1,

'flatMap': 1,
'flatMapDeep': 1,
'flatMapDepth': 1,
'forEach': 1,

@@ -115,4 +128,2 @@ 'forEachRight': 1,

'forOwnRight': 1,
'isEqualWith': 2,
'isMatchWith': 2,
'map': 1,

@@ -143,4 +154,8 @@ 'mapKeys': 1,

'getOr': [2, 1, 0],
'isEqualWith': [1, 2, 0],
'isMatchWith': [2, 1, 0],
'mergeWith': [1, 2, 0],
'padChars': [2, 1, 0],
'padCharsEnd': [2, 1, 0],
'padCharsStart': [2, 1, 0],
'pullAllBy': [2, 1, 0],

@@ -157,4 +172,7 @@ 'pullAllWith': [2, 1, 0],

exports.methodSpread = {
'invokeArgs': 2,
'invokeArgsMap': 2,
'partial': 1,
'partialRight': 1
'partialRight': 1,
'without': 1
};

@@ -225,2 +243,9 @@

'getOr': 'get',
'invokeArgs': 'invoke',
'invokeArgsMap': 'invokeMap',
'padChars': 'pad',
'padCharsEnd': 'padEnd',
'padCharsStart': 'padStart',
'restFrom': 'rest',
'spreadFrom': 'spread',
'trimChars': 'trim',

@@ -236,6 +261,11 @@ 'trimCharsEnd': 'trimEnd',

'assignIn': true,
'bind': true,
'bindKey': true,
'concat': true,
'difference': true,
'divide': true,
'eq': true,
'gt': true,
'gte': true,
'isEqual': true,
'lt': true,

@@ -245,2 +275,3 @@ 'lte': true,

'merge': true,
'multiply': true,
'partial': true,

@@ -252,4 +283,5 @@ 'partialRight': true,

'subtract': true,
'without': true,
'zip': true,
'zipObject': true
};
module.exports = {
'ary': require('../ary'),
'assign': require('../_baseAssign'),
'clone': require('../clone'),

@@ -4,0 +5,0 @@ 'curry': require('../curry'),

@@ -1,1 +0,1 @@

module.exports = require('./some');
module.exports = require('./every');

@@ -1,1 +0,2 @@

module.exports = require('../bindAll');
var convert = require('./convert');
module.exports = convert('bindAll', require('../bindAll'));

@@ -7,2 +7,3 @@ /**

* @memberOf _
* @since 4.0.0
* @category Array

@@ -9,0 +10,0 @@ * @param {Array} pairs The key-value pairs.

@@ -9,2 +9,3 @@ var baseFunctions = require('./_baseFunctions'),

* @static
* @since 0.1.0
* @memberOf _

@@ -11,0 +12,0 @@ * @category Object

@@ -10,2 +10,3 @@ var baseFunctions = require('./_baseFunctions'),

* @memberOf _
* @since 4.0.0
* @category Object

@@ -12,0 +13,0 @@ * @param {Object} object The object to inspect.

@@ -9,6 +9,7 @@ var baseGet = require('./_baseGet');

* @memberOf _
* @since 3.7.0
* @category Object
* @param {Object} object The object to query.
* @param {Array|string} path The path of the property to get.
* @param {*} [defaultValue] The value returned if the resolved value is `undefined`.
* @param {*} [defaultValue] The value returned for `undefined` resolved values.
* @returns {*} Returns the resolved value.

@@ -15,0 +16,0 @@ * @example

@@ -17,5 +17,7 @@ var createAggregator = require('./_createAggregator');

* @memberOf _
* @since 0.1.0
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {Function|Object|string} [iteratee=_.identity] The iteratee to transform keys.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee to transform keys.
* @returns {Object} Returns the composed aggregate object.

@@ -22,0 +24,0 @@ * @example

@@ -6,6 +6,8 @@ /**

* @memberOf _
* @since 3.9.0
* @category Lang
* @param {*} value The value to compare.
* @param {*} other The other value to compare.
* @returns {boolean} Returns `true` if `value` is greater than `other`, else `false`.
* @returns {boolean} Returns `true` if `value` is greater than `other`,
* else `false`.
* @example

@@ -12,0 +14,0 @@ *

@@ -6,6 +6,8 @@ /**

* @memberOf _
* @since 3.9.0
* @category Lang
* @param {*} value The value to compare.
* @param {*} other The other value to compare.
* @returns {boolean} Returns `true` if `value` is greater than or equal to `other`, else `false`.
* @returns {boolean} Returns `true` if `value` is greater than or equal to
* `other`, else `false`.
* @example

@@ -12,0 +14,0 @@ *

@@ -8,2 +8,3 @@ var baseHas = require('./_baseHas'),

* @static
* @since 0.1.0
* @memberOf _

@@ -10,0 +11,0 @@ * @category Object

@@ -9,2 +9,3 @@ var baseHasIn = require('./_baseHasIn'),

* @memberOf _
* @since 4.0.0
* @category Object

@@ -11,0 +12,0 @@ * @param {Object} object The object to query.

@@ -6,2 +6,3 @@ /**

* @memberOf _
* @since 0.1.0
* @alias first

@@ -8,0 +9,0 @@ * @category Array

@@ -5,2 +5,3 @@ /**

* @static
* @since 0.1.0
* @memberOf _

@@ -7,0 +8,0 @@ * @category Util

@@ -11,4 +11,5 @@ var baseIndexOf = require('./_baseIndexOf'),

/**
* Checks if `value` is in `collection`. If `collection` is a string it's checked
* for a substring of `value`, otherwise [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
* Checks if `value` is in `collection`. If `collection` is a string it's
* checked for a substring of `value`, otherwise
* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
* is used for equality comparisons. If `fromIndex` is negative, it's used as

@@ -19,2 +20,3 @@ * the offset from the end of `collection`.

* @memberOf _
* @since 0.1.0
* @category Collection

@@ -24,3 +26,3 @@ * @param {Array|Object|string} collection The collection to search.

* @param {number} [fromIndex=0] The index to search from.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.reduce`.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.
* @returns {boolean} Returns `true` if `value` is found, else `false`.

@@ -27,0 +29,0 @@ * @example

@@ -15,2 +15,3 @@ var baseIndexOf = require('./_baseIndexOf'),

* @memberOf _
* @since 0.1.0
* @category Array

@@ -17,0 +18,0 @@ * @param {Array} array The array to search.

@@ -8,2 +8,3 @@ var dropRight = require('./dropRight');

* @memberOf _
* @since 0.1.0
* @category Array

@@ -10,0 +11,0 @@ * @param {Array} array The array to query.

@@ -12,2 +12,3 @@ var baseInRange = require('./_baseInRange'),

* @memberOf _
* @since 3.3.0
* @category Number

@@ -14,0 +15,0 @@ * @param {number} number The number to check.

@@ -14,2 +14,3 @@ var arrayMap = require('./_arrayMap'),

* @memberOf _
* @since 0.1.0
* @category Array

@@ -16,0 +17,0 @@ * @param {...Array} [arrays] The arrays to inspect.

@@ -16,5 +16,7 @@ var arrayMap = require('./_arrayMap'),

* @memberOf _
* @since 4.0.0
* @category Array
* @param {...Array} [arrays] The arrays to inspect.
* @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @returns {Array} Returns the new array of intersecting values.

@@ -21,0 +23,0 @@ * @example

@@ -15,2 +15,3 @@ var arrayMap = require('./_arrayMap'),

* @memberOf _
* @since 4.0.0
* @category Array

@@ -17,0 +18,0 @@ * @param {...Array} [arrays] The arrays to inspect.

@@ -7,7 +7,8 @@ var constant = require('./constant'),

* Creates an object composed of the inverted keys and values of `object`.
* If `object` contains duplicate values, subsequent values overwrite property
* assignments of previous values.
* If `object` contains duplicate values, subsequent values overwrite
* property assignments of previous values.
*
* @static
* @memberOf _
* @since 0.7.0
* @category Object

@@ -14,0 +15,0 @@ * @param {Object} object The object to invert.

@@ -19,5 +19,7 @@ var baseIteratee = require('./_baseIteratee'),

* @memberOf _
* @since 4.1.0
* @category Object
* @param {Object} object The object to invert.
* @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @returns {Object} Returns the new inverted object.

@@ -24,0 +26,0 @@ * @example

@@ -9,2 +9,3 @@ var baseInvoke = require('./_baseInvoke'),

* @memberOf _
* @since 4.0.0
* @category Object

@@ -11,0 +12,0 @@ * @param {Object} object The object to query.

@@ -16,2 +16,3 @@ var apply = require('./_apply'),

* @memberOf _
* @since 4.0.0
* @category Collection

@@ -18,0 +19,0 @@ * @param {Array|Object} collection The collection to iterate over.

@@ -26,5 +26,7 @@ var isArrayLikeObject = require('./isArrayLikeObject');

* @memberOf _
* @since 0.1.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @example

@@ -31,0 +33,0 @@ *

@@ -6,6 +6,8 @@ /**

* @memberOf _
* @since 0.1.0
* @type {Function}
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @example

@@ -12,0 +14,0 @@ *

@@ -19,5 +19,7 @@ var isObjectLike = require('./isObjectLike');

* @memberOf _
* @since 4.3.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @example

@@ -24,0 +26,0 @@ *

@@ -12,2 +12,3 @@ var getLength = require('./_getLength'),

* @memberOf _
* @since 4.0.0
* @category Lang

@@ -14,0 +15,0 @@ * @param {*} value The value to check.

@@ -10,5 +10,7 @@ var isArrayLike = require('./isArrayLike'),

* @memberOf _
* @since 4.0.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is an array-like object, else `false`.
* @returns {boolean} Returns `true` if `value` is an array-like object,
* else `false`.
* @example

@@ -15,0 +17,0 @@ *

@@ -20,5 +20,7 @@ var isObjectLike = require('./isObjectLike');

* @memberOf _
* @since 0.1.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @example

@@ -25,0 +27,0 @@ *

@@ -33,2 +33,3 @@ var constant = require('./constant'),

* @memberOf _
* @since 4.3.0
* @category Lang

@@ -35,0 +36,0 @@ * @param {*} value The value to check.

@@ -20,5 +20,7 @@ var isObjectLike = require('./isObjectLike');

* @memberOf _
* @since 0.1.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @example

@@ -25,0 +27,0 @@ *

@@ -9,5 +9,7 @@ var isObjectLike = require('./isObjectLike'),

* @memberOf _
* @since 0.1.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.
* @returns {boolean} Returns `true` if `value` is a DOM element,
* else `false`.
* @example

@@ -14,0 +16,0 @@ *

@@ -1,7 +0,15 @@

var isArguments = require('./isArguments'),
var getTag = require('./_getTag'),
isArguments = require('./isArguments'),
isArray = require('./isArray'),
isArrayLike = require('./isArrayLike'),
isBuffer = require('./isBuffer'),
isFunction = require('./isFunction'),
isString = require('./isString');
isObjectLike = require('./isObjectLike'),
isString = require('./isString'),
keys = require('./keys');
/** `Object#toString` result references. */
var mapTag = '[object Map]',
setTag = '[object Set]';
/** Used for built-in method references. */

@@ -13,9 +21,21 @@ var objectProto = Object.prototype;

/** Built-in value references. */
var propertyIsEnumerable = objectProto.propertyIsEnumerable;
/** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */
var nonEnumShadows = !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf');
/**
* Checks if `value` is an empty collection or object. A value is considered
* empty if it's an `arguments` object, array, string, or jQuery-like collection
* with a length of `0` or has no own enumerable properties.
* Checks if `value` is an empty object, collection, map, or set.
*
* Objects are considered empty if they have no own enumerable string keyed
* properties.
*
* Array-like values such as `arguments` objects, arrays, buffers, strings, or
* jQuery-like collections are considered empty if they have a `length` of `0`.
* Similarly, maps and sets are considered empty if they have a `size` of `0`.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Lang

@@ -43,6 +63,12 @@ * @param {*} value The value to check.

if (isArrayLike(value) &&
(isArray(value) || isString(value) ||
isFunction(value.splice) || isArguments(value))) {
(isArray(value) || isString(value) || isFunction(value.splice) ||
isArguments(value) || isBuffer(value))) {
return !value.length;
}
if (isObjectLike(value)) {
var tag = getTag(value);
if (tag == mapTag || tag == setTag) {
return !value.size;
}
}
for (var key in value) {

@@ -53,5 +79,5 @@ if (hasOwnProperty.call(value, key)) {

}
return true;
return !(nonEnumShadows && keys(value).length);
}
module.exports = isEmpty;

@@ -15,6 +15,8 @@ var baseIsEqual = require('./_baseIsEqual');

* @memberOf _
* @since 0.1.0
* @category Lang
* @param {*} value The value to compare.
* @param {*} other The other value to compare.
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
* @returns {boolean} Returns `true` if the values are equivalent,
* else `false`.
* @example

@@ -21,0 +23,0 @@ *

@@ -11,2 +11,3 @@ var baseIsEqual = require('./_baseIsEqual');

* @memberOf _
* @since 4.0.0
* @category Lang

@@ -16,3 +17,4 @@ * @param {*} value The value to compare.

* @param {Function} [customizer] The function to customize comparisons.
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
* @returns {boolean} Returns `true` if the values are equivalent,
* else `false`.
* @example

@@ -19,0 +21,0 @@ *

@@ -21,5 +21,7 @@ var isObjectLike = require('./isObjectLike');

* @memberOf _
* @since 3.0.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is an error object, else `false`.
* @returns {boolean} Returns `true` if `value` is an error object,
* else `false`.
* @example

@@ -26,0 +28,0 @@ *

@@ -9,9 +9,12 @@ var root = require('./_root');

*
* **Note:** This method is based on [`Number.isFinite`](https://mdn.io/Number/isFinite).
* **Note:** This method is based on
* [`Number.isFinite`](https://mdn.io/Number/isFinite).
*
* @static
* @memberOf _
* @since 0.1.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
* @returns {boolean} Returns `true` if `value` is a finite number,
* else `false`.
* @example

@@ -18,0 +21,0 @@ *

@@ -21,5 +21,7 @@ var isObject = require('./isObject');

* @memberOf _
* @since 0.1.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @example

@@ -26,0 +28,0 @@ *

@@ -6,6 +6,8 @@ var toInteger = require('./toInteger');

*
* **Note:** This method is based on [`Number.isInteger`](https://mdn.io/Number/isInteger).
* **Note:** This method is based on
* [`Number.isInteger`](https://mdn.io/Number/isInteger).
*
* @static
* @memberOf _
* @since 4.0.0
* @category Lang

@@ -12,0 +14,0 @@ * @param {*} value The value to check.

@@ -7,9 +7,12 @@ /** Used as references for various `Number` constants. */

*
* **Note:** This function is loosely based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
* **Note:** This function is loosely based on
* [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
*
* @static
* @memberOf _
* @since 4.0.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
* @returns {boolean} Returns `true` if `value` is a valid length,
* else `false`.
* @example

@@ -16,0 +19,0 @@ *

@@ -12,5 +12,7 @@ var getTag = require('./_getTag'),

* @memberOf _
* @since 4.3.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @example

@@ -17,0 +19,0 @@ *

@@ -13,2 +13,3 @@ var baseIsMatch = require('./_baseIsMatch'),

* @memberOf _
* @since 3.0.0
* @category Lang

@@ -15,0 +16,0 @@ * @param {Object} object The object to inspect.

@@ -12,2 +12,3 @@ var baseIsMatch = require('./_baseIsMatch'),

* @memberOf _
* @since 4.0.0
* @category Lang

@@ -14,0 +15,0 @@ * @param {Object} object The object to inspect.

@@ -6,7 +6,9 @@ var isNumber = require('./isNumber');

*
* **Note:** This method is not the same as [`isNaN`](https://es5.github.io/#x15.1.2.4)
* which returns `true` for `undefined` and other non-numeric values.
* **Note:** This method is not the same as
* [`isNaN`](https://es5.github.io/#x15.1.2.4) which returns `true` for
* `undefined` and other non-numeric values.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Lang

@@ -31,3 +33,4 @@ * @param {*} value The value to check.

// An `NaN` primitive is the only value that is not equal to itself.
// Perform the `toStringTag` check first to avoid errors with some ActiveX objects in IE.
// Perform the `toStringTag` check first to avoid errors with some
// ActiveX objects in IE.
return isNumber(value) && value != +value;

@@ -34,0 +37,0 @@ }

@@ -8,3 +8,3 @@ var isFunction = require('./isFunction'),

/** Used to detect host constructors (Safari > 5). */
/** Used to detect host constructors (Safari). */
var reIsHostCtor = /^\[object .+?Constructor\]$/;

@@ -32,5 +32,7 @@

* @memberOf _
* @since 3.0.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a native function, else `false`.
* @returns {boolean} Returns `true` if `value` is a native function,
* else `false`.
* @example

@@ -37,0 +39,0 @@ *

@@ -6,2 +6,3 @@ /**

* @memberOf _
* @since 4.0.0
* @category Lang

@@ -8,0 +9,0 @@ * @param {*} value The value to check.

@@ -6,2 +6,3 @@ /**

* @memberOf _
* @since 0.1.0
* @category Lang

@@ -8,0 +9,0 @@ * @param {*} value The value to check.

@@ -18,10 +18,12 @@ var isObjectLike = require('./isObjectLike');

*
* **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are classified
* as numbers, use the `_.isFinite` method.
* **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are
* classified as numbers, use the `_.isFinite` method.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @example

@@ -28,0 +30,0 @@ *

@@ -7,2 +7,3 @@ /**

* @memberOf _
* @since 0.1.0
* @category Lang

@@ -9,0 +10,0 @@ * @param {*} value The value to check.

@@ -7,2 +7,3 @@ /**

* @memberOf _
* @since 4.0.0
* @category Lang

@@ -9,0 +10,0 @@ * @param {*} value The value to check.

@@ -1,2 +0,3 @@

var isHostObject = require('./_isHostObject'),
var getPrototype = require('./_getPrototype'),
isHostObject = require('./_isHostObject'),
isObjectLike = require('./isObjectLike');

@@ -13,2 +14,5 @@

/** Used to check objects for own properties. */
var hasOwnProperty = objectProto.hasOwnProperty;
/** Used to infer the `Object` constructor. */

@@ -23,5 +27,2 @@ var objectCtorString = funcToString.call(Object);

/** Built-in value references. */
var getPrototypeOf = Object.getPrototypeOf;
/**

@@ -33,5 +34,7 @@ * Checks if `value` is a plain object, that is, an object created by the

* @memberOf _
* @since 0.8.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
* @returns {boolean} Returns `true` if `value` is a plain object,
* else `false`.
* @example

@@ -60,7 +63,7 @@ *

}
var proto = getPrototypeOf(value);
var proto = getPrototype(value);
if (proto === null) {
return true;
}
var Ctor = proto.constructor;
var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
return (typeof Ctor == 'function' &&

@@ -67,0 +70,0 @@ Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);

@@ -20,5 +20,7 @@ var isObject = require('./isObject');

* @memberOf _
* @since 0.1.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @example

@@ -25,0 +27,0 @@ *

@@ -10,9 +10,12 @@ var isInteger = require('./isInteger');

*
* **Note:** This method is based on [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).
* **Note:** This method is based on
* [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).
*
* @static
* @memberOf _
* @since 4.0.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.
* @returns {boolean} Returns `true` if `value` is a safe integer,
* else `false`.
* @example

@@ -19,0 +22,0 @@ *

@@ -12,5 +12,7 @@ var getTag = require('./_getTag'),

* @memberOf _
* @since 4.3.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @example

@@ -17,0 +19,0 @@ *

@@ -20,6 +20,8 @@ var isArray = require('./isArray'),

* @static
* @since 0.1.0
* @memberOf _
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @example

@@ -26,0 +28,0 @@ *

@@ -20,5 +20,7 @@ var isObjectLike = require('./isObjectLike');

* @memberOf _
* @since 4.0.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @example

@@ -25,0 +27,0 @@ *

@@ -20,2 +20,3 @@ var isLength = require('./isLength'),

var arrayBufferTag = '[object ArrayBuffer]',
dataViewTag = '[object DataView]',
float32Tag = '[object Float32Array]',

@@ -40,7 +41,8 @@ float64Tag = '[object Float64Array]',

typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
typedArrayTags[dateTag] = typedArrayTags[errorTag] =
typedArrayTags[funcTag] = typedArrayTags[mapTag] =
typedArrayTags[numberTag] = typedArrayTags[objectTag] =
typedArrayTags[regexpTag] = typedArrayTags[setTag] =
typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
typedArrayTags[errorTag] = typedArrayTags[funcTag] =
typedArrayTags[mapTag] = typedArrayTags[numberTag] =
typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
typedArrayTags[setTag] = typedArrayTags[stringTag] =
typedArrayTags[weakMapTag] = false;

@@ -61,5 +63,7 @@ /** Used for built-in method references. */

* @memberOf _
* @since 3.0.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @example

@@ -66,0 +70,0 @@ *

@@ -5,2 +5,3 @@ /**

* @static
* @since 0.1.0
* @memberOf _

@@ -7,0 +8,0 @@ * @category Lang

@@ -12,5 +12,7 @@ var getTag = require('./_getTag'),

* @memberOf _
* @since 4.3.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @example

@@ -17,0 +19,0 @@ *

@@ -20,5 +20,7 @@ var isObjectLike = require('./isObjectLike');

* @memberOf _
* @since 4.3.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @example

@@ -25,0 +27,0 @@ *

@@ -6,8 +6,9 @@ var baseClone = require('./_baseClone'),

* Creates a function that invokes `func` with the arguments of the created
* function. If `func` is a property name the created callback returns the
* property value for a given element. If `func` is an object the created
* callback returns `true` for elements that contain the equivalent object
* properties, otherwise it returns `false`.
* function. If `func` is a property name the created function returns the
* property value for a given element. If `func` is an array or object the
* created function returns `true` for elements that contain the equivalent
* source properties, otherwise it returns `false`.
*
* @static
* @since 4.0.0
* @memberOf _

@@ -20,16 +21,27 @@ * @category Util

* var users = [
* { 'user': 'barney', 'age': 36 },
* { 'user': 'fred', 'age': 40 }
* { 'user': 'barney', 'age': 36, 'active': true },
* { 'user': 'fred', 'age': 40, 'active': false }
* ];
*
* // The `_.matches` iteratee shorthand.
* _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));
* // => [{ 'user': 'barney', 'age': 36, 'active': true }]
*
* // The `_.matchesProperty` iteratee shorthand.
* _.filter(users, _.iteratee(['user', 'fred']));
* // => [{ 'user': 'fred', 'age': 40 }]
*
* // The `_.property` iteratee shorthand.
* _.map(users, _.iteratee('user'));
* // => ['barney', 'fred']
*
* // Create custom iteratee shorthands.
* _.iteratee = _.wrap(_.iteratee, function(callback, func) {
* var p = /^(\S+)\s*([<>])\s*(\S+)$/.exec(func);
* return !p ? callback(func) : function(object) {
* return (p[2] == '>' ? object[p[1]] > p[3] : object[p[1]] < p[3]);
* _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {
* return !_.isRegExp(func) ? iteratee(func) : function(string) {
* return func.test(string);
* };
* });
*
* _.filter(users, 'age > 36');
* // => [{ 'user': 'fred', 'age': 40 }]
* _.filter(['abc', 'def'], /ef/);
* // => ['def']
*/

@@ -36,0 +48,0 @@ function iteratee(func) {

@@ -12,2 +12,3 @@ /** Used for built-in method references. */

* @memberOf _
* @since 4.0.0
* @category Array

@@ -14,0 +15,0 @@ * @param {Array} array The array to convert.

var createCompounder = require('./_createCompounder');
/**
* Converts `string` to [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).
* Converts `string` to
* [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).
*
* @static
* @memberOf _
* @since 3.0.0
* @category String

@@ -19,3 +21,3 @@ * @param {string} [string=''] The string to convert.

*
* _.kebabCase('__foo_bar__');
* _.kebabCase('__FOO_BAR__');
* // => 'foo-bar'

@@ -22,0 +24,0 @@ */

@@ -11,5 +11,7 @@ var createAggregator = require('./_createAggregator');

* @memberOf _
* @since 4.0.0
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {Function|Object|string} [iteratee=_.identity] The iteratee to transform keys.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee to transform keys.
* @returns {Object} Returns the composed aggregate object.

@@ -16,0 +18,0 @@ * @example

@@ -16,2 +16,3 @@ var baseHas = require('./_baseHas'),

* @static
* @since 0.1.0
* @memberOf _

@@ -18,0 +19,0 @@ * @category Object

@@ -19,2 +19,3 @@ var baseKeysIn = require('./_baseKeysIn'),

* @memberOf _
* @since 3.0.0
* @category Object

@@ -21,0 +22,0 @@ * @param {Object} object The object to query.

@@ -6,2 +6,3 @@ /**

* @memberOf _
* @since 0.1.0
* @category Array

@@ -8,0 +9,0 @@ * @param {Array} array The array to query.

@@ -14,2 +14,3 @@ var indexOfNaN = require('./_indexOfNaN'),

* @memberOf _
* @since 0.1.0
* @category Array

@@ -37,3 +38,7 @@ * @param {Array} array The array to search.

index = toInteger(fromIndex);
index = (index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1)) + 1;
index = (
index < 0
? nativeMax(length + index, 0)
: nativeMin(index, length - 1)
) + 1;
}

@@ -40,0 +45,0 @@ if (value !== value) {

@@ -8,2 +8,3 @@ var createCompounder = require('./_createCompounder');

* @memberOf _
* @since 4.0.0
* @category String

@@ -14,3 +15,3 @@ * @param {string} [string=''] The string to convert.

*
* _.lowerCase('--Foo-Bar');
* _.lowerCase('--Foo-Bar--');
* // => 'foo bar'

@@ -17,0 +18,0 @@ *

@@ -8,2 +8,3 @@ var createCaseFirst = require('./_createCaseFirst');

* @memberOf _
* @since 4.0.0
* @category String

@@ -10,0 +11,0 @@ * @param {string} [string=''] The string to convert.

@@ -6,6 +6,8 @@ /**

* @memberOf _
* @since 3.9.0
* @category Lang
* @param {*} value The value to compare.
* @param {*} other The other value to compare.
* @returns {boolean} Returns `true` if `value` is less than `other`, else `false`.
* @returns {boolean} Returns `true` if `value` is less than `other`,
* else `false`.
* @example

@@ -12,0 +14,0 @@ *

@@ -6,6 +6,8 @@ /**

* @memberOf _
* @since 3.9.0
* @category Lang
* @param {*} value The value to compare.
* @param {*} other The other value to compare.
* @returns {boolean} Returns `true` if `value` is less than or equal to `other`, else `false`.
* @returns {boolean} Returns `true` if `value` is less than or equal to
* `other`, else `false`.
* @example

@@ -12,0 +14,0 @@ *

@@ -22,5 +22,7 @@ var arrayMap = require('./_arrayMap'),

* @memberOf _
* @since 0.1.0
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {Function|Object|string} [iteratee=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The function invoked per iteration.
* @returns {Array} Returns the new mapped array.

@@ -27,0 +29,0 @@ * @example

@@ -7,10 +7,12 @@ var baseForOwn = require('./_baseForOwn'),

* same values as `object` and keys generated by running each own enumerable
* property of `object` through `iteratee`. The iteratee is invoked with
* three arguments: (value, key, object).
* string keyed property of `object` through `iteratee`. The iteratee is
* invoked with three arguments: (value, key, object).
*
* @static
* @memberOf _
* @since 3.8.0
* @category Object
* @param {Object} object The object to iterate over.
* @param {Function|Object|string} [iteratee=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The function invoked per iteration.
* @returns {Object} Returns the new mapped object.

@@ -17,0 +19,0 @@ * @example

@@ -6,10 +6,13 @@ var baseForOwn = require('./_baseForOwn'),

* Creates an object with the same keys as `object` and values generated by
* running each own enumerable property of `object` through `iteratee`. The
* iteratee is invoked with three arguments: (value, key, object).
* running each own enumerable string keyed property of `object` through
* `iteratee`. The iteratee is invoked with three arguments:
* (value, key, object).
*
* @static
* @memberOf _
* @since 2.4.0
* @category Object
* @param {Object} object The object to iterate over.
* @param {Function|Object|string} [iteratee=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The function invoked per iteration.
* @returns {Object} Returns the new mapped object.

@@ -16,0 +19,0 @@ * @example

@@ -14,2 +14,3 @@ var baseClone = require('./_baseClone'),

* @memberOf _
* @since 3.0.0
* @category Util

@@ -16,0 +17,0 @@ * @param {Object} source The object of property values to match.

@@ -13,2 +13,3 @@ var baseClone = require('./_baseClone'),

* @memberOf _
* @since 3.2.0
* @category Util

@@ -15,0 +16,0 @@ * @param {Array|string} path The path of the property to get.

module.exports = {
'add': require('./add'),
'ceil': require('./ceil'),
'divide': require('./divide'),
'floor': require('./floor'),

@@ -8,4 +9,6 @@ 'max': require('./max'),

'mean': require('./mean'),
'meanBy': require('./meanBy'),
'min': require('./min'),
'minBy': require('./minBy'),
'multiply': require('./multiply'),
'round': require('./round'),

@@ -12,0 +15,0 @@ 'subtract': require('./subtract'),

@@ -10,2 +10,3 @@ var baseExtremum = require('./_baseExtremum'),

* @static
* @since 0.1.0
* @memberOf _

@@ -12,0 +13,0 @@ * @category Math

@@ -12,5 +12,7 @@ var baseExtremum = require('./_baseExtremum'),

* @memberOf _
* @since 4.0.0
* @category Math
* @param {Array} array The array to iterate over.
* @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @returns {*} Returns the maximum value.

@@ -17,0 +19,0 @@ * @example

@@ -1,2 +0,3 @@

var sum = require('./sum');
var baseMean = require('./_baseMean'),
identity = require('./identity');

@@ -8,2 +9,3 @@ /**

* @memberOf _
* @since 4.0.0
* @category Math

@@ -18,5 +20,5 @@ * @param {Array} array The array to iterate over.

function mean(array) {
return sum(array) / (array ? array.length : 0);
return baseMean(array, identity);
}
module.exports = mean;

@@ -15,3 +15,4 @@ var MapCache = require('./_MapCache');

* function. Its creation may be customized by replacing the `_.memoize.Cache`
* constructor with one whose instances implement the [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object)
* constructor with one whose instances implement the
* [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object)
* method interface of `delete`, `get`, `has`, and `set`.

@@ -21,2 +22,3 @@ *

* @memberOf _
* @since 0.1.0
* @category Function

@@ -66,3 +68,3 @@ * @param {Function} func The function to have its output memoized.

};
memoized.cache = new memoize.Cache;
memoized.cache = new (memoize.Cache || MapCache);
return memoized;

@@ -69,0 +71,0 @@ }

@@ -6,8 +6,8 @@ var baseMerge = require('./_baseMerge'),

* This method is like `_.assign` except that it recursively merges own and
* inherited enumerable properties of source objects into the destination
* object. Source properties that resolve to `undefined` are skipped if a
* destination value exists. Array and plain object properties are merged
* recursively.Other objects and value types are overridden by assignment.
* Source objects are applied from left to right. Subsequent sources
* overwrite property assignments of previous sources.
* inherited enumerable string keyed properties of source objects into the
* destination object. Source properties that resolve to `undefined` are
* skipped if a destination value exists. Array and plain object properties
* are merged recursively.Other objects and value types are overridden by
* assignment. Source objects are applied from left to right. Subsequent
* sources overwrite property assignments of previous sources.
*

@@ -18,2 +18,3 @@ * **Note:** This method mutates `object`.

* @memberOf _
* @since 0.5.0
* @category Object

@@ -20,0 +21,0 @@ * @param {Object} object The destination object.

@@ -15,2 +15,3 @@ var baseMerge = require('./_baseMerge'),

* @memberOf _
* @since 4.0.0
* @category Object

@@ -17,0 +18,0 @@ * @param {Object} object The destination object.

@@ -10,2 +10,3 @@ var baseInvoke = require('./_baseInvoke'),

* @memberOf _
* @since 3.7.0
* @category Util

@@ -25,4 +26,4 @@ * @param {Array|string} path The path of the method to invoke.

*
* _.invokeMap(_.sortBy(objects, _.method(['a', 'b', 'c'])), 'a.b.c');
* // => [1, 2]
* _.map(objects, _.method(['a', 'b', 'c']));
* // => [2, 1]
*/

@@ -29,0 +30,0 @@ var method = rest(function(path, args) {

@@ -11,2 +11,3 @@ var baseInvoke = require('./_baseInvoke'),

* @memberOf _
* @since 3.7.0
* @category Util

@@ -13,0 +14,0 @@ * @param {Object} object The object to query.

@@ -10,2 +10,3 @@ var baseExtremum = require('./_baseExtremum'),

* @static
* @since 0.1.0
* @memberOf _

@@ -12,0 +13,0 @@ * @category Math

@@ -12,5 +12,7 @@ var baseExtremum = require('./_baseExtremum'),

* @memberOf _
* @since 4.0.0
* @category Math
* @param {Array} array The array to iterate over.
* @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @returns {*} Returns the minimum value.

@@ -17,0 +19,0 @@ * @example

@@ -10,5 +10,5 @@ var arrayEach = require('./_arrayEach'),

/**
* Adds all own enumerable function properties of a source object to the
* destination object. If `object` is a function then methods are added to
* its prototype as well.
* Adds all own enumerable string keyed function properties of a source
* object to the destination object. If `object` is a function then methods
* are added to its prototype as well.
*

@@ -19,2 +19,3 @@ * **Note:** Use `_.runInContext` to create a pristine `lodash` function to

* @static
* @since 0.1.0
* @memberOf _

@@ -24,5 +25,4 @@ * @category Util

* @param {Object} source The object of functions to add.
* @param {Object} [options] The options object.
* @param {boolean} [options.chain=true] Specify whether the functions added
* are chainable.
* @param {Object} [options={}] The options object.
* @param {boolean} [options.chain=true] Specify whether mixins are chainable.
* @returns {Function|Object} Returns `object`.

@@ -29,0 +29,0 @@ * @example

@@ -11,2 +11,3 @@ /** Used as the `TypeError` message for "Functions" methods. */

* @memberOf _
* @since 3.0.0
* @category Function

@@ -13,0 +14,0 @@ * @param {Function} predicate The predicate to negate.

@@ -9,2 +9,3 @@ var toArray = require('./toArray');

* @memberOf _
* @since 4.0.0
* @category Seq

@@ -11,0 +12,0 @@ * @returns {Object} Returns the next iterator value.

@@ -7,2 +7,3 @@ /**

* @memberOf _
* @since 2.3.0
* @category Util

@@ -9,0 +10,0 @@ * @example

@@ -7,2 +7,3 @@ /**

* @memberOf _
* @since 2.4.0
* @type {Function}

@@ -16,3 +17,3 @@ * @category Date

* }, _.now());
* // => logs the number of milliseconds it took for the deferred function to be invoked
* // => Logs the number of milliseconds it took for the deferred function to be invoked.
*/

@@ -19,0 +20,0 @@ var now = Date.now;

@@ -8,2 +8,3 @@ var toInteger = require('./toInteger');

* @memberOf _
* @since 4.0.0
* @category Util

@@ -10,0 +11,0 @@ * @param {number} [n=0] The index of the argument to return.

@@ -9,2 +9,4 @@ module.exports = {

'defaultsDeep': require('./defaultsDeep'),
'entries': require('./entries'),
'entriesIn': require('./entriesIn'),
'extend': require('./extend'),

@@ -11,0 +13,0 @@ 'extendWith': require('./extendWith'),

var arrayMap = require('./_arrayMap'),
baseCastKey = require('./_baseCastKey'),
baseDifference = require('./_baseDifference'),
baseFlatten = require('./_baseFlatten'),
basePick = require('./_basePick'),
keysIn = require('./keysIn'),
getAllKeysIn = require('./_getAllKeysIn'),
rest = require('./rest');

@@ -10,10 +11,12 @@

* The opposite of `_.pick`; this method creates an object composed of the
* own and inherited enumerable properties of `object` that are not omitted.
* own and inherited enumerable string keyed properties of `object` that are
* not omitted.
*
* @static
* @since 0.1.0
* @memberOf _
* @category Object
* @param {Object} object The source object.
* @param {...(string|string[])} [props] The property names to omit, specified
* individually or in arrays.
* @param {...(string|string[])} [props] The property identifiers to omit,
* specified individually or in arrays.
* @returns {Object} Returns the new object.

@@ -31,6 +34,6 @@ * @example

}
props = arrayMap(baseFlatten(props, 1), String);
return basePick(object, baseDifference(keysIn(object), props));
props = arrayMap(baseFlatten(props, 1), baseCastKey);
return basePick(object, baseDifference(getAllKeysIn(object), props));
});
module.exports = omit;

@@ -6,11 +6,13 @@ var baseIteratee = require('./_baseIteratee'),

* The opposite of `_.pickBy`; this method creates an object composed of
* the own and inherited enumerable properties of `object` that `predicate`
* doesn't return truthy for. The predicate is invoked with two arguments:
* (value, key).
* the own and inherited enumerable string keyed properties of `object` that
* `predicate` doesn't return truthy for. The predicate is invoked with two
* arguments: (value, key).
*
* @static
* @memberOf _
* @since 4.0.0
* @category Object
* @param {Object} object The source object.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per property.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per property.
* @returns {Object} Returns the new object.

@@ -17,0 +19,0 @@ * @example

@@ -10,2 +10,3 @@ var before = require('./before');

* @memberOf _
* @since 0.1.0
* @category Function

@@ -12,0 +13,0 @@ * @param {Function} func The function to restrict.

@@ -12,7 +12,9 @@ var baseOrderBy = require('./_baseOrderBy'),

* @memberOf _
* @since 4.0.0
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {Function[]|Object[]|string[]} [iteratees=[_.identity]] The iteratees to sort by.
* @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]
* The iteratees to sort by.
* @param {string[]} [orders] The sort orders of `iteratees`.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.reduce`.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.
* @returns {Array} Returns the new sorted array.

@@ -24,3 +26,3 @@ * @example

* { 'user': 'barney', 'age': 34 },
* { 'user': 'fred', 'age': 42 },
* { 'user': 'fred', 'age': 40 },
* { 'user': 'barney', 'age': 36 }

@@ -31,3 +33,3 @@ * ];

* _.orderBy(users, ['user', 'age'], ['asc', 'desc']);
* // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
* // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
*/

@@ -34,0 +36,0 @@ function orderBy(collection, iteratees, orders, guard) {

@@ -10,2 +10,3 @@ var arrayMap = require('./_arrayMap'),

* @memberOf _
* @since 4.0.0
* @category Util

@@ -12,0 +13,0 @@ * @param {...(Function|Function[])} iteratees The iteratees to invoke.

@@ -15,2 +15,3 @@ var apply = require('./_apply'),

* @static
* @since 4.0.0
* @memberOf _

@@ -17,0 +18,0 @@ * @category Function

@@ -10,2 +10,3 @@ var arrayEvery = require('./_arrayEvery'),

* @memberOf _
* @since 4.0.0
* @category Util

@@ -12,0 +13,0 @@ * @param {...(Function|Function[])} predicates The predicates to check.

@@ -10,2 +10,3 @@ var arraySome = require('./_arraySome'),

* @memberOf _
* @since 4.0.0
* @category Util

@@ -12,0 +13,0 @@ * @param {...(Function|Function[])} predicates The predicates to check.

{
"name": "lodash",
"version": "4.6.1",
"version": "4.7.0",
"description": "Lodash modular utilities.",

@@ -5,0 +5,0 @@ "homepage": "https://lodash.com/",

@@ -16,2 +16,3 @@ var createPadding = require('./_createPadding'),

* @memberOf _
* @since 3.0.0
* @category String

@@ -37,13 +38,14 @@ * @param {string} [string=''] The string to pad.

var strLength = stringSize(string);
var strLength = length ? stringSize(string) : 0;
if (!length || strLength >= length) {
return string;
}
var mid = (length - strLength) / 2,
leftLength = nativeFloor(mid),
rightLength = nativeCeil(mid);
return createPadding('', leftLength, chars) + string + createPadding('', rightLength, chars);
var mid = (length - strLength) / 2;
return (
createPadding(nativeFloor(mid), chars) +
string +
createPadding(nativeCeil(mid), chars)
);
}
module.exports = pad;
var createPadding = require('./_createPadding'),
stringSize = require('./_stringSize'),
toInteger = require('./toInteger'),
toString = require('./toString');

@@ -10,2 +12,3 @@

* @memberOf _
* @since 4.0.0
* @category String

@@ -29,5 +32,10 @@ * @param {string} [string=''] The string to pad.

string = toString(string);
return string + createPadding(string, length, chars);
length = toInteger(length);
var strLength = length ? stringSize(string) : 0;
return (length && strLength < length)
? (string + createPadding(length - strLength, chars))
: string;
}
module.exports = padEnd;
var createPadding = require('./_createPadding'),
stringSize = require('./_stringSize'),
toInteger = require('./toInteger'),
toString = require('./toString');

@@ -10,2 +12,3 @@

* @memberOf _
* @since 4.0.0
* @category String

@@ -29,5 +32,10 @@ * @param {string} [string=''] The string to pad.

string = toString(string);
return createPadding(string, length, chars) + string;
length = toInteger(length);
var strLength = length ? stringSize(string) : 0;
return (length && strLength < length)
? (createPadding(length - strLength, chars) + string)
: string;
}
module.exports = padStart;

@@ -15,14 +15,15 @@ var root = require('./_root'),

* Converts `string` to an integer of the specified radix. If `radix` is
* `undefined` or `0`, a `radix` of `10` is used unless `value` is a hexadecimal,
* in which case a `radix` of `16` is used.
* `undefined` or `0`, a `radix` of `10` is used unless `value` is a
* hexadecimal, in which case a `radix` of `16` is used.
*
* **Note:** This method aligns with the [ES5 implementation](https://es5.github.io/#x15.1.2.2)
* of `parseInt`.
* **Note:** This method aligns with the
* [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.
*
* @static
* @memberOf _
* @since 1.1.0
* @category String
* @param {string} string The string to convert.
* @param {number} [radix=10] The radix to interpret `value` by.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {number} Returns the converted integer.

@@ -39,3 +40,3 @@ * @example

// Chrome fails to trim leading <BOM> whitespace characters.
// See https://code.google.com/p/v8/issues/detail?id=3109 for more details.
// See https://bugs.chromium.org/p/v8/issues/detail?id=3109 for more details.
if (guard || radix == null) {

@@ -42,0 +43,0 @@ radix = 0;

@@ -22,2 +22,3 @@ var createWrapper = require('./_createWrapper'),

* @memberOf _
* @since 0.2.0
* @category Function

@@ -24,0 +25,0 @@ * @param {Function} func The function to partially apply arguments to.

@@ -21,2 +21,3 @@ var createWrapper = require('./_createWrapper'),

* @memberOf _
* @since 1.0.0
* @category Function

@@ -23,0 +24,0 @@ * @param {Function} func The function to partially apply arguments to.

@@ -11,5 +11,7 @@ var createAggregator = require('./_createAggregator');

* @memberOf _
* @since 3.0.0
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @returns {Array} Returns the array of grouped elements.

@@ -16,0 +18,0 @@ * @example

@@ -9,7 +9,8 @@ var baseFlatten = require('./_baseFlatten'),

* @static
* @since 0.1.0
* @memberOf _
* @category Object
* @param {Object} object The source object.
* @param {...(string|string[])} [props] The property names to pick, specified
* individually or in arrays.
* @param {...(string|string[])} [props] The property identifiers to pick,
* specified individually or in arrays.
* @returns {Object} Returns the new object.

@@ -16,0 +17,0 @@ * @example

@@ -10,5 +10,7 @@ var baseIteratee = require('./_baseIteratee'),

* @memberOf _
* @since 4.0.0
* @category Object
* @param {Object} object The source object.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per property.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per property.
* @returns {Object} Returns the new object.

@@ -15,0 +17,0 @@ * @example

@@ -5,6 +5,7 @@ var baseLodash = require('./_baseLodash'),

/**
* Creates a clone of the chained sequence planting `value` as the wrapped value.
* Creates a clone of the chain sequence planting `value` as the wrapped value.
*
* @name plant
* @memberOf _
* @since 3.2.0
* @category Seq

@@ -11,0 +12,0 @@ * @param {*} value The value to plant.

@@ -10,2 +10,3 @@ var baseProperty = require('./_baseProperty'),

* @memberOf _
* @since 2.4.0
* @category Util

@@ -12,0 +13,0 @@ * @param {Array|string} path The path of the property to get.

@@ -9,2 +9,3 @@ var baseGet = require('./_baseGet');

* @memberOf _
* @since 3.0.0
* @category Util

@@ -11,0 +12,0 @@ * @param {Object} object The object to query.

@@ -14,2 +14,3 @@ var pullAll = require('./pullAll'),

* @memberOf _
* @since 2.0.0
* @category Array

@@ -16,0 +17,0 @@ * @param {Array} array The array to modify.

@@ -10,2 +10,3 @@ var basePullAll = require('./_basePullAll');

* @memberOf _
* @since 4.0.0
* @category Array

@@ -12,0 +13,0 @@ * @param {Array} array The array to modify.

@@ -13,6 +13,8 @@ var baseIteratee = require('./_baseIteratee'),

* @memberOf _
* @since 4.0.0
* @category Array
* @param {Array} array The array to modify.
* @param {Array} values The values to remove.
* @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @returns {Array} Returns `array`.

@@ -19,0 +21,0 @@ * @example

@@ -12,2 +12,3 @@ var basePullAll = require('./_basePullAll');

* @memberOf _
* @since 4.6.0
* @category Array

@@ -14,0 +15,0 @@ * @param {Array} array The array to modify.

@@ -16,2 +16,3 @@ var arrayMap = require('./_arrayMap'),

* @memberOf _
* @since 3.0.0
* @category Array

@@ -18,0 +19,0 @@ * @param {Array} array The array to modify.

@@ -15,4 +15,4 @@ var baseRandom = require('./_baseRandom'),

* If only one argument is provided a number between `0` and the given number
* is returned. If `floating` is `true`, or either `lower` or `upper` are floats,
* a floating-point number is returned instead of an integer.
* is returned. If `floating` is `true`, or either `lower` or `upper` are
* floats, a floating-point number is returned instead of an integer.
*

@@ -24,2 +24,3 @@ * **Note:** JavaScript follows the IEEE-754 standard for resolving

* @memberOf _
* @since 0.7.0
* @category Number

@@ -26,0 +27,0 @@ * @param {number} [lower=0] The lower bound.

@@ -13,2 +13,3 @@ var createRange = require('./_createRange');

* @static
* @since 0.1.0
* @memberOf _

@@ -15,0 +16,0 @@ * @category Util

@@ -9,2 +9,3 @@ var createRange = require('./_createRange');

* @memberOf _
* @since 4.0.0
* @category Util

@@ -11,0 +12,0 @@ * @param {number} [start=0] The start of the range.

@@ -1,2 +0,2 @@

# lodash v4.6.1
# lodash v4.7.0

@@ -20,3 +20,3 @@ The [lodash](https://lodash.com/) library exported as [Node.js](https://nodejs.org/) modules.

// Load the fp build for immutable auto-curried iteratee-first data-last methods.
var _ = require('lodash/fp');
var fp = require('lodash/fp');

@@ -32,3 +32,3 @@ // Load a method category.

See the [package source](https://github.com/lodash/lodash/tree/4.6.1-npm) for more details.
See the [package source](https://github.com/lodash/lodash/tree/4.7.0-npm) for more details.

@@ -41,3 +41,3 @@ **Note:**<br>

Tested in Chrome 47-48, Firefox 43-44, IE 9-11, Edge 13, Safari 8-9, Node.js 0.10, 0.12, 4, & 5, & PhantomJS 1.9.8.<br>
Tested in Chrome 48-49, Firefox 44-45, IE 9-11, Edge 13, Safari 8-9, Node.js 0.10, 0.12, 4, & 5, & PhantomJS 1.9.8.<br>
Automated [browser](https://saucelabs.com/u/lodash) & [CI](https://travis-ci.org/lodash/lodash/) test runs are available.

@@ -16,2 +16,3 @@ var baseFlatten = require('./_baseFlatten'),

* @memberOf _
* @since 3.0.0
* @category Function

@@ -18,0 +19,0 @@ * @param {Function} func The function to rearrange arguments for.

@@ -24,2 +24,3 @@ var arrayReduce = require('./_arrayReduce'),

* @memberOf _
* @since 0.1.0
* @category Collection

@@ -26,0 +27,0 @@ * @param {Array|Object} collection The collection to iterate over.

@@ -13,2 +13,3 @@ var arrayReduceRight = require('./_arrayReduceRight'),

* @memberOf _
* @since 0.1.0
* @category Collection

@@ -15,0 +16,0 @@ * @param {Array|Object} collection The collection to iterate over.

@@ -12,5 +12,7 @@ var arrayFilter = require('./_arrayFilter'),

* @memberOf _
* @since 0.1.0
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @returns {Array} Returns the new filtered array.

@@ -17,0 +19,0 @@ * @example

@@ -14,5 +14,7 @@ var baseIteratee = require('./_baseIteratee'),

* @memberOf _
* @since 2.0.0
* @category Array
* @param {Array} array The array to modify.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @returns {Array} Returns the new array of removed elements.

@@ -19,0 +21,0 @@ * @example

@@ -1,10 +0,5 @@

var toInteger = require('./toInteger'),
var baseRepeat = require('./_baseRepeat'),
toInteger = require('./toInteger'),
toString = require('./toString');
/** Used as references for various `Number` constants. */
var MAX_SAFE_INTEGER = 9007199254740991;
/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeFloor = Math.floor;
/**

@@ -15,2 +10,3 @@ * Repeats the given string `n` times.

* @memberOf _
* @since 3.0.0
* @category String

@@ -32,22 +28,5 @@ * @param {string} [string=''] The string to repeat.

function repeat(string, n) {
string = toString(string);
n = toInteger(n);
var result = '';
if (!string || n < 1 || n > MAX_SAFE_INTEGER) {
return result;
}
// Leverage the exponentiation by squaring algorithm for a faster repeat.
// See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.
do {
if (n % 2) {
result += string;
}
n = nativeFloor(n / 2);
string += string;
} while (n);
return result;
return baseRepeat(toString(string), toInteger(n));
}
module.exports = repeat;

@@ -6,6 +6,8 @@ var toString = require('./toString');

*
* **Note:** This method is based on [`String#replace`](https://mdn.io/String/replace).
* **Note:** This method is based on
* [`String#replace`](https://mdn.io/String/replace).
*
* @static
* @memberOf _
* @since 4.0.0
* @category String

@@ -12,0 +14,0 @@ * @param {string} [string=''] The string to modify.

@@ -12,8 +12,11 @@ var apply = require('./_apply'),

* Creates a function that invokes `func` with the `this` binding of the
* created function and arguments from `start` and beyond provided as an array.
* created function and arguments from `start` and beyond provided as
* an array.
*
* **Note:** This method is based on the [rest parameter](https://mdn.io/rest_parameters).
* **Note:** This method is based on the
* [rest parameter](https://mdn.io/rest_parameters).
*
* @static
* @memberOf _
* @since 4.0.0
* @category Function

@@ -20,0 +23,0 @@ * @param {Function} func The function to apply a rest parameter to.

var baseCastPath = require('./_baseCastPath'),
get = require('./get'),
isFunction = require('./isFunction'),
isKey = require('./_isKey'),
parent = require('./_parent');
isKey = require('./_isKey');
/**
* This method is like `_.get` except that if the resolved value is a function
* it's invoked with the `this` binding of its parent object and its result
* is returned.
* This method is like `_.get` except that if the resolved value is a
* function it's invoked with the `this` binding of its parent object and
* its result is returned.
*
* @static
* @since 0.1.0
* @memberOf _

@@ -17,3 +16,3 @@ * @category Object

* @param {Array|string} path The path of the property to resolve.
* @param {*} [defaultValue] The value returned if the resolved value is `undefined`.
* @param {*} [defaultValue] The value returned for `undefined` resolved values.
* @returns {*} Returns the resolved value.

@@ -37,15 +36,23 @@ * @example

function result(object, path, defaultValue) {
if (!isKey(path, object)) {
path = baseCastPath(path);
var result = get(object, path);
object = parent(object, path);
} else {
result = object == null ? undefined : object[path];
path = isKey(path, object) ? [path] : baseCastPath(path);
var index = -1,
length = path.length;
// Ensure the loop is entered when path is empty.
if (!length) {
object = undefined;
length = 1;
}
if (result === undefined) {
result = defaultValue;
while (++index < length) {
var value = object == null ? undefined : object[path[index]];
if (value === undefined) {
index = length;
value = defaultValue;
}
object = isFunction(value) ? value.call(object) : value;
}
return isFunction(result) ? result.call(object) : result;
return object;
}
module.exports = result;

@@ -16,3 +16,5 @@ /** Used for built-in method references. */

* @memberOf _
* @since 4.0.0
* @category Array
* @param {Array} array The array to modify.
* @returns {Array} Returns `array`.

@@ -19,0 +21,0 @@ * @example

@@ -8,2 +8,3 @@ var createRound = require('./_createRound');

* @memberOf _
* @since 3.10.0
* @category Math

@@ -10,0 +11,0 @@ * @param {number} number The number to round.

@@ -10,2 +10,3 @@ var baseRandom = require('./_baseRandom'),

* @memberOf _
* @since 2.0.0
* @category Collection

@@ -12,0 +13,0 @@ * @param {Array|Object} collection The collection to sample.

@@ -12,2 +12,3 @@ var baseClamp = require('./_baseClamp'),

* @memberOf _
* @since 4.0.0
* @category Collection

@@ -14,0 +15,0 @@ * @param {Array|Object} collection The collection to sample.

@@ -5,3 +5,2 @@ module.exports = {

'commit': require('./commit'),
'flatMap': require('./wrapperFlatMap'),
'lodash': require('./wrapperLodash'),

@@ -8,0 +7,0 @@ 'next': require('./next'),

@@ -13,2 +13,3 @@ var baseSet = require('./_baseSet');

* @memberOf _
* @since 3.7.0
* @category Object

@@ -15,0 +16,0 @@ * @param {Object} object The object to modify.

@@ -13,2 +13,3 @@ var baseSet = require('./_baseSet');

* @memberOf _
* @since 4.0.0
* @category Object

@@ -15,0 +16,0 @@ * @param {Object} object The object to modify.

@@ -12,2 +12,3 @@ var sampleSize = require('./sampleSize');

* @memberOf _
* @since 0.1.0
* @category Collection

@@ -14,0 +15,0 @@ * @param {Array|Object} collection The collection to shuffle.

@@ -1,2 +0,4 @@

var isArrayLike = require('./isArrayLike'),
var getTag = require('./_getTag'),
isArrayLike = require('./isArrayLike'),
isObjectLike = require('./isObjectLike'),
isString = require('./isString'),

@@ -6,8 +8,13 @@ keys = require('./keys'),

/** `Object#toString` result references. */
var mapTag = '[object Map]',
setTag = '[object Set]';
/**
* Gets the size of `collection` by returning its length for array-like
* values or the number of own enumerable properties for objects.
* values or the number of own enumerable string keyed properties for objects.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Collection

@@ -35,2 +42,8 @@ * @param {Array|Object} collection The collection to inspect.

}
if (isObjectLike(collection)) {
var tag = getTag(collection);
if (tag == mapTag || tag == setTag) {
return collection.size;
}
}
return keys(collection).length;

@@ -37,0 +50,0 @@ }

@@ -8,7 +8,9 @@ var baseSlice = require('./_baseSlice'),

*
* **Note:** This method is used instead of [`Array#slice`](https://mdn.io/Array/slice)
* to ensure dense arrays are returned.
* **Note:** This method is used instead of
* [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are
* returned.
*
* @static
* @memberOf _
* @since 3.0.0
* @category Array

@@ -15,0 +17,0 @@ * @param {Array} array The array to slice.

var createCompounder = require('./_createCompounder');
/**
* Converts `string` to [snake case](https://en.wikipedia.org/wiki/Snake_case).
* Converts `string` to
* [snake case](https://en.wikipedia.org/wiki/Snake_case).
*
* @static
* @memberOf _
* @since 3.0.0
* @category String

@@ -19,3 +21,3 @@ * @param {string} [string=''] The string to convert.

*
* _.snakeCase('--foo-bar');
* _.snakeCase('--FOO-BAR--');
* // => 'foo_bar'

@@ -22,0 +24,0 @@ */

@@ -14,7 +14,10 @@ var arraySome = require('./_arraySome'),

* @memberOf _
* @since 0.1.0
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
* @returns {boolean} Returns `true` if any element passes the predicate check, else `false`.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {boolean} Returns `true` if any element passes the predicate check,
* else `false`.
* @example

@@ -21,0 +24,0 @@ *

@@ -14,6 +14,8 @@ var baseFlatten = require('./_baseFlatten'),

* @memberOf _
* @since 0.1.0
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {...(Function|Function[]|Object|Object[]|string|string[])} [iteratees=[_.identity]]
* The iteratees to sort by, specified individually or in arrays.
* @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
* [iteratees=[_.identity]] The iteratees to sort by, specified individually
* or in arrays.
* @returns {Array} Returns the new sorted array.

@@ -25,3 +27,3 @@ * @example

* { 'user': 'barney', 'age': 36 },
* { 'user': 'fred', 'age': 42 },
* { 'user': 'fred', 'age': 40 },
* { 'user': 'barney', 'age': 34 }

@@ -31,6 +33,6 @@ * ];

* _.sortBy(users, function(o) { return o.user; });
* // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
* // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
*
* _.sortBy(users, ['user', 'age']);
* // => objects for [['barney', 34], ['barney', 36], ['fred', 42], ['fred', 48]]
* // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]
*

@@ -40,3 +42,3 @@ * _.sortBy(users, 'user', function(o) {

* });
* // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]]
* // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
*/

@@ -43,0 +45,0 @@ var sortBy = rest(function(collection, iteratees) {

var baseSortedIndex = require('./_baseSortedIndex');
/**
* Uses a binary search to determine the lowest index at which `value` should
* be inserted into `array` in order to maintain its sort order.
* Uses a binary search to determine the lowest index at which `value`
* should be inserted into `array` in order to maintain its sort order.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Array
* @param {Array} array The sorted array to inspect.
* @param {*} value The value to evaluate.
* @returns {number} Returns the index at which `value` should be inserted into `array`.
* @returns {number} Returns the index at which `value` should be inserted
* into `array`.
* @example

@@ -14,0 +16,0 @@ *

@@ -11,7 +11,10 @@ var baseIteratee = require('./_baseIteratee'),

* @memberOf _
* @since 4.0.0
* @category Array
* @param {Array} array The sorted array to inspect.
* @param {*} value The value to evaluate.
* @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
* @returns {number} Returns the index at which `value` should be inserted into `array`.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @returns {number} Returns the index at which `value` should be inserted
* into `array`.
* @example

@@ -18,0 +21,0 @@ *

@@ -10,2 +10,3 @@ var baseSortedIndex = require('./_baseSortedIndex'),

* @memberOf _
* @since 4.0.0
* @category Array

@@ -12,0 +13,0 @@ * @param {Array} array The array to search.

@@ -10,6 +10,8 @@ var baseSortedIndex = require('./_baseSortedIndex');

* @memberOf _
* @since 3.0.0
* @category Array
* @param {Array} array The sorted array to inspect.
* @param {*} value The value to evaluate.
* @returns {number} Returns the index at which `value` should be inserted into `array`.
* @returns {number} Returns the index at which `value` should be inserted
* into `array`.
* @example

@@ -16,0 +18,0 @@ *

@@ -11,7 +11,10 @@ var baseIteratee = require('./_baseIteratee'),

* @memberOf _
* @since 4.0.0
* @category Array
* @param {Array} array The sorted array to inspect.
* @param {*} value The value to evaluate.
* @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
* @returns {number} Returns the index at which `value` should be inserted into `array`.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @returns {number} Returns the index at which `value` should be inserted
* into `array`.
* @example

@@ -18,0 +21,0 @@ *

@@ -10,2 +10,3 @@ var baseSortedIndex = require('./_baseSortedIndex'),

* @memberOf _
* @since 4.0.0
* @category Array

@@ -12,0 +13,0 @@ * @param {Array} array The array to search.

@@ -9,2 +9,3 @@ var baseSortedUniq = require('./_baseSortedUniq');

* @memberOf _
* @since 4.0.0
* @category Array

@@ -11,0 +12,0 @@ * @param {Array} array The array to inspect.

@@ -10,2 +10,3 @@ var baseIteratee = require('./_baseIteratee'),

* @memberOf _
* @since 4.0.0
* @category Array

@@ -12,0 +13,0 @@ * @param {Array} array The array to inspect.

@@ -6,6 +6,8 @@ var toString = require('./toString');

*
* **Note:** This method is based on [`String#split`](https://mdn.io/String/split).
* **Note:** This method is based on
* [`String#split`](https://mdn.io/String/split).
*
* @static
* @memberOf _
* @since 4.0.0
* @category String

@@ -12,0 +14,0 @@ * @param {string} [string=''] The string to split.

@@ -13,9 +13,12 @@ var apply = require('./_apply'),

/**
* Creates a function that invokes `func` with the `this` binding of the created
* function and an array of arguments much like [`Function#apply`](https://es5.github.io/#x15.3.4.3).
* Creates a function that invokes `func` with the `this` binding of the
* create function and an array of arguments much like
* [`Function#apply`](https://es5.github.io/#x15.3.4.3).
*
* **Note:** This method is based on the [spread operator](https://mdn.io/spread_operator).
* **Note:** This method is based on the
* [spread operator](https://mdn.io/spread_operator).
*
* @static
* @memberOf _
* @since 3.2.0
* @category Function

@@ -22,0 +25,0 @@ * @param {Function} func The function to spread arguments over.

@@ -1,9 +0,11 @@

var capitalize = require('./capitalize'),
createCompounder = require('./_createCompounder');
var createCompounder = require('./_createCompounder'),
upperFirst = require('./upperFirst');
/**
* Converts `string` to [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).
* Converts `string` to
* [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).
*
* @static
* @memberOf _
* @since 3.1.0
* @category String

@@ -14,3 +16,3 @@ * @param {string} [string=''] The string to convert.

*
* _.startCase('--foo-bar');
* _.startCase('--foo-bar--');
* // => 'Foo Bar'

@@ -21,9 +23,9 @@ *

*
* _.startCase('__foo_bar__');
* // => 'Foo Bar'
* _.startCase('__FOO_BAR__');
* // => 'FOO BAR'
*/
var startCase = createCompounder(function(result, word, index) {
return result + (index ? ' ' : '') + capitalize(word);
return result + (index ? ' ' : '') + upperFirst(word);
});
module.exports = startCase;

@@ -10,2 +10,3 @@ var baseClamp = require('./_baseClamp'),

* @memberOf _
* @since 3.0.0
* @category String

@@ -15,3 +16,4 @@ * @param {string} [string=''] The string to search.

* @param {number} [position=0] The position to search from.
* @returns {boolean} Returns `true` if `string` starts with `target`, else `false`.
* @returns {boolean} Returns `true` if `string` starts with `target`,
* else `false`.
* @example

@@ -18,0 +20,0 @@ *

@@ -0,1 +1,3 @@

var createMathOperation = require('./_createMathOperation');
/**

@@ -6,2 +8,3 @@ * Subtract two numbers.

* @memberOf _
* @since 4.0.0
* @category Math

@@ -16,16 +19,6 @@ * @param {number} minuend The first number in a subtraction.

*/
function subtract(minuend, subtrahend) {
var result;
if (minuend === undefined && subtrahend === undefined) {
return 0;
}
if (minuend !== undefined) {
result = minuend;
}
if (subtrahend !== undefined) {
result = result === undefined ? subtrahend : (result - subtrahend);
}
return result;
}
var subtract = createMathOperation(function(minuend, subtrahend) {
return minuend - subtrahend;
});
module.exports = subtract;

@@ -9,2 +9,3 @@ var baseSum = require('./_baseSum'),

* @memberOf _
* @since 3.4.0
* @category Math

@@ -11,0 +12,0 @@ * @param {Array} array The array to iterate over.

@@ -11,5 +11,7 @@ var baseIteratee = require('./_baseIteratee'),

* @memberOf _
* @since 4.0.0
* @category Math
* @param {Array} array The array to iterate over.
* @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @returns {number} Returns the sum.

@@ -16,0 +18,0 @@ * @example

@@ -8,2 +8,3 @@ var drop = require('./drop');

* @memberOf _
* @since 4.0.0
* @category Array

@@ -10,0 +11,0 @@ * @param {Array} array The array to query.

@@ -9,6 +9,7 @@ var baseSlice = require('./_baseSlice'),

* @memberOf _
* @since 0.1.0
* @category Array
* @param {Array} array The array to query.
* @param {number} [n=1] The number of elements to take.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {Array} Returns the slice of `array`.

@@ -15,0 +16,0 @@ * @example

@@ -9,6 +9,7 @@ var baseSlice = require('./_baseSlice'),

* @memberOf _
* @since 3.0.0
* @category Array
* @param {Array} array The array to query.
* @param {number} [n=1] The number of elements to take.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {Array} Returns the slice of `array`.

@@ -15,0 +16,0 @@ * @example

@@ -6,10 +6,12 @@ var baseIteratee = require('./_baseIteratee'),

* Creates a slice of `array` with elements taken from the end. Elements are
* taken until `predicate` returns falsey. The predicate is invoked with three
* arguments: (value, index, array).
* taken until `predicate` returns falsey. The predicate is invoked with
* three arguments: (value, index, array).
*
* @static
* @memberOf _
* @since 3.0.0
* @category Array
* @param {Array} array The array to query.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @returns {Array} Returns the slice of `array`.

@@ -16,0 +18,0 @@ * @example

@@ -11,5 +11,7 @@ var baseIteratee = require('./_baseIteratee'),

* @memberOf _
* @since 3.0.0
* @category Array
* @param {Array} array The array to query.
* @param {Function|Object|string} [predicate=_.identity] The function invoked per iteration.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @returns {Array} Returns the slice of `array`.

@@ -16,0 +18,0 @@ * @example

/**
* This method invokes `interceptor` and returns `value`. The interceptor
* is invoked with one argument; (value). The purpose of this method is to
* "tap into" a method chain in order to modify intermediate results.
* "tap into" a method chain sequence in order to modify intermediate results.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Seq

@@ -9,0 +10,0 @@ * @param {*} value The value to provide to `interceptor`.

@@ -45,13 +45,20 @@ var assignInDefaults = require('./_assignInDefaults'),

* @static
* @since 0.1.0
* @memberOf _
* @category String
* @param {string} [string=''] The template string.
* @param {Object} [options] The options object.
* @param {RegExp} [options.escape] The HTML "escape" delimiter.
* @param {RegExp} [options.evaluate] The "evaluate" delimiter.
* @param {Object} [options.imports] An object to import into the template as free variables.
* @param {RegExp} [options.interpolate] The "interpolate" delimiter.
* @param {string} [options.sourceURL] The sourceURL of the template's compiled source.
* @param {string} [options.variable] The data object variable name.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
* @param {Object} [options={}] The options object.
* @param {RegExp} [options.escape=_.templateSettings.escape]
* The HTML "escape" delimiter.
* @param {RegExp} [options.evaluate=_.templateSettings.evaluate]
* The "evaluate" delimiter.
* @param {Object} [options.imports=_.templateSettings.imports]
* An object to import into the template as free variables.
* @param {RegExp} [options.interpolate=_.templateSettings.interpolate]
* The "interpolate" delimiter.
* @param {string} [options.sourceURL='templateSources[n]']
* The sourceURL of the compiled template.
* @param {string} [options.variable='obj']
* The data object variable name.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {Function} Returns the compiled template function.

@@ -105,3 +112,3 @@ * @example

* compiled(data);
* // => find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector
* // => Find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector.
*

@@ -126,3 +133,4 @@ * // Use the `variable` option to ensure a with-statement isn't used in the compiled template.

function template(string, options, guard) {
// Based on John Resig's `tmpl` implementation (http://ejohn.org/blog/javascript-micro-templating/)
// Based on John Resig's `tmpl` implementation
// (http://ejohn.org/blog/javascript-micro-templating/)
// and Laura Doktorova's doT.js (https://github.com/olado/doT).

@@ -129,0 +137,0 @@ var settings = templateSettings.imports._.templateSettings || templateSettings;

@@ -17,5 +17,5 @@ var debounce = require('./debounce'),

*
* **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
* on the trailing edge of the timeout only if the throttled function is
* invoked more than once during the `wait` timeout.
* **Note:** If `leading` and `trailing` options are `true`, `func` is
* invoked on the trailing edge of the timeout only if the throttled function
* is invoked more than once during the `wait` timeout.
*

@@ -27,10 +27,11 @@ * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)

* @memberOf _
* @since 0.1.0
* @category Function
* @param {Function} func The function to throttle.
* @param {number} [wait=0] The number of milliseconds to throttle invocations to.
* @param {Object} [options] The options object.
* @param {boolean} [options.leading=true] Specify invoking on the leading
* edge of the timeout.
* @param {boolean} [options.trailing=true] Specify invoking on the trailing
* edge of the timeout.
* @param {Object} [options={}] The options object.
* @param {boolean} [options.leading=true]
* Specify invoking on the leading edge of the timeout.
* @param {boolean} [options.trailing=true]
* Specify invoking on the trailing edge of the timeout.
* @returns {Function} Returns the new throttled function.

@@ -37,0 +38,0 @@ * @example

/**
* This method is like `_.tap` except that it returns the result of `interceptor`.
* The purpose of this method is to "pass thru" values replacing intermediate
* results in a method chain.
* results in a method chain sequence.
*
* @static
* @memberOf _
* @since 3.0.0
* @category Seq

@@ -9,0 +10,0 @@ * @param {*} value The value to provide to `interceptor`.

@@ -1,2 +0,2 @@

var baseCastFunction = require('./_baseCastFunction'),
var baseIteratee = require('./_baseIteratee'),
baseTimes = require('./_baseTimes'),

@@ -19,2 +19,3 @@ toInteger = require('./toInteger');

* @static
* @since 0.1.0
* @memberOf _

@@ -41,3 +42,3 @@ * @category Util

iteratee = baseCastFunction(iteratee);
iteratee = baseIteratee(iteratee);
n -= MAX_ARRAY_LENGTH;

@@ -44,0 +45,0 @@

@@ -23,2 +23,3 @@ var Symbol = require('./_Symbol'),

* @static
* @since 0.1.0
* @memberOf _

@@ -25,0 +26,0 @@ * @category Lang

@@ -10,6 +10,8 @@ var toNumber = require('./toNumber');

*
* **Note:** This function is loosely based on [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).
* **Note:** This function is loosely based on
* [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).
*
* @static
* @memberOf _
* @since 4.0.0
* @category Lang

@@ -16,0 +18,0 @@ * @param {*} value The value to convert.

@@ -6,2 +6,3 @@ /**

* @memberOf _
* @since 4.0.0
* @category Seq

@@ -8,0 +9,0 @@ * @returns {Object} Returns the wrapper object.

@@ -11,6 +11,8 @@ var baseClamp = require('./_baseClamp'),

*
* **Note:** This method is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
* **Note:** This method is based on
* [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
*
* @static
* @memberOf _
* @since 4.0.0
* @category Lang

@@ -17,0 +19,0 @@ * @param {*} value The value to convert.

@@ -9,2 +9,3 @@ var toString = require('./toString');

* @memberOf _
* @since 4.0.0
* @category String

@@ -15,4 +16,4 @@ * @param {string} [string=''] The string to convert.

*
* _.toLower('--Foo-Bar');
* // => '--foo-bar'
* _.toLower('--Foo-Bar--');
* // => '--foo-bar--'
*

@@ -19,0 +20,0 @@ * _.toLower('fooBar');

var isFunction = require('./isFunction'),
isObject = require('./isObject');
isObject = require('./isObject'),
isSymbol = require('./isSymbol');

@@ -27,2 +28,3 @@ /** Used as references for various `Number` constants. */

* @memberOf _
* @since 4.0.0
* @category Lang

@@ -46,2 +48,8 @@ * @param {*} value The value to process.

function toNumber(value) {
if (typeof value == 'number') {
return value;
}
if (isSymbol(value)) {
return NAN;
}
if (isObject(value)) {

@@ -52,3 +60,3 @@ var other = isFunction(value.valueOf) ? value.valueOf() : value;

if (typeof value != 'string') {
return value === 0 ? value : +value;
return value === 0 ? value : +value;
}

@@ -55,0 +63,0 @@ value = value.replace(reTrim, '');

@@ -5,7 +5,9 @@ var baseToPairs = require('./_baseToPairs'),

/**
* Creates an array of own enumerable key-value pairs for `object` which
* can be consumed by `_.fromPairs`.
* Creates an array of own enumerable string keyed-value pairs for `object`
* which can be consumed by `_.fromPairs`.
*
* @static
* @memberOf _
* @since 4.0.0
* @alias entries
* @category Object

@@ -12,0 +14,0 @@ * @param {Object} object The object to query.

@@ -5,7 +5,9 @@ var baseToPairs = require('./_baseToPairs'),

/**
* Creates an array of own and inherited enumerable key-value pairs for
* `object` which can be consumed by `_.fromPairs`.
* Creates an array of own and inherited enumerable string keyed-value pairs
* for `object` which can be consumed by `_.fromPairs`.
*
* @static
* @memberOf _
* @since 4.0.0
* @alias entriesIn
* @category Object

@@ -12,0 +14,0 @@ * @param {Object} object The object to query.

var arrayMap = require('./_arrayMap'),
baseCastKey = require('./_baseCastKey'),
copyArray = require('./_copyArray'),
isArray = require('./isArray'),
isSymbol = require('./isSymbol'),
stringToPath = require('./_stringToPath');

@@ -10,2 +13,3 @@

* @memberOf _
* @since 4.0.0
* @category Util

@@ -32,5 +36,8 @@ * @param {*} value The value to convert.

function toPath(value) {
return isArray(value) ? arrayMap(value, String) : stringToPath(value);
if (isArray(value)) {
return arrayMap(value, baseCastKey);
}
return isSymbol(value) ? [value] : copyArray(stringToPath(value));
}
module.exports = toPath;

@@ -5,7 +5,8 @@ var copyObject = require('./_copyObject'),

/**
* Converts `value` to a plain object flattening inherited enumerable
* properties of `value` to own properties of the plain object.
* Converts `value` to a plain object flattening inherited enumerable string
* keyed properties of `value` to own properties of the plain object.
*
* @static
* @memberOf _
* @since 3.0.0
* @category Lang

@@ -12,0 +13,0 @@ * @param {*} value The value to convert.

@@ -13,2 +13,3 @@ var baseClamp = require('./_baseClamp'),

* @memberOf _
* @since 4.0.0
* @category Lang

@@ -15,0 +16,0 @@ * @param {*} value The value to convert.

@@ -17,2 +17,3 @@ var Symbol = require('./_Symbol'),

* @memberOf _
* @since 4.0.0
* @category Lang

@@ -19,0 +20,0 @@ * @param {*} value The value to process.

@@ -9,2 +9,3 @@ var toString = require('./toString');

* @memberOf _
* @since 4.0.0
* @category String

@@ -15,4 +16,4 @@ * @param {string} [string=''] The string to convert.

*
* _.toUpper('--foo-bar');
* // => '--FOO-BAR'
* _.toUpper('--foo-bar--');
* // => '--FOO-BAR--'
*

@@ -19,0 +20,0 @@ * _.toUpper('fooBar');

@@ -5,2 +5,3 @@ var arrayEach = require('./_arrayEach'),

baseIteratee = require('./_baseIteratee'),
getPrototype = require('./_getPrototype'),
isArray = require('./isArray'),

@@ -11,10 +12,7 @@ isFunction = require('./isFunction'),

/** Built-in value references. */
var getPrototypeOf = Object.getPrototypeOf;
/**
* An alternative to `_.reduce`; this method transforms `object` to a new
* `accumulator` object which is the result of running each of its own enumerable
* properties through `iteratee`, with each invocation potentially mutating
* the `accumulator` object. The iteratee is invoked with four arguments:
* string keyed properties through `iteratee`, with each invocation potentially
* mutating the `accumulator` object. The iteratee is invoked with four arguments:
* (accumulator, value, key, object). Iteratee functions may exit iteration

@@ -25,2 +23,3 @@ * early by explicitly returning `false`.

* @memberOf _
* @since 1.3.0
* @category Object

@@ -54,3 +53,3 @@ * @param {Array|Object} object The object to iterate over.

} else {
accumulator = isFunction(Ctor) ? baseCreate(getPrototypeOf(object)) : {};
accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};
}

@@ -57,0 +56,0 @@ } else {

@@ -14,6 +14,7 @@ var charsEndIndex = require('./_charsEndIndex'),

* @memberOf _
* @since 3.0.0
* @category String
* @param {string} [string=''] The string to trim.
* @param {string} [chars=whitespace] The characters to trim.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {string} Returns the trimmed string.

@@ -20,0 +21,0 @@ * @example

@@ -13,6 +13,7 @@ var charsEndIndex = require('./_charsEndIndex'),

* @memberOf _
* @since 4.0.0
* @category String
* @param {string} [string=''] The string to trim.
* @param {string} [chars=whitespace] The characters to trim.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {string} Returns the trimmed string.

@@ -19,0 +20,0 @@ * @example

@@ -13,6 +13,7 @@ var charsStartIndex = require('./_charsStartIndex'),

* @memberOf _
* @since 4.0.0
* @category String
* @param {string} [string=''] The string to trim.
* @param {string} [chars=whitespace] The characters to trim.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {string} Returns the trimmed string.

@@ -19,0 +20,0 @@ * @example

@@ -34,5 +34,6 @@ var isObject = require('./isObject'),

* @memberOf _
* @since 4.0.0
* @category String
* @param {string} [string=''] The string to truncate.
* @param {Object} [options=({})] The options object.
* @param {Object} [options={}] The options object.
* @param {number} [options.length=30] The maximum string length.

@@ -39,0 +40,0 @@ * @param {string} [options.omission='...'] The string to indicate text is omitted.

@@ -9,2 +9,3 @@ var ary = require('./ary');

* @memberOf _
* @since 4.0.0
* @category Function

@@ -11,0 +12,0 @@ * @param {Function} func The function to cap arguments for.

@@ -10,10 +10,11 @@ var toString = require('./toString'),

* The inverse of `_.escape`; this method converts the HTML entities
* `&amp;`, `&lt;`, `&gt;`, `&quot;`, `&#39;`, and `&#96;` in `string` to their
* corresponding characters.
* `&amp;`, `&lt;`, `&gt;`, `&quot;`, `&#39;`, and `&#96;` in `string` to
* their corresponding characters.
*
* **Note:** No other HTML entities are unescaped. To unescape additional HTML
* entities use a third-party library like [_he_](https://mths.be/he).
* **Note:** No other HTML entities are unescaped. To unescape additional
* HTML entities use a third-party library like [_he_](https://mths.be/he).
*
* @static
* @memberOf _
* @since 0.6.0
* @category String

@@ -20,0 +21,0 @@ * @param {string} [string=''] The string to unescape.

@@ -12,2 +12,3 @@ var baseFlatten = require('./_baseFlatten'),

* @memberOf _
* @since 0.1.0
* @category Array

@@ -14,0 +15,0 @@ * @param {...Array} [arrays] The arrays to inspect.

@@ -10,10 +10,13 @@ var baseFlatten = require('./_baseFlatten'),

* This method is like `_.union` except that it accepts `iteratee` which is
* invoked for each element of each `arrays` to generate the criterion by which
* uniqueness is computed. The iteratee is invoked with one argument: (value).
* invoked for each element of each `arrays` to generate the criterion by
* which uniqueness is computed. The iteratee is invoked with one argument:
* (value).
*
* @static
* @memberOf _
* @since 4.0.0
* @category Array
* @param {...Array} [arrays] The arrays to inspect.
* @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @returns {Array} Returns the new array of combined values.

@@ -20,0 +23,0 @@ * @example

@@ -14,2 +14,3 @@ var baseFlatten = require('./_baseFlatten'),

* @memberOf _
* @since 4.0.0
* @category Array

@@ -16,0 +17,0 @@ * @param {...Array} [arrays] The arrays to inspect.

@@ -6,7 +6,8 @@ var baseUniq = require('./_baseUniq');

* [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
* for equality comparisons, in which only the first occurrence of each element
* is kept.
* for equality comparisons, in which only the first occurrence of each
* element is kept.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Array

@@ -13,0 +14,0 @@ * @param {Array} array The array to inspect.

@@ -11,5 +11,7 @@ var baseIteratee = require('./_baseIteratee'),

* @memberOf _
* @since 4.0.0
* @category Array
* @param {Array} array The array to inspect.
* @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @returns {Array} Returns the new duplicate free array.

@@ -16,0 +18,0 @@ * @example

@@ -10,2 +10,3 @@ var toString = require('./toString');

* @static
* @since 0.1.0
* @memberOf _

@@ -12,0 +13,0 @@ * @category Util

@@ -10,2 +10,3 @@ var baseUniq = require('./_baseUniq');

* @memberOf _
* @since 4.0.0
* @category Array

@@ -12,0 +13,0 @@ * @param {Array} array The array to inspect.

@@ -10,2 +10,3 @@ var baseUnset = require('./_baseUnset');

* @memberOf _
* @since 4.0.0
* @category Object

@@ -12,0 +13,0 @@ * @param {Object} object The object to modify.

@@ -17,2 +17,3 @@ var arrayFilter = require('./_arrayFilter'),

* @memberOf _
* @since 1.2.0
* @category Array

@@ -19,0 +20,0 @@ * @param {Array} array The array of grouped elements to process.

@@ -12,5 +12,7 @@ var apply = require('./_apply'),

* @memberOf _
* @since 3.8.0
* @category Array
* @param {Array} array The array of grouped elements to process.
* @param {Function} [iteratee=_.identity] The function to combine regrouped values.
* @param {Function} [iteratee=_.identity] The function to combine
* regrouped values.
* @returns {Array} Returns the new array of regrouped elements.

@@ -17,0 +19,0 @@ * @example

@@ -13,2 +13,3 @@ var baseCastFunction = require('./_baseCastFunction'),

* @memberOf _
* @since 4.6.0
* @category Object

@@ -15,0 +16,0 @@ * @param {Object} object The object to modify.

@@ -14,2 +14,3 @@ var baseCastFunction = require('./_baseCastFunction'),

* @memberOf _
* @since 4.6.0
* @category Object

@@ -16,0 +17,0 @@ * @param {Object} object The object to modify.

@@ -8,2 +8,3 @@ var createCompounder = require('./_createCompounder');

* @memberOf _
* @since 4.0.0
* @category String

@@ -10,0 +11,0 @@ * @param {string} [string=''] The string to convert.

@@ -8,2 +8,3 @@ var createCaseFirst = require('./_createCaseFirst');

* @memberOf _
* @since 4.0.0
* @category String

@@ -10,0 +11,0 @@ * @param {string} [string=''] The string to convert.

@@ -5,3 +5,3 @@ var baseValues = require('./_baseValues'),

/**
* Creates an array of the own enumerable property values of `object`.
* Creates an array of the own enumerable string keyed property values of `object`.
*

@@ -11,2 +11,3 @@ * **Note:** Non-object values are coerced to objects.

* @static
* @since 0.1.0
* @memberOf _

@@ -13,0 +14,0 @@ * @category Object

@@ -5,3 +5,4 @@ var baseValues = require('./_baseValues'),

/**
* Creates an array of the own and inherited enumerable property values of `object`.
* Creates an array of the own and inherited enumerable string keyed property
* values of `object`.
*

@@ -12,2 +13,3 @@ * **Note:** Non-object values are coerced to objects.

* @memberOf _
* @since 3.0.0
* @category Object

@@ -14,0 +16,0 @@ * @param {Object} object The object to query.

@@ -12,2 +12,3 @@ var baseDifference = require('./_baseDifference'),

* @memberOf _
* @since 0.1.0
* @category Array

@@ -14,0 +15,0 @@ * @param {Array} array The array to filter.

@@ -55,3 +55,3 @@ var toString = require('./toString');

/** Used to detect strings that need a more robust regexp to match words. */
var reHasComplexWord = /[a-z][A-Z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
var reHasComplexWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;

@@ -63,6 +63,7 @@ /**

* @memberOf _
* @since 3.0.0
* @category String
* @param {string} [string=''] The string to inspect.
* @param {RegExp|string} [pattern] The pattern to match words.
* @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {Array} Returns the words of `string`.

@@ -69,0 +70,0 @@ * @example

@@ -12,2 +12,3 @@ var identity = require('./identity'),

* @memberOf _
* @since 0.1.0
* @category Function

@@ -14,0 +15,0 @@ * @param {*} value The value to wrap.

@@ -14,2 +14,3 @@ var LazyWrapper = require('./_LazyWrapper'),

* @memberOf _
* @since 1.0.0
* @category Seq

@@ -16,0 +17,0 @@ * @param {...(string|string[])} [paths] The property paths of elements to pick,

var chain = require('./chain');
/**
* Enables explicit method chaining on the wrapper object.
* Creates a `lodash` wrapper instance with explicit method chain sequences enabled.
*
* @name chain
* @memberOf _
* @since 0.1.0
* @category Seq

@@ -9,0 +10,0 @@ * @returns {Object} Returns the new `lodash` wrapper instance.

@@ -16,10 +16,10 @@ var LazyWrapper = require('./_LazyWrapper'),

* Creates a `lodash` object which wraps `value` to enable implicit method
* chaining. Methods that operate on and return arrays, collections, and
* functions can be chained together. Methods that retrieve a single value or
* may return a primitive value will automatically end the chain sequence and
* return the unwrapped value. Otherwise, the value must be unwrapped with
* `_#value`.
* chain sequences. Methods that operate on and return arrays, collections,
* and functions can be chained together. Methods that retrieve a single value
* or may return a primitive value will automatically end the chain sequence
* and return the unwrapped value. Otherwise, the value must be unwrapped
* with `_#value`.
*
* Explicit chaining, which must be unwrapped with `_#value` in all cases,
* may be enabled using `_.chain`.
* Explicit chain sequences, which must be unwrapped with `_#value`, may be
* enabled using `_.chain`.
*

@@ -29,9 +29,9 @@ * The execution of chained methods is lazy, that is, it's deferred until

*
* Lazy evaluation allows several methods to support shortcut fusion. Shortcut
* fusion is an optimization to merge iteratee calls; this avoids the creation
* of intermediate arrays and can greatly reduce the number of iteratee executions.
* Sections of a chain sequence qualify for shortcut fusion if the section is
* applied to an array of at least two hundred elements and any iteratees
* accept only one argument. The heuristic for whether a section qualifies
* for shortcut fusion is subject to change.
* Lazy evaluation allows several methods to support shortcut fusion.
* Shortcut fusion is an optimization to merge iteratee calls; this avoids
* the creation of intermediate arrays and can greatly reduce the number of
* iteratee executions. Sections of a chain sequence qualify for shortcut
* fusion if the section is applied to an array of at least two hundred
* elements and any iteratees accept only one argument. The heuristic for
* whether a section qualifies for shortcut fusion is subject to change.
*

@@ -61,44 +61,45 @@ * Chaining is supported in custom builds as long as the `_#value` method is

* `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,
* `flatten`, `flattenDeep`, `flattenDepth`, `flip`, `flow`, `flowRight`,
* `fromPairs`, `functions`, `functionsIn`, `groupBy`, `initial`, `intersection`,
* `intersectionBy`, `intersectionWith`, `invert`, `invertBy`, `invokeMap`,
* `iteratee`, `keyBy`, `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`,
* `matches`, `matchesProperty`, `memoize`, `merge`, `mergeWith`, `method`,
* `methodOf`, `mixin`, `negate`, `nthArg`, `omit`, `omitBy`, `once`, `orderBy`,
* `over`, `overArgs`, `overEvery`, `overSome`, `partial`, `partialRight`,
* `partition`, `pick`, `pickBy`, `plant`, `property`, `propertyOf`, `pull`,
* `pullAll`, `pullAllBy`, `pullAllWith`, `pullAt`, `push`, `range`,
* `rangeRight`, `rearg`, `reject`, `remove`, `rest`, `reverse`, `sampleSize`,
* `set`, `setWith`, `shuffle`, `slice`, `sort`, `sortBy`, `splice`, `spread`,
* `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, `tap`, `throttle`,
* `thru`, `toArray`, `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`,
* `transform`, `unary`, `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`,
* `uniqWith`, `unset`, `unshift`, `unzip`, `unzipWith`, `update`, `values`,
* `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, `zipObject`,
* `zipObjectDeep`, and `zipWith`
* `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,
* `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,
* `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,
* `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,
* `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,
* `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,
* `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,
* `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,
* `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,
* `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,
* `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,
* `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,
* `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,
* `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,
* `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,
* `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,
* `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,
* `zipObject`, `zipObjectDeep`, and `zipWith`
*
* The wrapper methods that are **not** chainable by default are:
* `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,
* `cloneDeep`, `cloneDeepWith`, `cloneWith`, `deburr`, `each`, `eachRight`,
* `endsWith`, `eq`, `escape`, `escapeRegExp`, `every`, `find`, `findIndex`,
* `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `first`, `floor`,
* `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`,
* `get`, `gt`, `gte`, `has`, `hasIn`, `head`, `identity`, `includes`,
* `indexOf`, `inRange`, `invoke`, `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`,
* `isUndefined`, `isTypedArray`, `isWeakMap`, `isWeakSet`, `join`, `kebabCase`,
* `last`, `lastIndexOf`, `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`,
* `maxBy`, `mean`, `min`, `minBy`, `noConflict`, `noop`, `now`, `pad`,
* `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,
* `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,
* `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,
* `sortedLastIndexBy`, `startCase`, `startsWith`, `subtract`, `sum`, `sumBy`,
* `template`, `times`, `toInteger`, `toJSON`, `toLength`, `toLower`,
* `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, `trimEnd`,
* `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, `upperFirst`,
* `value`, and `words`
* `cloneDeep`, `cloneDeepWith`, `cloneWith`, `deburr`, `divide`, `each`,
* `eachRight`, `endsWith`, `eq`, `escape`, `escapeRegExp`, `every`, `find`,
* `findIndex`, `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `first`,
* `floor`, `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`,
* `forOwnRight`, `get`, `gt`, `gte`, `has`, `hasIn`, `head`, `identity`,
* `includes`, `indexOf`, `inRange`, `invoke`, `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`, `isUndefined`, `isTypedArray`, `isWeakMap`, `isWeakSet`,
* `join`, `kebabCase`, `last`, `lastIndexOf`, `lowerCase`, `lowerFirst`,
* `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, `min`, `minBy`, `multiply`,
* `noConflict`, `noop`, `now`, `pad`, `padEnd`, `padStart`, `parseInt`,
* `pop`, `random`, `reduce`, `reduceRight`, `repeat`, `result`, `round`,
* `runInContext`, `sample`, `shift`, `size`, `snakeCase`, `some`, `sortedIndex`,
* `sortedIndexBy`, `sortedLastIndex`, `sortedLastIndexBy`, `startCase`,
* `startsWith`, `subtract`, `sum`, `sumBy`, `template`, `times`, `toInteger`,
* `toJSON`, `toLength`, `toLower`, `toNumber`, `toSafeInteger`, `toString`,
* `toUpper`, `trim`, `trimEnd`, `trimStart`, `truncate`, `unescape`,
* `uniqueId`, `upperCase`, `upperFirst`, `value`, and `words`
*

@@ -105,0 +106,0 @@ * @name _

@@ -13,2 +13,3 @@ var LazyWrapper = require('./_LazyWrapper'),

* @memberOf _
* @since 0.1.0
* @category Seq

@@ -15,0 +16,0 @@ * @returns {Object} Returns the new `lodash` wrapper instance.

var baseWrapperValue = require('./_baseWrapperValue');
/**
* Executes the chained sequence to extract the unwrapped value.
* Executes the chain sequence to resolve the unwrapped value.
*
* @name value
* @memberOf _
* @since 0.1.0
* @alias toJSON, valueOf

@@ -9,0 +10,0 @@ * @category Seq

@@ -7,3 +7,4 @@ var arrayFilter = require('./_arrayFilter'),

/**
* 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 given arrays. The order of result values is determined by the order

@@ -14,2 +15,3 @@ * they occur in the arrays.

* @memberOf _
* @since 2.4.0
* @category Array

@@ -16,0 +18,0 @@ * @param {...Array} [arrays] The arrays to inspect.

@@ -10,10 +10,13 @@ var arrayFilter = require('./_arrayFilter'),

* This method is like `_.xor` except that it accepts `iteratee` which is
* invoked for each element of each `arrays` to generate the criterion by which
* by which they're compared. The iteratee is invoked with one argument: (value).
* invoked for each element of each `arrays` to generate the criterion by
* which by which they're compared. The iteratee is invoked with one argument:
* (value).
*
* @static
* @memberOf _
* @since 4.0.0
* @category Array
* @param {...Array} [arrays] The arrays to inspect.
* @param {Function|Object|string} [iteratee=_.identity] The iteratee invoked per element.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @returns {Array} Returns the new array of values.

@@ -20,0 +23,0 @@ * @example

@@ -14,2 +14,3 @@ var arrayFilter = require('./_arrayFilter'),

* @memberOf _
* @since 4.0.0
* @category Array

@@ -16,0 +17,0 @@ * @param {...Array} [arrays] The arrays to inspect.

@@ -5,8 +5,9 @@ var rest = require('./rest'),

/**
* Creates an array of grouped elements, the first of which contains the first
* elements of the given arrays, the second of which contains the second elements
* of the given arrays, and so on.
* Creates an array of grouped elements, the first of which contains the
* first elements of the given arrays, the second of which contains the
* second elements of the given arrays, and so on.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Array

@@ -13,0 +14,0 @@ * @param {...Array} [arrays] The arrays to process.

@@ -6,8 +6,9 @@ var assignValue = require('./_assignValue'),

* This method is like `_.fromPairs` except that it accepts two arrays,
* one of property names and one of corresponding values.
* one of property identifiers and one of corresponding values.
*
* @static
* @memberOf _
* @since 0.4.0
* @category Array
* @param {Array} [props=[]] The property names.
* @param {Array} [props=[]] The property identifiers.
* @param {Array} [values=[]] The property values.

@@ -14,0 +15,0 @@ * @returns {Object} Returns the new object.

@@ -9,4 +9,5 @@ var baseSet = require('./_baseSet'),

* @memberOf _
* @since 4.1.0
* @category Array
* @param {Array} [props=[]] The property names.
* @param {Array} [props=[]] The property identifiers.
* @param {Array} [values=[]] The property values.

@@ -13,0 +14,0 @@ * @returns {Object} Returns the new object.

@@ -11,2 +11,3 @@ var rest = require('./rest'),

* @memberOf _
* @since 3.8.0
* @category Array

@@ -13,0 +14,0 @@ * @param {...Array} [arrays] The arrays to process.

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc