Socket
Socket
Sign inDemoInstall

lodash

Package Overview
Dependencies
Maintainers
3
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.13.1 to 4.14.0

_baseConformsTo.js

2

_addMapEntry.js

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

function addMapEntry(map, pair) {
// Don't return `Map#set` because it doesn't return the map instance in IE 11.
// Don't return `map.set` because it's not chainable in IE 11.
map.set(pair[0], pair[1]);

@@ -13,0 +13,0 @@ return map;

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

function addSetEntry(set, value) {
// Don't return `set.add` because it's not chainable in IE 11.
set.add(value);

@@ -12,0 +13,0 @@ return set;

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

function apply(func, thisArg, args) {
var length = args.length;
switch (length) {
switch (args.length) {
case 0: return func.call(thisArg);

@@ -16,0 +15,0 @@ case 1: return func.call(thisArg, args[0]);

/**
* The base implementation of `_.clamp` which doesn't coerce arguments to numbers.
* The base implementation of `_.clamp` which doesn't coerce arguments.
*

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

@@ -128,3 +128,2 @@ var Stack = require('./_Stack'),

}
// Recursively populate clone (susceptible to call stack limits).
arrayEach(props || value, function(subValue, key) {

@@ -135,4 +134,8 @@ if (props) {

}
// Recursively populate clone (susceptible to call stack limits).
assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));
});
if (!isFull) {
stack['delete'](value);
}
return result;

@@ -139,0 +142,0 @@ }

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

var keys = require('./keys');
var baseConformsTo = require('./_baseConformsTo'),
keys = require('./keys');

@@ -11,21 +12,5 @@ /**

function baseConforms(source) {
var props = keys(source),
length = props.length;
var props = keys(source);
return function(object) {
if (object == null) {
return !length;
}
var index = length;
while (index--) {
var key = props[index],
predicate = source[key],
value = object[key];
if ((value === undefined &&
!(key in Object(object))) || !predicate(value)) {
return false;
}
}
return true;
return baseConformsTo(object, source, props);
};

@@ -32,0 +17,0 @@ }

@@ -5,4 +5,4 @@ /** Used as the `TypeError` message for "Functions" methods. */

/**
* The base implementation of `_.delay` and `_.defer` which accepts an array
* of `func` arguments.
* The base implementation of `_.delay` and `_.defer` which accepts `args`
* to provide to `func`.
*

@@ -12,3 +12,3 @@ * @private

* @param {number} wait The number of milliseconds to delay invocation.
* @param {Object} args The arguments to provide to `func`.
* @param {Array} args The arguments to provide to `func`.
* @returns {number} Returns the timer id.

@@ -15,0 +15,0 @@ */

/**
* The base implementation of `_.gt` which doesn't coerce arguments to numbers.
* The base implementation of `_.gt` which doesn't coerce arguments.
*

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

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

var indexOfNaN = require('./_indexOfNaN');
var baseFindIndex = require('./_baseFindIndex'),
baseIsNaN = require('./_baseIsNaN');

@@ -14,3 +15,3 @@ /**

if (value !== value) {
return indexOfNaN(array, fromIndex);
return baseFindIndex(array, baseIsNaN, fromIndex);
}

@@ -17,0 +18,0 @@ var index = fromIndex - 1,

@@ -6,3 +6,3 @@ /* Built-in method references for those with the same name as other `lodash` methods. */

/**
* The base implementation of `_.inRange` which doesn't coerce arguments to numbers.
* The base implementation of `_.inRange` which doesn't coerce arguments.
*

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

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

var overArg = require('./_overArg');
/* Built-in method references for those with the same name as other `lodash` methods. */

@@ -12,6 +14,4 @@ var nativeKeys = Object.keys;

*/
function baseKeys(object) {
return nativeKeys(Object(object));
}
var baseKeys = overArg(nativeKeys, Object);
module.exports = baseKeys;
/**
* The base implementation of `_.lt` which doesn't coerce arguments to numbers.
* The base implementation of `_.lt` which doesn't coerce arguments.
*

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

@@ -73,9 +73,8 @@ var assignMergeValue = require('./_assignMergeValue'),

}
stack.set(srcValue, newValue);
if (isCommon) {
// Recursively merge objects and arrays (susceptible to call stack limits).
stack.set(srcValue, newValue);
mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
stack['delete'](srcValue);
}
stack['delete'](srcValue);
assignMergeValue(object, key, newValue);

@@ -82,0 +81,0 @@ }

var isIndex = require('./_isIndex');
/**
* The base implementation of `_.nth` which doesn't coerce `n` to an integer.
* The base implementation of `_.nth` which doesn't coerce arguments.
*

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

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

var arrayReduce = require('./_arrayReduce');
var basePickBy = require('./_basePickBy');

@@ -14,10 +14,7 @@ /**

object = Object(object);
return arrayReduce(props, function(result, key) {
if (key in object) {
result[key] = object[key];
}
return result;
}, {});
return basePickBy(object, props, function(value, key) {
return key in object;
});
}
module.exports = basePick;

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

var getAllKeysIn = require('./_getAllKeysIn');
/**

@@ -8,8 +6,8 @@ * The base implementation of `_.pickBy` without support for iteratee shorthands.

* @param {Object} object The source object.
* @param {string[]} props The property identifiers to pick from.
* @param {Function} predicate The function invoked per property.
* @returns {Object} Returns the new object.
*/
function basePickBy(object, predicate) {
function basePickBy(object, props, predicate) {
var index = -1,
props = getAllKeysIn(object),
length = props.length,

@@ -16,0 +14,0 @@ result = {};

@@ -7,3 +7,3 @@ /* Built-in method references for those with the same name as other `lodash` methods. */

* The base implementation of `_.range` and `_.rangeRight` which doesn't
* coerce arguments to numbers.
* coerce arguments.
*

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

/**
* The base implementation of `_.unary` without support for storing wrapper metadata.
* The base implementation of `_.unary` without support for storing metadata.
*

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

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

? customizer(object[key], source[key], key, object, source)
: source[key];
: undefined;
assignValue(object, key, newValue);
assignValue(object, key, newValue === undefined ? source[key] : newValue);
}

@@ -29,0 +29,0 @@ return object;

@@ -19,3 +19,3 @@ var arrayAggregator = require('./_arrayAggregator'),

return func(collection, setter, baseIteratee(iteratee), accumulator);
return func(collection, setter, baseIteratee(iteratee, 2), accumulator);
};

@@ -22,0 +22,0 @@ }

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

var isIterateeCall = require('./_isIterateeCall'),
rest = require('./rest');
var baseRest = require('./_baseRest'),
isIterateeCall = require('./_isIterateeCall');

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

function createAssigner(assigner) {
return rest(function(object, sources) {
return baseRest(function(object, sources) {
var index = -1,

@@ -15,0 +15,0 @@ length = sources.length,

@@ -15,14 +15,9 @@ var baseIteratee = require('./_baseIteratee'),

var iterable = Object(collection);
predicate = baseIteratee(predicate, 3);
if (!isArrayLike(collection)) {
var props = keys(collection);
var iteratee = baseIteratee(predicate, 3);
collection = keys(collection);
predicate = function(key) { return iteratee(iterable[key], key, iterable); };
}
var index = findIndexFunc(props || collection, function(value, key) {
if (props) {
key = value;
value = iterable[key];
}
return predicate(value, key, iterable);
}, fromIndex);
return index > -1 ? collection[props ? props[index] : index] : undefined;
var index = findIndexFunc(collection, predicate, fromIndex);
return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;
};

@@ -29,0 +24,0 @@ }

var LodashWrapper = require('./_LodashWrapper'),
baseFlatten = require('./_baseFlatten'),
baseRest = require('./_baseRest'),
getData = require('./_getData'),
getFuncName = require('./_getFuncName'),
isArray = require('./isArray'),
isLaziable = require('./_isLaziable'),
rest = require('./rest');
isLaziable = require('./_isLaziable');

@@ -15,3 +15,3 @@ /** Used as the size to enable large array optimizations. */

/** Used to compose bitmasks for wrapper metadata. */
/** Used to compose bitmasks for function metadata. */
var CURRY_FLAG = 8,

@@ -30,3 +30,3 @@ PARTIAL_FLAG = 32,

function createFlow(fromRight) {
return rest(function(funcs) {
return baseRest(function(funcs) {
funcs = baseFlatten(funcs, 1);

@@ -33,0 +33,0 @@

@@ -9,9 +9,10 @@ var baseToNumber = require('./_baseToNumber'),

* @param {Function} operator The function to perform the operation.
* @param {number} [defaultValue] The value used for `undefined` arguments.
* @returns {Function} Returns the new mathematical operation function.
*/
function createMathOperation(operator) {
function createMathOperation(operator, defaultValue) {
return function(value, other) {
var result;
if (value === undefined && other === undefined) {
return 0;
return defaultValue;
}

@@ -18,0 +19,0 @@ if (value !== undefined) {

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

baseIteratee = require('./_baseIteratee'),
baseRest = require('./_baseRest'),
baseUnary = require('./_baseUnary'),
isArray = require('./isArray'),
isFlattenableIteratee = require('./_isFlattenableIteratee'),
rest = require('./rest');
isArray = require('./isArray');

@@ -19,8 +18,8 @@ /**

function createOver(arrayFunc) {
return rest(function(iteratees) {
return baseRest(function(iteratees) {
iteratees = (iteratees.length == 1 && isArray(iteratees[0]))
? arrayMap(iteratees[0], baseUnary(baseIteratee))
: arrayMap(baseFlatten(iteratees, 1, isFlattenableIteratee), baseUnary(baseIteratee));
: arrayMap(baseFlatten(iteratees, 1), baseUnary(baseIteratee));
return rest(function(args) {
return baseRest(function(args) {
var thisArg = this;

@@ -27,0 +26,0 @@ return arrayFunc(iteratees, function(iteratee) {

@@ -9,3 +9,3 @@ var Set = require('./_Set'),

/**
* Creates a set of `values`.
* Creates a set object of `values`.
*

@@ -12,0 +12,0 @@ * @private

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

var basePropertyOf = require('./_basePropertyOf');
/** Used to map latin-1 supplementary letters to basic latin letters. */

@@ -29,6 +31,4 @@ var deburredLetters = {

*/
function deburrLetter(letter) {
return deburredLetters[letter];
}
var deburrLetter = basePropertyOf(deburredLetters);
module.exports = deburrLetter;

@@ -32,3 +32,3 @@ var SetCache = require('./_SetCache'),

var stacked = stack.get(array);
if (stacked) {
if (stacked && stack.get(other)) {
return stacked == other;

@@ -41,2 +41,3 @@ }

stack.set(array, other);
stack.set(other, array);

@@ -43,0 +44,0 @@ // Ignore non-index properties.

var Symbol = require('./_Symbol'),
Uint8Array = require('./_Uint8Array'),
eq = require('./eq'),
equalArrays = require('./_equalArrays'),

@@ -66,6 +67,6 @@ mapToArray = require('./_mapToArray'),

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.
return +object == +other;
case numberTag:
// Coerce booleans to `1` or `0` and dates to milliseconds.
// Invalid dates are coerced to `NaN`.
return eq(+object, +other);

@@ -75,6 +76,2 @@ case errorTag:

case numberTag:
// Treat `NaN` vs. `NaN` as equal.
return (object != +object) ? other != +other : object == +other;
case regexpTag:

@@ -103,6 +100,8 @@ case stringTag:

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, stack);
stack.set(object, other);
var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);
stack['delete'](object);
return result;

@@ -109,0 +108,0 @@ case symbolTag:

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

var stacked = stack.get(object);
if (stacked) {
if (stacked && stack.get(other)) {
return stacked == other;

@@ -46,2 +46,3 @@ }

stack.set(object, other);
stack.set(other, object);

@@ -48,0 +49,0 @@ var skipCtor = isPartial;

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

var basePropertyOf = require('./_basePropertyOf');
/** Used to map characters to HTML entities. */

@@ -18,6 +20,4 @@ var htmlEscapes = {

*/
function escapeHtmlChar(chr) {
return htmlEscapes[chr];
}
var escapeHtmlChar = basePropertyOf(htmlEscapes);
module.exports = escapeHtmlChar;

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

var overArg = require('./_overArg');
/* Built-in method references for those with the same name as other `lodash` methods. */

@@ -11,6 +13,4 @@ var nativeGetPrototype = Object.getPrototypeOf;

*/
function getPrototype(value) {
return nativeGetPrototype(Object(value));
}
var getPrototype = overArg(nativeGetPrototype, Object);
module.exports = getPrototype;

@@ -1,5 +0,6 @@

var stubArray = require('./stubArray');
var overArg = require('./_overArg'),
stubArray = require('./stubArray');
/** Built-in value references. */
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeGetSymbols = Object.getOwnPropertySymbols;

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

*/
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));
}
var getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;
// Fallback for IE < 11.
if (!getOwnPropertySymbols) {
getSymbols = stubArray;
}
module.exports = getSymbols;

@@ -5,4 +5,4 @@ var arrayPush = require('./_arrayPush'),

/** Built-in value references. */
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeGetSymbols = Object.getOwnPropertySymbols;

@@ -17,3 +17,3 @@ /**

*/
var getSymbolsIn = !getOwnPropertySymbols ? getSymbols : function(object) {
var getSymbolsIn = !nativeGetSymbols ? getSymbols : function(object) {
var result = [];

@@ -20,0 +20,0 @@ while (object) {

@@ -6,2 +6,3 @@ var DataView = require('./_DataView'),

WeakMap = require('./_WeakMap'),
baseGetTag = require('./_baseGetTag'),
toSource = require('./_toSource');

@@ -42,5 +43,3 @@

*/
function getTag(value) {
return objectToString.call(value);
}
var getTag = baseGetTag;

@@ -47,0 +46,0 @@ // Fallback for data views, maps, sets, and weak maps in IE 11,

@@ -1,4 +0,8 @@

var isArguments = require('./isArguments'),
var Symbol = require('./_Symbol'),
isArguments = require('./isArguments'),
isArray = require('./isArray');
/** Built-in value references. */
var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;
/**

@@ -12,5 +16,6 @@ * Checks if `value` is a flattenable `arguments` object or array.

function isFlattenable(value) {
return isArray(value) || isArguments(value);
return isArray(value) || isArguments(value) ||
!!(spreadableSymbol && value && value[spreadableSymbol])
}
module.exports = isFlattenable;

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

/** Used to compose bitmasks for wrapper metadata. */
/** Used to compose bitmasks for function metadata. */
var BIND_FLAG = 1,

@@ -11,0 +11,0 @@ BIND_KEY_FLAG = 2,

@@ -19,3 +19,6 @@ var baseMerge = require('./_baseMerge'),

if (isObject(objValue) && isObject(srcValue)) {
baseMerge(objValue, srcValue, undefined, mergeDefaults, stack.set(srcValue, objValue));
// Recursively merge objects and arrays (susceptible to call stack limits).
stack.set(srcValue, objValue);
baseMerge(objValue, srcValue, undefined, mergeDefaults, stack);
stack['delete'](srcValue);
}

@@ -22,0 +25,0 @@ return objValue;

@@ -1,15 +0,9 @@

var checkGlobal = require('./_checkGlobal');
var freeGlobal = require('./_freeGlobal');
/** Detect free variable `global` from Node.js. */
var freeGlobal = checkGlobal(typeof global == 'object' && global);
/** Detect free variable `self`. */
var freeSelf = checkGlobal(typeof self == 'object' && self);
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
/** Detect `this` as the global object. */
var thisGlobal = checkGlobal(typeof this == 'object' && this);
/** Used as a reference to the global object. */
var root = freeGlobal || freeSelf || thisGlobal || Function('return this')();
var root = freeGlobal || freeSelf || Function('return this')();
module.exports = root;
var ListCache = require('./_ListCache'),
Map = require('./_Map'),
MapCache = require('./_MapCache');

@@ -19,4 +20,9 @@

var cache = this.__data__;
if (cache instanceof ListCache && cache.__data__.length == LARGE_ARRAY_SIZE) {
cache = this.__data__ = new MapCache(cache.__data__);
if (cache instanceof ListCache) {
var pairs = cache.__data__;
if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
pairs.push([key, value]);
return this;
}
cache = this.__data__ = new MapCache(pairs);
}

@@ -23,0 +29,0 @@ cache.set(key, value);

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

var basePropertyOf = require('./_basePropertyOf');
/** Used to map HTML entities to characters. */

@@ -18,6 +20,4 @@ var htmlUnescapes = {

*/
function unescapeHtmlChar(chr) {
return htmlUnescapes[chr];
}
var unescapeHtmlChar = basePropertyOf(htmlUnescapes);
module.exports = unescapeHtmlChar;

@@ -20,4 +20,4 @@ var createMathOperation = require('./_createMathOperation');

return augend + addend;
});
}, 0);
module.exports = add;

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

var createWrapper = require('./_createWrapper');
var createWrap = require('./_createWrap');
/** Used to compose bitmasks for wrapper metadata. */
/** Used to compose bitmasks for function metadata. */
var ARY_FLAG = 128;

@@ -26,5 +26,5 @@

n = (func && n == null) ? func.length : n;
return createWrapper(func, ARY_FLAG, undefined, undefined, undefined, undefined, n);
return createWrap(func, ARY_FLAG, undefined, undefined, undefined, undefined, n);
}
module.exports = ary;

@@ -39,14 +39,14 @@ var assignValue = require('./_assignValue'),

* function Foo() {
* this.c = 3;
* this.a = 1;
* }
*
* function Bar() {
* this.e = 5;
* this.c = 3;
* }
*
* Foo.prototype.d = 4;
* Bar.prototype.f = 6;
* Foo.prototype.b = 2;
* Bar.prototype.d = 4;
*
* _.assign({ 'a': 1 }, new Foo, new Bar);
* // => { 'a': 1, 'c': 3, 'e': 5 }
* _.assign({ 'a': 0 }, new Foo, new Bar);
* // => { 'a': 1, 'c': 3 }
*/

@@ -53,0 +53,0 @@ var assign = createAssigner(function(object, source) {

@@ -35,14 +35,14 @@ var assignValue = require('./_assignValue'),

* function Foo() {
* this.b = 2;
* this.a = 1;
* }
*
* function Bar() {
* this.d = 4;
* this.c = 3;
* }
*
* Foo.prototype.c = 3;
* Bar.prototype.e = 5;
* Foo.prototype.b = 2;
* Bar.prototype.d = 4;
*
* _.assignIn({ 'a': 1 }, new Foo, new Bar);
* // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5 }
* _.assignIn({ 'a': 0 }, new Foo, new Bar);
* // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }
*/

@@ -49,0 +49,0 @@ var assignIn = createAssigner(function(object, source) {

var baseAt = require('./_baseAt'),
baseFlatten = require('./_baseFlatten'),
rest = require('./rest');
baseRest = require('./_baseRest');

@@ -22,3 +22,3 @@ /**

*/
var at = rest(function(object, paths) {
var at = baseRest(function(object, paths) {
return baseAt(object, baseFlatten(paths, 1));

@@ -25,0 +25,0 @@ });

var apply = require('./_apply'),
isError = require('./isError'),
rest = require('./rest');
baseRest = require('./_baseRest'),
isError = require('./isError');

@@ -27,3 +27,3 @@ /**

*/
var attempt = rest(function(func, args) {
var attempt = baseRest(function(func, args) {
try {

@@ -30,0 +30,0 @@ return apply(func, undefined, args);

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

* jQuery(element).on('click', _.before(5, addContactToList));
* // => allows adding up to 4 contacts to the list
* // => Allows adding up to 4 contacts to the list.
*/

@@ -24,0 +24,0 @@ function before(n, func) {

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

var createWrapper = require('./_createWrapper'),
var baseRest = require('./_baseRest'),
createWrap = require('./_createWrap'),
getHolder = require('./_getHolder'),
replaceHolders = require('./_replaceHolders'),
rest = require('./rest');
replaceHolders = require('./_replaceHolders');
/** Used to compose bitmasks for wrapper metadata. */
/** Used to compose bitmasks for function metadata. */
var BIND_FLAG = 1,

@@ -30,5 +30,5 @@ PARTIAL_FLAG = 32;

*
* var greet = function(greeting, punctuation) {
* function greet(greeting, punctuation) {
* return greeting + ' ' + this.user + punctuation;
* };
* }
*

@@ -46,3 +46,3 @@ * var object = { 'user': 'fred' };

*/
var bind = rest(function(func, thisArg, partials) {
var bind = baseRest(function(func, thisArg, partials) {
var bitmask = BIND_FLAG;

@@ -53,3 +53,3 @@ if (partials.length) {

}
return createWrapper(func, bitmask, thisArg, partials, holders);
return createWrap(func, bitmask, thisArg, partials, holders);
});

@@ -56,0 +56,0 @@

var arrayEach = require('./_arrayEach'),
baseFlatten = require('./_baseFlatten'),
baseRest = require('./_baseRest'),
bind = require('./bind'),
rest = require('./rest'),
toKey = require('./_toKey');

@@ -24,3 +24,3 @@

* 'label': 'docs',
* 'onClick': function() {
* 'click': function() {
* console.log('clicked ' + this.label);

@@ -30,7 +30,7 @@ * }

*
* _.bindAll(view, ['onClick']);
* jQuery(element).on('click', view.onClick);
* _.bindAll(view, ['click']);
* jQuery(element).on('click', view.click);
* // => Logs 'clicked docs' when clicked.
*/
var bindAll = rest(function(object, methodNames) {
var bindAll = baseRest(function(object, methodNames) {
arrayEach(baseFlatten(methodNames, 1), function(key) {

@@ -37,0 +37,0 @@ key = toKey(key);

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

var createWrapper = require('./_createWrapper'),
var baseRest = require('./_baseRest'),
createWrap = require('./_createWrap'),
getHolder = require('./_getHolder'),
replaceHolders = require('./_replaceHolders'),
rest = require('./rest');
replaceHolders = require('./_replaceHolders');
/** Used to compose bitmasks for wrapper metadata. */
/** Used to compose bitmasks for function metadata. */
var BIND_FLAG = 1,

@@ -56,3 +56,3 @@ BIND_KEY_FLAG = 2,

*/
var bindKey = rest(function(object, key, partials) {
var bindKey = baseRest(function(object, key, partials) {
var bitmask = BIND_FLAG | BIND_KEY_FLAG;

@@ -63,3 +63,3 @@ if (partials.length) {

}
return createWrapper(key, bitmask, object, partials, holders);
return createWrap(key, bitmask, object, partials, holders);
});

@@ -66,0 +66,0 @@

module.exports = {
'at': require('./at'),
'countBy': require('./countBy'),

@@ -4,0 +3,0 @@ 'each': require('./each'),

var apply = require('./_apply'),
arrayMap = require('./_arrayMap'),
baseIteratee = require('./_baseIteratee'),
rest = require('./rest');
baseRest = require('./_baseRest');

@@ -26,3 +26,3 @@ /** Used as the `TypeError` message for "Functions" methods. */

* [_.conforms({ 'b': _.isNumber }), _.constant('matches B')],
* [_.constant(true), _.constant('no match')]
* [_.stubTrue, _.constant('no match')]
* ]);

@@ -50,3 +50,3 @@ *

return rest(function(args) {
return baseRest(function(args) {
var index = -1;

@@ -53,0 +53,0 @@ while (++index < length) {

@@ -17,9 +17,9 @@ var baseClone = require('./_baseClone'),

*
* var users = [
* { 'user': 'barney', 'age': 36 },
* { 'user': 'fred', 'age': 40 }
* var objects = [
* { 'a': 2, 'b': 1 },
* { 'a': 1, 'b': 2 }
* ];
*
* _.filter(users, _.conforms({ 'age': function(n) { return n > 38; } }));
* // => [{ 'user': 'fred', 'age': 40 }]
* _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } }));
* // => [{ 'a': 1, 'b': 2 }]
*/

@@ -26,0 +26,0 @@ function conforms(source) {

@@ -6,24 +6,24 @@ /**

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

@@ -20,3 +20,3 @@ var createAggregator = require('./_createAggregator');

* @param {Array|Object} collection The collection to iterate over.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* @param {Function} [iteratee=_.identity]
* The iteratee to transform keys.

@@ -23,0 +23,0 @@ * @returns {Object} Returns the composed aggregate object.

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

var createWrapper = require('./_createWrapper');
var createWrap = require('./_createWrap');
/** Used to compose bitmasks for wrapper metadata. */
/** Used to compose bitmasks for function metadata. */
var CURRY_FLAG = 8;

@@ -49,3 +49,3 @@

arity = guard ? undefined : arity;
var result = createWrapper(func, CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
var result = createWrap(func, CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
result.placeholder = curry.placeholder;

@@ -52,0 +52,0 @@ return result;

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

var createWrapper = require('./_createWrapper');
var createWrap = require('./_createWrap');
/** Used to compose bitmasks for wrapper metadata. */
/** Used to compose bitmasks for function metadata. */
var CURRY_RIGHT_FLAG = 16;

@@ -46,3 +46,3 @@

arity = guard ? undefined : arity;
var result = createWrapper(func, CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
var result = createWrap(func, CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
result.placeholder = curryRight.placeholder;

@@ -49,0 +49,0 @@ return result;

@@ -145,2 +145,5 @@ var isObject = require('./isObject'),

function cancel() {
if (timerId !== undefined) {
clearTimeout(timerId);
}
lastInvokeTime = 0;

@@ -147,0 +150,0 @@ lastArgs = lastCallTime = lastThis = timerId = undefined;

var apply = require('./_apply'),
assignInDefaults = require('./_assignInDefaults'),
assignInWith = require('./assignInWith'),
rest = require('./rest');
baseRest = require('./_baseRest');

@@ -24,6 +24,6 @@ /**

*
* _.defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });
* // => { 'user': 'barney', 'age': 36 }
* _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
* // => { 'a': 1, 'b': 2 }
*/
var defaults = rest(function(args) {
var defaults = baseRest(function(args) {
args.push(undefined, assignInDefaults);

@@ -30,0 +30,0 @@ return apply(assignInWith, undefined, args);

var apply = require('./_apply'),
baseRest = require('./_baseRest'),
mergeDefaults = require('./_mergeDefaults'),
mergeWith = require('./mergeWith'),
rest = require('./rest');
mergeWith = require('./mergeWith');

@@ -22,7 +22,6 @@ /**

*
* _.defaultsDeep({ 'user': { 'name': 'barney' } }, { 'user': { 'name': 'fred', 'age': 36 } });
* // => { 'user': { 'name': 'barney', 'age': 36 } }
*
* _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });
* // => { 'a': { 'b': 2, 'c': 3 } }
*/
var defaultsDeep = rest(function(args) {
var defaultsDeep = baseRest(function(args) {
args.push(undefined, mergeDefaults);

@@ -29,0 +28,0 @@ return apply(mergeWith, undefined, args);

var baseDelay = require('./_baseDelay'),
rest = require('./rest');
baseRest = require('./_baseRest');

@@ -22,3 +22,3 @@ /**

*/
var defer = rest(function(func, args) {
var defer = baseRest(function(func, args) {
return baseDelay(func, 1, args);

@@ -25,0 +25,0 @@ });

var baseDelay = require('./_baseDelay'),
rest = require('./rest'),
baseRest = require('./_baseRest'),
toNumber = require('./toNumber');

@@ -24,3 +24,3 @@

*/
var delay = rest(function(func, wait, args) {
var delay = baseRest(function(func, wait, args) {
return baseDelay(func, toNumber(wait) || 0, args);

@@ -27,0 +27,0 @@ });

var baseDifference = require('./_baseDifference'),
baseFlatten = require('./_baseFlatten'),
isArrayLikeObject = require('./isArrayLikeObject'),
rest = require('./rest');
baseRest = require('./_baseRest'),
isArrayLikeObject = require('./isArrayLikeObject');
/**
* 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 `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
* order they occur in the first array.
*
* **Note:** Unlike `_.pullAll`, this method returns a new array.
*
* @static

@@ -25,3 +27,3 @@ * @memberOf _

*/
var difference = rest(function(array, values) {
var difference = baseRest(function(array, values) {
return isArrayLikeObject(array)

@@ -28,0 +30,0 @@ ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))

var baseDifference = require('./_baseDifference'),
baseFlatten = require('./_baseFlatten'),
baseIteratee = require('./_baseIteratee'),
baseRest = require('./_baseRest'),
isArrayLikeObject = require('./isArrayLikeObject'),
last = require('./last'),
rest = require('./rest');
last = require('./last');

@@ -14,2 +14,4 @@ /**

*
* **Note:** Unlike `_.pullAllBy`, this method returns a new array.
*
* @static

@@ -21,4 +23,3 @@ * @memberOf _

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

@@ -34,3 +35,3 @@ * @example

*/
var differenceBy = rest(function(array, values) {
var differenceBy = baseRest(function(array, values) {
var iteratee = last(values);

@@ -41,3 +42,3 @@ if (isArrayLikeObject(iteratee)) {

return isArrayLikeObject(array)
? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), baseIteratee(iteratee))
? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2))
: [];

@@ -44,0 +45,0 @@ });

var baseDifference = require('./_baseDifference'),
baseFlatten = require('./_baseFlatten'),
baseRest = require('./_baseRest'),
isArrayLikeObject = require('./isArrayLikeObject'),
last = require('./last'),
rest = require('./rest');
last = require('./last');

@@ -13,2 +13,4 @@ /**

*
* **Note:** Unlike `_.pullAllWith`, this method returns a new array.
*
* @static

@@ -29,3 +31,3 @@ * @memberOf _

*/
var differenceWith = rest(function(array, values) {
var differenceWith = baseRest(function(array, values) {
var comparator = last(values);

@@ -32,0 +34,0 @@ if (isArrayLikeObject(comparator)) {

@@ -20,4 +20,4 @@ var createMathOperation = require('./_createMathOperation');

return dividend / divisor;
});
}, 1);
module.exports = divide;

@@ -14,4 +14,3 @@ var baseIteratee = require('./_baseIteratee'),

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

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

@@ -14,3 +14,3 @@ var baseIteratee = require('./_baseIteratee'),

* @param {Array} array The array to query.
* @param {Array|Function|Object|string} [predicate=_.identity]
* @param {Function} [predicate=_.identity]
* The function invoked per iteration.

@@ -17,0 +17,0 @@ * @returns {Array} Returns the slice of `array`.

@@ -38,6 +38,7 @@ var baseClamp = require('./_baseClamp'),

var end = position;
position -= target.length;
return position >= 0 && string.indexOf(target, position) == position;
return position >= 0 && string.slice(position, end) == target;
}
module.exports = endsWith;

@@ -15,4 +15,4 @@ /**

*
* var object = { 'user': 'fred' };
* var other = { 'user': 'fred' };
* var object = { 'a': 1 };
* var other = { 'a': 1 };
*

@@ -19,0 +19,0 @@ * _.eq(object, object);

@@ -17,3 +17,3 @@ var arrayEvery = require('./_arrayEvery'),

* @param {Array|Object} collection The collection to iterate over.
* @param {Array|Function|Object|string} [predicate=_.identity]
* @param {Function} [predicate=_.identity]
* The function invoked per iteration.

@@ -20,0 +20,0 @@ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.

@@ -11,2 +11,4 @@ var arrayFilter = require('./_arrayFilter'),

*
* **Note:** Unlike `_.remove`, this method returns a new array.
*
* @static

@@ -17,3 +19,3 @@ * @memberOf _

* @param {Array|Object} collection The collection to iterate over.
* @param {Array|Function|Object|string} [predicate=_.identity]
* @param {Function} [predicate=_.identity]
* The function invoked per iteration.

@@ -20,0 +22,0 @@ * @returns {Array} Returns the new filtered array.

@@ -14,3 +14,3 @@ var createFind = require('./_createFind'),

* @param {Array|Object} collection The collection to search.
* @param {Array|Function|Object|string} [predicate=_.identity]
* @param {Function} [predicate=_.identity]
* The function invoked per iteration.

@@ -17,0 +17,0 @@ * @param {number} [fromIndex=0] The index to search from.

@@ -17,3 +17,3 @@ var baseFindIndex = require('./_baseFindIndex'),

* @param {Array} array The array to search.
* @param {Array|Function|Object|string} [predicate=_.identity]
* @param {Function} [predicate=_.identity]
* The function invoked per iteration.

@@ -20,0 +20,0 @@ * @param {number} [fromIndex=0] The index to search from.

@@ -14,4 +14,3 @@ var baseFindKey = require('./_baseFindKey'),

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

@@ -18,0 +17,0 @@ * else `undefined`.

@@ -13,3 +13,3 @@ var createFind = require('./_createFind'),

* @param {Array|Object} collection The collection to search.
* @param {Array|Function|Object|string} [predicate=_.identity]
* @param {Function} [predicate=_.identity]
* The function invoked per iteration.

@@ -16,0 +16,0 @@ * @param {number} [fromIndex=collection.length-1] The index to search from.

@@ -18,3 +18,3 @@ var baseFindIndex = require('./_baseFindIndex'),

* @param {Array} array The array to search.
* @param {Array|Function|Object|string} [predicate=_.identity]
* @param {Function} [predicate=_.identity]
* The function invoked per iteration.

@@ -21,0 +21,0 @@ * @param {number} [fromIndex=array.length-1] The index to search from.

@@ -14,4 +14,3 @@ var baseFindKey = require('./_baseFindKey'),

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

@@ -18,0 +17,0 @@ * else `undefined`.

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

* @param {Array|Object} collection The collection to iterate over.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* @param {Function} [iteratee=_.identity]
* The function invoked per iteration.

@@ -17,0 +17,0 @@ * @returns {Array} Returns the new flattened array.

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

* @param {Array|Object} collection The collection to iterate over.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* @param {Function} [iteratee=_.identity]
* The function invoked per iteration.

@@ -19,0 +19,0 @@ * @returns {Array} Returns the new flattened array.

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

* @param {Array|Object} collection The collection to iterate over.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* @param {Function} [iteratee=_.identity]
* The function invoked per iteration.

@@ -17,0 +17,0 @@ * @param {number} [depth=1] The maximum recursion depth.

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

var createWrapper = require('./_createWrapper');
var createWrap = require('./_createWrap');
/** Used to compose bitmasks for wrapper metadata. */
/** Used to compose bitmasks for function metadata. */
var FLIP_FLAG = 512;

@@ -25,5 +25,5 @@

function flip(func) {
return createWrapper(func, FLIP_FLAG);
return createWrap(func, FLIP_FLAG);
}
module.exports = flip;

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

* @category Util
* @param {...(Function|Function[])} [funcs] Functions to invoke.
* @param {...(Function|Function[])} [funcs] The functions to invoke.
* @returns {Function} Returns the new composite function.

@@ -15,0 +15,0 @@ * @see _.flowRight

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

* @category Util
* @param {...(Function|Function[])} [funcs] Functions to invoke.
* @param {...(Function|Function[])} [funcs] The functions to invoke.
* @returns {Function} Returns the new composite function.

@@ -14,0 +14,0 @@ * @see _.flow

@@ -74,7 +74,7 @@ var mapping = require('./_mapping'),

*/
function immutWrap(func, cloner) {
function wrapImmutable(func, cloner) {
return function() {
var length = arguments.length;
if (!length) {
return result;
return;
}

@@ -213,2 +213,8 @@ var args = Array(length);

},
'rearg': function(rearg) {
return function(func, indexes) {
var n = indexes ? indexes.length : 0;
return curry(rearg(func, indexes), n);
};
},
'runInContext': function(runInContext) {

@@ -224,2 +230,73 @@ return function(context) {

/**
* Casts `func` to a function with an arity capped iteratee if needed.
*
* @private
* @param {string} name The name of the function to inspect.
* @param {Function} func The function to inspect.
* @returns {Function} Returns the cast function.
*/
function castCap(name, func) {
if (config.cap) {
var indexes = mapping.iterateeRearg[name];
if (indexes) {
return iterateeRearg(func, indexes);
}
var n = !isLib && mapping.iterateeAry[name];
if (n) {
return iterateeAry(func, n);
}
}
return func;
}
/**
* Casts `func` to a curried function if needed.
*
* @private
* @param {string} name The name of the function to inspect.
* @param {Function} func The function to inspect.
* @param {number} n The arity of `func`.
* @returns {Function} Returns the cast function.
*/
function castCurry(name, func, n) {
return (forceCurry || (config.curry && n > 1))
? curry(func, n)
: func;
}
/**
* Casts `func` to a fixed arity function if needed.
*
* @private
* @param {string} name The name of the function to inspect.
* @param {Function} func The function to inspect.
* @param {number} n The arity cap.
* @returns {Function} Returns the cast function.
*/
function castFixed(name, func, n) {
if (config.fixed && (forceFixed || !mapping.skipFixed[name])) {
var data = mapping.methodSpread[name],
start = data && data.start;
return start === undefined ? ary(func, n) : spread(func, start);
}
return func;
}
/**
* Casts `func` to an rearged function if needed.
*
* @private
* @param {string} name The name of the function to inspect.
* @param {Function} func The function to inspect.
* @param {number} n The arity of `func`.
* @returns {Function} Returns the cast function.
*/
function castRearg(name, func, n) {
return (config.rearg && n > 1 && (forceRearg || !mapping.skipRearg[name]))
? rearg(func, mapping.methodRearg[name] || mapping.aryRearg[n])
: func;
}
/**
* Creates a clone of `object` by `path`.

@@ -316,8 +393,7 @@ *

/**
* Creates a function that invokes `func` with its first argument passed
* thru `transform`.
* Creates a function that invokes `func` with its first argument transformed.
*
* @private
* @param {Function} func The function to wrap.
* @param {...Function} transform The functions to transform the first argument.
* @param {Function} transform The argument transform.
* @returns {Function} Returns the new function.

@@ -362,9 +438,9 @@ */

if (mutateMap.array[name]) {
wrapped = immutWrap(func, cloneArray);
wrapped = wrapImmutable(func, cloneArray);
}
else if (mutateMap.object[name]) {
wrapped = immutWrap(func, createCloner(func));
wrapped = wrapImmutable(func, createCloner(func));
}
else if (mutateMap.set[name]) {
wrapped = immutWrap(func, cloneByPath);
wrapped = wrapImmutable(func, cloneByPath);
}

@@ -375,26 +451,11 @@ }

if (name == otherName) {
var aryN = !isLib && mapping.iterateeAry[name],
reargIndexes = mapping.iterateeRearg[name],
spreadStart = mapping.methodSpread[name];
var spreadData = mapping.methodSpread[name],
afterRearg = spreadData && spreadData.afterRearg;
result = wrapped;
if (config.fixed && (forceFixed || !mapping.skipFixed[name])) {
result = spreadStart === undefined
? ary(result, aryKey)
: spread(result, spreadStart);
}
if (config.rearg && aryKey > 1 && (forceRearg || !mapping.skipRearg[name])) {
result = rearg(result, mapping.methodRearg[name] || mapping.aryRearg[aryKey]);
}
if (config.cap) {
if (reargIndexes) {
result = iterateeRearg(result, reargIndexes);
} else if (aryN) {
result = iterateeAry(result, aryN);
}
}
if (forceCurry || (config.curry && aryKey > 1)) {
forceCurry && console.log(forceCurry, name);
result = curry(result, aryKey);
}
result = afterRearg
? castFixed(name, castRearg(name, wrapped, aryKey), aryKey)
: castRearg(name, castFixed(name, wrapped, aryKey), aryKey);
result = castCap(name, result);
result = castCurry(name, result, aryKey);
return false;

@@ -401,0 +462,0 @@ }

@@ -10,7 +10,16 @@ /** Used to map aliases to their real names. */

'extend': 'assignIn',
'extendAll': 'assignInAll',
'extendAllWith': 'assignInAllWith',
'extendWith': 'assignInWith',
'first': 'head',
// Methods that are curried variants of others.
'conforms': 'conformsTo',
'matches': 'isMatch',
'property': 'get',
// Ramda aliases.
'__': 'placeholder',
'F': 'stubFalse',
'T': 'stubTrue',
'all': 'every',

@@ -29,4 +38,7 @@ 'allPass': 'overEvery',

'dissocPath': 'unset',
'dropLast': 'dropRight',
'dropLastWhile': 'dropRightWhile',
'equals': 'isEqual',
'identical': 'eq',
'indexBy': 'keyBy',
'init': 'initial',

@@ -48,6 +60,12 @@ 'invertObj': 'invert',

'props': 'at',
'symmetricDifference': 'xor',
'symmetricDifferenceBy': 'xorBy',
'symmetricDifferenceWith': 'xorWith',
'takeLast': 'takeRight',
'takeLastWhile': 'takeRightWhile',
'unapply': 'rest',
'unnest': 'flatten',
'useWith': 'overArgs',
'whereEq': 'filter',
'where': 'conformsTo',
'whereEq': 'isMatch',
'zipObj': 'zipObject'

@@ -59,22 +77,24 @@ };

'1': [
'attempt', 'castArray', 'ceil', 'create', 'curry', 'curryRight', 'floor',
'flow', 'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method',
'methodOf', 'mixin', 'over', 'overEvery', 'overSome', 'rest', 'reverse',
'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart',
'uniqueId', 'words'
'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create',
'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow',
'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method',
'mergeAll', 'methodOf', 'mixin', 'over', 'overEvery', 'overSome', 'rest',
'reverse', 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd',
'trimStart', 'uniqueId', 'words', 'zipAll'
],
'2': [
'add', 'after', 'ary', 'assign', 'assignIn', 'at', 'before', 'bind', 'bindAll',
'bindKey', 'chunk', 'cloneDeepWith', 'cloneWith', 'concat', 'countBy', 'curryN',
'curryRightN', 'debounce', 'defaults', 'defaultsDeep', 'delay', 'difference',
'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith',
'eq', 'every', 'filter', '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', 'nth',
'omit', 'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt',
'partial', 'partialRight', 'partition', 'pick', 'pickBy', 'pull', 'pullAll',
'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith',
'at', 'before', 'bind', 'bindAll', 'bindKey', 'chunk', 'cloneDeepWith',
'cloneWith', 'concat', 'conformsTo', 'countBy', 'curryN', 'curryRightN',
'debounce', 'defaults', 'defaultsDeep', 'defaultTo', 'delay', 'difference',
'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith', 'eq',
'every', 'filter', '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', 'mergeAllWith', 'minBy', 'multiply', 'nth', 'omit',
'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial',
'partialRight', 'partition', 'pick', 'pickBy', 'propertyOf', 'pull', 'pullAll',
'pullAt', 'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove',

@@ -158,3 +178,5 @@ 'repeat', 'restFrom', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex',

exports.methodRearg = {
'assignInAllWith': [1, 2, 0],
'assignInWith': [1, 2, 0],
'assignAllWith': [1, 2, 0],
'assignWith': [1, 2, 0],

@@ -168,2 +190,3 @@ 'differenceBy': [1, 2, 0],

'isMatchWith': [2, 1, 0],
'mergeAllWith': [1, 2, 0],
'mergeWith': [1, 2, 0],

@@ -188,7 +211,16 @@ 'padChars': [2, 1, 0],

exports.methodSpread = {
'invokeArgs': 2,
'invokeArgsMap': 2,
'partial': 1,
'partialRight': 1,
'without': 1
'assignAll': { 'start': 0 },
'assignAllWith': { 'afterRearg': true, 'start': 1 },
'assignInAll': { 'start': 0 },
'assignInAllWith': { 'afterRearg': true, 'start': 1 },
'defaultsAll': { 'start': 0 },
'defaultsDeepAll': { 'start': 0 },
'invokeArgs': { 'start': 2 },
'invokeArgsMap': { 'start': 2 },
'mergeAll': { 'start': 0 },
'mergeAllWith': { 'afterRearg': true, 'start': 1 },
'partial': { 'start': 1 },
'partialRight': { 'start': 1 },
'without': { 'start': 1 },
'zipAll': { 'start': 0 }
};

@@ -210,9 +242,17 @@

'assign': true,
'assignAll': true,
'assignAllWith': true,
'assignIn': true,
'assignInAll': true,
'assignInAllWith': true,
'assignInWith': true,
'assignWith': true,
'defaults': true,
'defaultsAll': true,
'defaultsDeep': true,
'defaultsDeepAll': true,
'merge': true,
'mergeWith': true
'mergeAll': true,
'mergeAllWith': true,
'mergeWith': true,
},

@@ -257,4 +297,10 @@ 'set': {

exports.remap = {
'assignAll': 'assign',
'assignAllWith': 'assignWith',
'assignInAll': 'assignIn',
'assignInAllWith': 'assignInWith',
'curryN': 'curry',
'curryRightN': 'curryRight',
'defaultsAll': 'defaults',
'defaultsDeepAll': 'defaultsDeep',
'findFrom': 'find',

@@ -270,5 +316,8 @@ 'findIndexFrom': 'findIndex',

'lastIndexOfFrom': 'lastIndexOf',
'mergeAll': 'merge',
'mergeAllWith': 'mergeWith',
'padChars': 'pad',
'padCharsEnd': 'padEnd',
'padCharsStart': 'padStart',
'propertyOf': 'get',
'restFrom': 'rest',

@@ -278,3 +327,4 @@ 'spreadFrom': 'spread',

'trimCharsEnd': 'trimEnd',
'trimCharsStart': 'trimStart'
'trimCharsStart': 'trimStart',
'zipAll': 'zip'
};

@@ -289,2 +339,3 @@

'mixin': true,
'rearg': true,
'runInContext': true

@@ -315,2 +366,3 @@ };

'partialRight': true,
'propertyOf': true,
'random': true,

@@ -321,3 +373,4 @@ 'range': true,

'zip': true,
'zipObject': true
'zipObject': true,
'zipObjectDeep': true
};

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

var convert = require('./convert'),
func = convert('conforms', require('../conforms'), require('./_falseOptions'));
func.placeholder = require('./placeholder');
module.exports = func;
module.exports = require('./conformsTo');

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

var convert = require('./convert'),
func = convert('matches', require('../matches'), require('./_falseOptions'));
func.placeholder = require('./placeholder');
module.exports = func;
module.exports = require('./isMatch');

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

var convert = require('./convert'),
func = convert('property', require('../property'), require('./_falseOptions'));
func.placeholder = require('./placeholder');
module.exports = func;
module.exports = require('./get');
var convert = require('./convert'),
func = convert('propertyOf', require('../propertyOf'), require('./_falseOptions'));
func = convert('propertyOf', require('../get'));
func.placeholder = require('./placeholder');
module.exports = func;

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

module.exports = require('./filter');
module.exports = require('./isMatch');

@@ -13,4 +13,4 @@ /**

*
* _.fromPairs([['fred', 30], ['barney', 40]]);
* // => { 'fred': 30, 'barney': 40 }
* _.fromPairs([['a', 1], ['b', 2]]);
* // => { 'a': 1, 'b': 2 }
*/

@@ -17,0 +17,0 @@ function fromPairs(pairs) {

@@ -5,3 +5,3 @@ var baseGet = require('./_baseGet');

* Gets the value at `path` of `object`. If the resolved value is
* `undefined`, the `defaultValue` is used in its place.
* `undefined`, the `defaultValue` is returned in its place.
*

@@ -8,0 +8,0 @@ * @static

@@ -21,3 +21,3 @@ var createAggregator = require('./_createAggregator');

* @param {Array|Object} collection The collection to iterate over.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* @param {Function} [iteratee=_.identity]
* The iteratee to transform keys.

@@ -24,0 +24,0 @@ * @returns {Object} Returns the composed aggregate object.

/**
* This method returns the first argument given to it.
* This method returns the first argument it receives.
*

@@ -12,3 +12,3 @@ * @static

*
* var object = { 'user': 'fred' };
* var object = { 'a': 1 };
*

@@ -15,0 +15,0 @@ * console.log(_.identity(object) === object);

@@ -34,6 +34,6 @@ var baseIndexOf = require('./_baseIndexOf'),

*
* _.includes({ 'user': 'fred', 'age': 40 }, 'fred');
* _.includes({ 'a': 1, 'b': 2 }, 1);
* // => true
*
* _.includes('pebbles', 'eb');
* _.includes('abcd', 'bc');
* // => true

@@ -40,0 +40,0 @@ */

var arrayMap = require('./_arrayMap'),
baseIntersection = require('./_baseIntersection'),
castArrayLikeObject = require('./_castArrayLikeObject'),
rest = require('./rest');
baseRest = require('./_baseRest'),
castArrayLikeObject = require('./_castArrayLikeObject');

@@ -23,3 +23,3 @@ /**

*/
var intersection = rest(function(arrays) {
var intersection = baseRest(function(arrays) {
var mapped = arrayMap(arrays, castArrayLikeObject);

@@ -26,0 +26,0 @@ return (mapped.length && mapped[0] === arrays[0])

var arrayMap = require('./_arrayMap'),
baseIntersection = require('./_baseIntersection'),
baseIteratee = require('./_baseIteratee'),
baseRest = require('./_baseRest'),
castArrayLikeObject = require('./_castArrayLikeObject'),
last = require('./last'),
rest = require('./rest');
last = require('./last');

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

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

@@ -32,3 +31,3 @@ * @example

*/
var intersectionBy = rest(function(arrays) {
var intersectionBy = baseRest(function(arrays) {
var iteratee = last(arrays),

@@ -43,3 +42,3 @@ mapped = arrayMap(arrays, castArrayLikeObject);

return (mapped.length && mapped[0] === arrays[0])
? baseIntersection(mapped, baseIteratee(iteratee))
? baseIntersection(mapped, baseIteratee(iteratee, 2))
: [];

@@ -46,0 +45,0 @@ });

var arrayMap = require('./_arrayMap'),
baseIntersection = require('./_baseIntersection'),
baseRest = require('./_baseRest'),
castArrayLikeObject = require('./_castArrayLikeObject'),
last = require('./last'),
rest = require('./rest');
last = require('./last');

@@ -28,3 +28,3 @@ /**

*/
var intersectionWith = rest(function(arrays) {
var intersectionWith = baseRest(function(arrays) {
var comparator = last(arrays),

@@ -31,0 +31,0 @@ mapped = arrayMap(arrays, castArrayLikeObject);

@@ -22,4 +22,3 @@ var baseIteratee = require('./_baseIteratee'),

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

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

var baseInvoke = require('./_baseInvoke'),
rest = require('./rest');
baseRest = require('./_baseRest');

@@ -22,4 +22,4 @@ /**

*/
var invoke = rest(baseInvoke);
var invoke = baseRest(baseInvoke);
module.exports = invoke;
var apply = require('./_apply'),
baseEach = require('./_baseEach'),
baseInvoke = require('./_baseInvoke'),
baseRest = require('./_baseRest'),
isArrayLike = require('./isArrayLike'),
isKey = require('./_isKey'),
rest = require('./rest');
isKey = require('./_isKey');

@@ -11,4 +11,4 @@ /**

* an array of the results of each invoked method. Any additional arguments
* are provided to each invoked method. If `methodName` is a function, it's
* invoked for and `this` bound to, each element in `collection`.
* are provided to each invoked method. If `path` is a function, it's invoked
* for, and `this` bound to, each element in `collection`.
*

@@ -32,3 +32,3 @@ * @static

*/
var invokeMap = rest(function(collection, path, args) {
var invokeMap = baseRest(function(collection, path, args) {
var index = -1,

@@ -35,0 +35,0 @@ isFunc = typeof path == 'function',

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

* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* @returns {boolean} Returns `true` if `value` is an `arguments` object,
* else `false`.

@@ -33,0 +33,0 @@ * @example

@@ -7,7 +7,5 @@ /**

* @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 an array, else `false`.
* @example

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

@@ -1,16 +0,9 @@

var isObjectLike = require('./isObjectLike');
var baseIsArrayBuffer = require('./_baseIsArrayBuffer'),
baseUnary = require('./_baseUnary'),
nodeUtil = require('./_nodeUtil');
var arrayBufferTag = '[object ArrayBuffer]';
/* Node.js helper references. */
var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer;
/** Used for built-in method references. */
var objectProto = Object.prototype;
/**
* Used to resolve the
* [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
* of values.
*/
var objectToString = objectProto.toString;
/**
* Checks if `value` is classified as an `ArrayBuffer` object.

@@ -23,4 +16,3 @@ *

* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.
* @example

@@ -34,6 +26,4 @@ *

*/
function isArrayBuffer(value) {
return isObjectLike(value) && objectToString.call(value) == arrayBufferTag;
}
var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;
module.exports = isArrayBuffer;

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

* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @returns {boolean} Returns `true` if `value` is a boolean, else `false`.
* @example

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

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

var root = require('./_root'),
var freeGlobal = require('./_freeGlobal'),
root = require('./_root'),
stubFalse = require('./stubFalse');
/** Detect free variable `exports`. */
var freeExports = typeof exports == 'object' && exports;
var freeExports = freeGlobal && typeof exports == 'object' && exports;

@@ -16,2 +17,5 @@ /** Detect free variable `module`. */

/* Built-in method references for those with the same name as other `lodash` methods. */
var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
/**

@@ -34,6 +38,4 @@ * Checks if `value` is a buffer.

*/
var isBuffer = !Buffer ? stubFalse : function(value) {
return value instanceof Buffer;
};
var isBuffer = nativeIsBuffer || stubFalse;
module.exports = isBuffer;

@@ -1,17 +0,9 @@

var isObjectLike = require('./isObjectLike');
var baseIsDate = require('./_baseIsDate'),
baseUnary = require('./_baseUnary'),
nodeUtil = require('./_nodeUtil');
/** `Object#toString` result references. */
var dateTag = '[object Date]';
/* Node.js helper references. */
var nodeIsDate = nodeUtil && nodeUtil.isDate;
/** Used for built-in method references. */
var objectProto = Object.prototype;
/**
* Used to resolve the
* [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
* of values.
*/
var objectToString = objectProto.toString;
/**
* Checks if `value` is classified as a `Date` object.

@@ -24,4 +16,3 @@ *

* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @returns {boolean} Returns `true` if `value` is a date object, else `false`.
* @example

@@ -35,6 +26,4 @@ *

*/
function isDate(value) {
return isObjectLike(value) && objectToString.call(value) == dateTag;
}
var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;
module.exports = isDate;

@@ -23,4 +23,4 @@ var baseIsEqual = require('./_baseIsEqual');

*
* var object = { 'user': 'fred' };
* var other = { 'user': 'fred' };
* var object = { 'a': 1 };
* var other = { 'a': 1 };
*

@@ -27,0 +27,0 @@ * _.isEqual(object, other);

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

* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @returns {boolean} Returns `true` if `value` is a function, else `false`.
* @example

@@ -29,0 +28,0 @@ *

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

var getTag = require('./_getTag'),
isObjectLike = require('./isObjectLike');
var baseIsMap = require('./_baseIsMap'),
baseUnary = require('./_baseUnary'),
nodeUtil = require('./_nodeUtil');
/** `Object#toString` result references. */
var mapTag = '[object Map]';
/* Node.js helper references. */
var nodeIsMap = nodeUtil && nodeUtil.isMap;

@@ -15,4 +16,3 @@ /**

* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @returns {boolean} Returns `true` if `value` is a map, else `false`.
* @example

@@ -26,6 +26,4 @@ *

*/
function isMap(value) {
return isObjectLike(value) && getTag(value) == mapTag;
}
var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;
module.exports = isMap;

@@ -20,8 +20,8 @@ var baseIsMatch = require('./_baseIsMatch'),

*
* var object = { 'user': 'fred', 'age': 40 };
* var object = { 'a': 1, 'b': 2 };
*
* _.isMatch(object, { 'age': 40 });
* _.isMatch(object, { 'b': 2 });
* // => true
*
* _.isMatch(object, { 'age': 36 });
* _.isMatch(object, { 'b': 1 });
* // => false

@@ -28,0 +28,0 @@ */

@@ -7,9 +7,9 @@ var baseIsNative = require('./_baseIsNative'),

*
* **Note:** This method can't reliably detect native functions in the
* presence of the `core-js` package because `core-js` circumvents this kind
* of detection. Despite multiple requests, the `core-js` maintainer has made
* it clear: any attempt to fix the detection will be obstructed. As a result,
* we're left with little choice but to throw an error. Unfortunately, this
* also affects packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),
* which rely on `core-js`.
* **Note:** This method can't reliably detect native functions in the presence
* of the core-js package because core-js circumvents this kind of detection.
* Despite multiple requests, the core-js maintainer has made it clear: any
* attempt to fix the detection will be obstructed. As a result, we're left
* with little choice but to throw an error. Unfortunately, this also affects
* packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),
* which rely on core-js.
*

@@ -33,3 +33,3 @@ * @static

if (isMaskable(value)) {
throw new Error('This method is not supported with `core-js`. Try https://github.com/es-shims.');
throw new Error('This method is not supported with core-js. Try https://github.com/es-shims.');
}

@@ -36,0 +36,0 @@ return baseIsNative(value);

@@ -27,4 +27,3 @@ var isObjectLike = require('./isObjectLike');

* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @returns {boolean} Returns `true` if `value` is a number, else `false`.
* @example

@@ -31,0 +30,0 @@ *

@@ -1,17 +0,9 @@

var isObject = require('./isObject');
var baseIsRegExp = require('./_baseIsRegExp'),
baseUnary = require('./_baseUnary'),
nodeUtil = require('./_nodeUtil');
/** `Object#toString` result references. */
var regexpTag = '[object RegExp]';
/* Node.js helper references. */
var nodeIsRegExp = nodeUtil && nodeUtil.isRegExp;
/** Used for built-in method references. */
var objectProto = Object.prototype;
/**
* Used to resolve the
* [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
* of values.
*/
var objectToString = objectProto.toString;
/**
* Checks if `value` is classified as a `RegExp` object.

@@ -24,4 +16,3 @@ *

* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
* @example

@@ -35,6 +26,4 @@ *

*/
function isRegExp(value) {
return isObject(value) && objectToString.call(value) == regexpTag;
}
var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;
module.exports = isRegExp;

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

var getTag = require('./_getTag'),
isObjectLike = require('./isObjectLike');
var baseIsSet = require('./_baseIsSet'),
baseUnary = require('./_baseUnary'),
nodeUtil = require('./_nodeUtil');
/** `Object#toString` result references. */
var setTag = '[object Set]';
/* Node.js helper references. */
var nodeIsSet = nodeUtil && nodeUtil.isSet;

@@ -15,4 +16,3 @@ /**

* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @returns {boolean} Returns `true` if `value` is a set, else `false`.
* @example

@@ -26,6 +26,4 @@ *

*/
function isSet(value) {
return isObjectLike(value) && getTag(value) == setTag;
}
var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
module.exports = isSet;

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

* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @returns {boolean} Returns `true` if `value` is a string, else `false`.
* @example

@@ -29,0 +28,0 @@ *

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

* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
* @example

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

@@ -1,58 +0,9 @@

var isLength = require('./isLength'),
isObjectLike = require('./isObjectLike');
var baseIsTypedArray = require('./_baseIsTypedArray'),
baseUnary = require('./_baseUnary'),
nodeUtil = require('./_nodeUtil');
/** `Object#toString` result references. */
var argsTag = '[object Arguments]',
arrayTag = '[object Array]',
boolTag = '[object Boolean]',
dateTag = '[object Date]',
errorTag = '[object Error]',
funcTag = '[object Function]',
mapTag = '[object Map]',
numberTag = '[object Number]',
objectTag = '[object Object]',
regexpTag = '[object RegExp]',
setTag = '[object Set]',
stringTag = '[object String]',
weakMapTag = '[object WeakMap]';
/* Node.js helper references. */
var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
var arrayBufferTag = '[object ArrayBuffer]',
dataViewTag = '[object DataView]',
float32Tag = '[object Float32Array]',
float64Tag = '[object Float64Array]',
int8Tag = '[object Int8Array]',
int16Tag = '[object Int16Array]',
int32Tag = '[object Int32Array]',
uint8Tag = '[object Uint8Array]',
uint8ClampedTag = '[object Uint8ClampedArray]',
uint16Tag = '[object Uint16Array]',
uint32Tag = '[object Uint32Array]';
/** Used to identify `toStringTag` values of typed arrays. */
var typedArrayTags = {};
typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
typedArrayTags[uint32Tag] = true;
typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
typedArrayTags[errorTag] = typedArrayTags[funcTag] =
typedArrayTags[mapTag] = typedArrayTags[numberTag] =
typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
typedArrayTags[setTag] = typedArrayTags[stringTag] =
typedArrayTags[weakMapTag] = false;
/** Used for built-in method references. */
var objectProto = Object.prototype;
/**
* Used to resolve the
* [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
* of values.
*/
var objectToString = objectProto.toString;
/**
* Checks if `value` is classified as a typed array.

@@ -65,4 +16,3 @@ *

* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
* @example

@@ -76,7 +26,4 @@ *

*/
function isTypedArray(value) {
return isObjectLike(value) &&
isLength(value.length) && !!typedArrayTags[objectToString.call(value)];
}
var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
module.exports = isTypedArray;

@@ -15,4 +15,3 @@ var getTag = require('./_getTag'),

* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @returns {boolean} Returns `true` if `value` is a weak map, else `false`.
* @example

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

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

* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is correctly classified,
* else `false`.
* @returns {boolean} Returns `true` if `value` is a weak set, else `false`.
* @example

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

@@ -14,3 +14,3 @@ var createAggregator = require('./_createAggregator');

* @param {Array|Object} collection The collection to iterate over.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* @param {Function} [iteratee=_.identity]
* The iteratee to transform keys.

@@ -17,0 +17,0 @@ * @returns {Object} Returns the composed aggregate object.

@@ -7,2 +7,3 @@ module.exports = {

'cloneWith': require('./cloneWith'),
'conformsTo': require('./conformsTo'),
'eq': require('./eq'),

@@ -9,0 +10,0 @@ 'gt': require('./gt'),

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

var indexOfNaN = require('./_indexOfNaN'),
var baseFindIndex = require('./_baseFindIndex'),
baseIsNaN = require('./_baseIsNaN'),
toInteger = require('./toInteger');

@@ -44,3 +45,3 @@

if (value !== value) {
return indexOfNaN(array, index - 1, true);
return baseFindIndex(array, baseIsNaN, index - 1, true);
}

@@ -47,0 +48,0 @@ while (index--) {

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

* @param {Array|Object} collection The collection to iterate over.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The function invoked per iteration.
* @param {Function} [iteratee=_.identity] The function invoked per iteration.
* @returns {Array} Returns the new mapped array.

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

@@ -15,4 +15,3 @@ var baseForOwn = require('./_baseForOwn'),

* @param {Object} object The object to iterate over.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The function invoked per iteration.
* @param {Function} [iteratee=_.identity] The function invoked per iteration.
* @returns {Object} Returns the new mapped object.

@@ -19,0 +18,0 @@ * @see _.mapValues

@@ -15,4 +15,3 @@ var baseForOwn = require('./_baseForOwn'),

* @param {Object} object The object to iterate over.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The function invoked per iteration.
* @param {Function} [iteratee=_.identity] The function invoked per iteration.
* @returns {Object} Returns the new mapped object.

@@ -19,0 +18,0 @@ * @see _.mapKeys

@@ -20,9 +20,9 @@ var baseClone = require('./_baseClone'),

*
* var users = [
* { 'user': 'barney', 'age': 36, 'active': true },
* { 'user': 'fred', 'age': 40, 'active': false }
* var objects = [
* { 'a': 1, 'b': 2, 'c': 3 },
* { 'a': 4, 'b': 5, 'c': 6 }
* ];
*
* _.filter(users, _.matches({ 'age': 40, 'active': false }));
* // => [{ 'user': 'fred', 'age': 40, 'active': false }]
* _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));
* // => [{ 'a': 4, 'b': 5, 'c': 6 }]
*/

@@ -29,0 +29,0 @@ function matches(source) {

@@ -20,9 +20,9 @@ var baseClone = require('./_baseClone'),

*
* var users = [
* { 'user': 'barney' },
* { 'user': 'fred' }
* var objects = [
* { 'a': 1, 'b': 2, 'c': 3 },
* { 'a': 4, 'b': 5, 'c': 6 }
* ];
*
* _.find(users, _.matchesProperty('user', 'fred'));
* // => { 'user': 'fred' }
* _.find(objects, _.matchesProperty('a', 4));
* // => { 'a': 4, 'b': 5, 'c': 6 }
*/

@@ -29,0 +29,0 @@ function matchesProperty(path, srcValue) {

@@ -15,4 +15,3 @@ var baseExtremum = require('./_baseExtremum'),

* @param {Array} array The array to iterate over.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
* @returns {*} Returns the maximum value.

@@ -32,3 +31,3 @@ * @example

return (array && array.length)
? baseExtremum(array, baseIteratee(iteratee), baseGt)
? baseExtremum(array, baseIteratee(iteratee, 2), baseGt)
: undefined;

@@ -35,0 +34,0 @@ }

@@ -14,4 +14,3 @@ var baseIteratee = require('./_baseIteratee'),

* @param {Array} array The array to iterate over.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
* @returns {number} Returns the mean.

@@ -30,5 +29,5 @@ * @example

function meanBy(array, iteratee) {
return baseMean(array, baseIteratee(iteratee));
return baseMean(array, baseIteratee(iteratee, 2));
}
module.exports = meanBy;

@@ -24,12 +24,12 @@ var baseMerge = require('./_baseMerge'),

*
* var users = {
* 'data': [{ 'user': 'barney' }, { 'user': 'fred' }]
* var object = {
* 'a': [{ 'b': 2 }, { 'd': 4 }]
* };
*
* var ages = {
* 'data': [{ 'age': 36 }, { 'age': 40 }]
* var other = {
* 'a': [{ 'c': 3 }, { 'e': 5 }]
* };
*
* _.merge(users, ages);
* // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] }
* _.merge(object, other);
* // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
*/

@@ -36,0 +36,0 @@ var merge = createAssigner(function(object, source, srcIndex) {

@@ -29,14 +29,7 @@ var baseMerge = require('./_baseMerge'),

*
* var object = {
* 'fruits': ['apple'],
* 'vegetables': ['beet']
* };
* var object = { 'a': [1], 'b': [2] };
* var other = { 'a': [3], 'b': [4] };
*
* var other = {
* 'fruits': ['banana'],
* 'vegetables': ['carrot']
* };
*
* _.mergeWith(object, other, customizer);
* // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot'] }
* // => { 'a': [1, 3], 'b': [2, 4] }
*/

@@ -43,0 +36,0 @@ var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {

var baseInvoke = require('./_baseInvoke'),
rest = require('./rest');
baseRest = require('./_baseRest');

@@ -28,3 +28,3 @@ /**

*/
var method = rest(function(path, args) {
var method = baseRest(function(path, args) {
return function(object) {

@@ -31,0 +31,0 @@ return baseInvoke(object, path, args);

var baseInvoke = require('./_baseInvoke'),
rest = require('./rest');
baseRest = require('./_baseRest');

@@ -27,3 +27,3 @@ /**

*/
var methodOf = rest(function(object, args) {
var methodOf = baseRest(function(object, args) {
return function(path) {

@@ -30,0 +30,0 @@ return baseInvoke(object, path, args);

@@ -15,4 +15,3 @@ var baseExtremum = require('./_baseExtremum'),

* @param {Array} array The array to iterate over.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
* @returns {*} Returns the minimum value.

@@ -32,3 +31,3 @@ * @example

return (array && array.length)
? baseExtremum(array, baseIteratee(iteratee), baseLt)
? baseExtremum(array, baseIteratee(iteratee, 2), baseLt)
: undefined;

@@ -35,0 +34,0 @@ }

@@ -20,4 +20,4 @@ var createMathOperation = require('./_createMathOperation');

return multiplier * multiplicand;
});
}, 1);
module.exports = multiply;

@@ -29,3 +29,10 @@ /** Used as the `TypeError` message for "Functions" methods. */

return function() {
return !predicate.apply(this, arguments);
var args = arguments;
switch (args.length) {
case 0: return !predicate.call(this);
case 1: return !predicate.call(this, args[0]);
case 2: return !predicate.call(this, args[0], args[1]);
case 3: return !predicate.call(this, args[0], args[1], args[2]);
}
return !predicate.apply(this, args);
};

@@ -32,0 +39,0 @@ }

/**
* A method that returns `undefined`.
* This method returns `undefined`.
*

@@ -4,0 +4,0 @@ * @static

var baseNth = require('./_baseNth'),
rest = require('./rest'),
baseRest = require('./_baseRest'),
toInteger = require('./toInteger');

@@ -27,3 +27,3 @@

n = toInteger(n);
return rest(function(args) {
return baseRest(function(args) {
return baseNth(args, n);

@@ -30,0 +30,0 @@ });

@@ -6,2 +6,3 @@ module.exports = {

'assignWith': require('./assignWith'),
'at': require('./at'),
'create': require('./create'),

@@ -8,0 +9,0 @@ 'defaults': require('./defaults'),

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

basePick = require('./_basePick'),
baseRest = require('./_baseRest'),
getAllKeysIn = require('./_getAllKeysIn'),
rest = require('./rest'),
toKey = require('./_toKey');

@@ -29,3 +29,3 @@

*/
var omit = rest(function(object, props) {
var omit = baseRest(function(object, props) {
if (object == null) {

@@ -32,0 +32,0 @@ return {};

var baseIteratee = require('./_baseIteratee'),
basePickBy = require('./_basePickBy');
negate = require('./negate'),
pickBy = require('./pickBy');

@@ -15,4 +16,3 @@ /**

* @param {Object} object The source object.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per property.
* @param {Function} [predicate=_.identity] The function invoked per property.
* @returns {Object} Returns the new object.

@@ -27,8 +27,5 @@ * @example

function omitBy(object, predicate) {
predicate = baseIteratee(predicate);
return basePickBy(object, function(value, key) {
return !predicate(value, key);
});
return pickBy(object, negate(baseIteratee(predicate)));
}
module.exports = omitBy;

@@ -19,3 +19,3 @@ var before = require('./before');

* initialize();
* // `initialize` invokes `createApplication` once
* // => `createApplication` is invoked once
*/

@@ -22,0 +22,0 @@ function once(func) {

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

* @category Util
* @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
* [iteratees=[_.identity]] The iteratees to invoke.
* @param {...(Function|Function[])} [iteratees=[_.identity]]
* The iteratees to invoke.
* @returns {Function} Returns the new function.

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

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

baseIteratee = require('./_baseIteratee'),
baseRest = require('./_baseRest'),
baseUnary = require('./_baseUnary'),
isArray = require('./isArray'),
isFlattenableIteratee = require('./_isFlattenableIteratee'),
rest = require('./rest');
isArray = require('./isArray');

@@ -15,4 +14,3 @@ /* Built-in method references for those with the same name as other `lodash` methods. */

/**
* Creates a function that invokes `func` with arguments transformed by
* corresponding `transforms`.
* Creates a function that invokes `func` with its arguments transformed.
*

@@ -24,4 +22,4 @@ * @static

* @param {Function} func The function to wrap.
* @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
* [transforms[_.identity]] The functions to transform.
* @param {...(Function|Function[])} [transforms=[_.identity]]
* The argument transforms.
* @returns {Function} Returns the new function.

@@ -48,9 +46,9 @@ * @example

*/
var overArgs = rest(function(func, transforms) {
var overArgs = baseRest(function(func, transforms) {
transforms = (transforms.length == 1 && isArray(transforms[0]))
? arrayMap(transforms[0], baseUnary(baseIteratee))
: arrayMap(baseFlatten(transforms, 1, isFlattenableIteratee), baseUnary(baseIteratee));
: arrayMap(baseFlatten(transforms, 1), baseUnary(baseIteratee));
var funcsLength = transforms.length;
return rest(function(args) {
return baseRest(function(args) {
var index = -1,

@@ -57,0 +55,0 @@ length = nativeMin(args.length, funcsLength);

@@ -12,4 +12,4 @@ var arrayEvery = require('./_arrayEvery'),

* @category Util
* @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
* [predicates=[_.identity]] The predicates to check.
* @param {...(Function|Function[])} [predicates=[_.identity]]
* The predicates to check.
* @returns {Function} Returns the new function.

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

@@ -12,4 +12,4 @@ var arraySome = require('./_arraySome'),

* @category Util
* @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
* [predicates=[_.identity]] The predicates to check.
* @param {...(Function|Function[])} [predicates=[_.identity]]
* The predicates to check.
* @returns {Function} Returns the new function.

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

{
"name": "lodash",
"version": "4.13.1",
"version": "4.14.0",
"description": "Lodash modular utilities.",

@@ -5,0 +5,0 @@ "keywords": "modules, stdlib, util",

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

var createWrapper = require('./_createWrapper'),
var baseRest = require('./_baseRest'),
createWrap = require('./_createWrap'),
getHolder = require('./_getHolder'),
replaceHolders = require('./_replaceHolders'),
rest = require('./rest');
replaceHolders = require('./_replaceHolders');
/** Used to compose bitmasks for wrapper metadata. */
/** Used to compose bitmasks for function metadata. */
var PARTIAL_FLAG = 32;

@@ -29,5 +29,5 @@

*
* var greet = function(greeting, name) {
* function greet(greeting, name) {
* return greeting + ' ' + name;
* };
* }
*

@@ -43,5 +43,5 @@ * var sayHelloTo = _.partial(greet, 'hello');

*/
var partial = rest(function(func, partials) {
var partial = baseRest(function(func, partials) {
var holders = replaceHolders(partials, getHolder(partial));
return createWrapper(func, PARTIAL_FLAG, undefined, partials, holders);
return createWrap(func, PARTIAL_FLAG, undefined, partials, holders);
});

@@ -48,0 +48,0 @@

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

var createWrapper = require('./_createWrapper'),
var baseRest = require('./_baseRest'),
createWrap = require('./_createWrap'),
getHolder = require('./_getHolder'),
replaceHolders = require('./_replaceHolders'),
rest = require('./rest');
replaceHolders = require('./_replaceHolders');
/** Used to compose bitmasks for wrapper metadata. */
/** Used to compose bitmasks for function metadata. */
var PARTIAL_RIGHT_FLAG = 64;

@@ -28,5 +28,5 @@

*
* var greet = function(greeting, name) {
* function greet(greeting, name) {
* return greeting + ' ' + name;
* };
* }
*

@@ -42,5 +42,5 @@ * var greetFred = _.partialRight(greet, 'fred');

*/
var partialRight = rest(function(func, partials) {
var partialRight = baseRest(function(func, partials) {
var holders = replaceHolders(partials, getHolder(partialRight));
return createWrapper(func, PARTIAL_RIGHT_FLAG, undefined, partials, holders);
return createWrap(func, PARTIAL_RIGHT_FLAG, undefined, partials, holders);
});

@@ -47,0 +47,0 @@

@@ -14,4 +14,3 @@ var createAggregator = require('./_createAggregator');

* @param {Array|Object} collection The collection to iterate over.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @param {Function} [predicate=_.identity] The function invoked per iteration.
* @returns {Array} Returns the array of grouped elements.

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

var arrayMap = require('./_arrayMap'),
baseFlatten = require('./_baseFlatten'),
basePick = require('./_basePick'),
rest = require('./rest'),
baseRest = require('./_baseRest'),
toKey = require('./_toKey');

@@ -24,3 +24,3 @@

*/
var pick = rest(function(object, props) {
var pick = baseRest(function(object, props) {
return object == null ? {} : basePick(object, arrayMap(baseFlatten(props, 1), toKey));

@@ -27,0 +27,0 @@ });

var baseIteratee = require('./_baseIteratee'),
basePickBy = require('./_basePickBy');
basePickBy = require('./_basePickBy'),
getAllKeysIn = require('./_getAllKeysIn');

@@ -13,4 +14,3 @@ /**

* @param {Object} object The source object.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per property.
* @param {Function} [predicate=_.identity] The function invoked per property.
* @returns {Object} Returns the new object.

@@ -25,5 +25,5 @@ * @example

function pickBy(object, predicate) {
return object == null ? {} : basePickBy(object, baseIteratee(predicate));
return object == null ? {} : basePickBy(object, getAllKeysIn(object), baseIteratee(predicate));
}
module.exports = pickBy;

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

var pullAll = require('./pullAll'),
rest = require('./rest');
var baseRest = require('./_baseRest'),
pullAll = require('./pullAll');

@@ -27,4 +27,4 @@ /**

*/
var pull = rest(pullAll);
var pull = baseRest(pullAll);
module.exports = pull;

@@ -17,3 +17,3 @@ var baseIteratee = require('./_baseIteratee'),

* @param {Array} values The values to remove.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* @param {Function} [iteratee=_.identity]
* The iteratee invoked per element.

@@ -31,3 +31,3 @@ * @returns {Array} Returns `array`.

return (array && array.length && values && values.length)
? basePullAll(array, values, baseIteratee(iteratee))
? basePullAll(array, values, baseIteratee(iteratee, 2))
: array;

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

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

basePullAt = require('./_basePullAt'),
baseRest = require('./_baseRest'),
compareAscending = require('./_compareAscending'),
isIndex = require('./_isIndex'),
rest = require('./rest');
isIndex = require('./_isIndex');

@@ -34,3 +34,3 @@ /**

*/
var pullAt = rest(function(array, indexes) {
var pullAt = baseRest(function(array, indexes) {
indexes = baseFlatten(indexes, 1);

@@ -37,0 +37,0 @@

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

# lodash v4.13.1
# lodash v4.14.0

@@ -31,3 +31,3 @@ The [Lodash](https://lodash.com/) library exported as [Node.js](https://nodejs.org/) modules.

See the [package source](https://github.com/lodash/lodash/tree/4.13.1-npm) for more details.
See the [package source](https://github.com/lodash/lodash/tree/4.14.0-npm) for more details.

@@ -40,3 +40,3 @@ **Note:**<br>

Tested in Chrome 49-50, Firefox 45-46, IE 9-11, Edge 13, Safari 8-9, Node.js 0.10-6, & PhantomJS 1.9.8.<br>
Tested in Chrome 50-51, Firefox 46-47, IE 9-11, Edge 13, Safari 8-9, Node.js 0.10-6, & PhantomJS 1.9.8.<br>
Automated [browser](https://saucelabs.com/u/lodash) & [CI](https://travis-ci.org/lodash/lodash/) test runs are available.
var baseFlatten = require('./_baseFlatten'),
createWrapper = require('./_createWrapper'),
rest = require('./rest');
baseRest = require('./_baseRest'),
createWrap = require('./_createWrap');
/** Used to compose bitmasks for wrapper metadata. */
/** Used to compose bitmasks for function metadata. */
var REARG_FLAG = 256;

@@ -30,6 +30,6 @@

*/
var rearg = rest(function(func, indexes) {
return createWrapper(func, REARG_FLAG, undefined, undefined, undefined, baseFlatten(indexes, 1));
var rearg = baseRest(function(func, indexes) {
return createWrap(func, REARG_FLAG, undefined, undefined, undefined, baseFlatten(indexes, 1));
});
module.exports = rearg;
var arrayFilter = require('./_arrayFilter'),
baseFilter = require('./_baseFilter'),
baseIteratee = require('./_baseIteratee'),
isArray = require('./isArray');
isArray = require('./isArray'),
negate = require('./negate');

@@ -15,4 +16,3 @@ /**

* @param {Array|Object} collection The collection to iterate over.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @param {Function} [predicate=_.identity] The function invoked per iteration.
* @returns {Array} Returns the new filtered array.

@@ -44,8 +44,5 @@ * @see _.filter

var func = isArray(collection) ? arrayFilter : baseFilter;
predicate = baseIteratee(predicate, 3);
return func(collection, function(value, index, collection) {
return !predicate(value, index, collection);
});
return func(collection, negate(baseIteratee(predicate, 3)));
}
module.exports = reject;

@@ -17,3 +17,3 @@ var baseIteratee = require('./_baseIteratee'),

* @param {Array} array The array to modify.
* @param {Array|Function|Object|string} [predicate=_.identity]
* @param {Function} [predicate=_.identity]
* The function invoked per iteration.

@@ -20,0 +20,0 @@ * @returns {Array} Returns the new array of removed elements.

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

var apply = require('./_apply'),
var baseRest = require('./_baseRest'),
toInteger = require('./toInteger');

@@ -7,5 +7,2 @@

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

@@ -40,27 +37,6 @@ * Creates a function that invokes `func` with the `this` binding of the

}
start = nativeMax(start === undefined ? (func.length - 1) : toInteger(start), 0);
return function() {
var args = arguments,
index = -1,
length = nativeMax(args.length - start, 0),
array = Array(length);
while (++index < length) {
array[index] = args[start + index];
}
switch (start) {
case 0: return func.call(this, array);
case 1: return func.call(this, args[0], array);
case 2: return func.call(this, args[0], args[1], array);
}
var otherArgs = Array(start + 1);
index = -1;
while (++index < start) {
otherArgs[index] = args[index];
}
otherArgs[start] = array;
return apply(func, this, otherArgs);
};
start = start === undefined ? start : toInteger(start);
return baseRest(func, start);
}
module.exports = rest;

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

* @param {Array|Object} collection The collection to iterate over.
* @param {Array|Function|Object|string} [predicate=_.identity]
* The function invoked per iteration.
* @param {Function} [predicate=_.identity] The function invoked per iteration.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.

@@ -21,0 +20,0 @@ * @returns {boolean} Returns `true` if any element passes the predicate check,

var baseFlatten = require('./_baseFlatten'),
baseOrderBy = require('./_baseOrderBy'),
isArray = require('./isArray'),
isFlattenableIteratee = require('./_isFlattenableIteratee'),
isIterateeCall = require('./_isIterateeCall'),
rest = require('./rest');
baseRest = require('./_baseRest'),
isIterateeCall = require('./_isIterateeCall');

@@ -19,4 +17,4 @@ /**

* @param {Array|Object} collection The collection to iterate over.
* @param {...(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])}
* [iteratees=[_.identity]] The iteratees to sort by.
* @param {...(Function|Function[])} [iteratees=[_.identity]]
* The iteratees to sort by.
* @returns {Array} Returns the new sorted array.

@@ -43,3 +41,3 @@ * @example

*/
var sortBy = rest(function(collection, iteratees) {
var sortBy = baseRest(function(collection, iteratees) {
if (collection == null) {

@@ -54,9 +52,5 @@ return [];

}
iteratees = (iteratees.length == 1 && isArray(iteratees[0]))
? iteratees[0]
: baseFlatten(iteratees, 1, isFlattenableIteratee);
return baseOrderBy(collection, iteratees, []);
return baseOrderBy(collection, baseFlatten(iteratees, 1), []);
});
module.exports = sortBy;

@@ -15,3 +15,3 @@ var baseIteratee = require('./_baseIteratee'),

* @param {*} value The value to evaluate.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* @param {Function} [iteratee=_.identity]
* The iteratee invoked per element.

@@ -32,5 +32,5 @@ * @returns {number} Returns the index at which `value` should be inserted

function sortedIndexBy(array, value, iteratee) {
return baseSortedIndexBy(array, value, baseIteratee(iteratee));
return baseSortedIndexBy(array, value, baseIteratee(iteratee, 2));
}
module.exports = sortedIndexBy;

@@ -15,3 +15,3 @@ var baseIteratee = require('./_baseIteratee'),

* @param {*} value The value to evaluate.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* @param {Function} [iteratee=_.identity]
* The iteratee invoked per element.

@@ -32,5 +32,5 @@ * @returns {number} Returns the index at which `value` should be inserted

function sortedLastIndexBy(array, value, iteratee) {
return baseSortedIndexBy(array, value, baseIteratee(iteratee), true);
return baseSortedIndexBy(array, value, baseIteratee(iteratee, 2), true);
}
module.exports = sortedLastIndexBy;

@@ -22,3 +22,3 @@ var baseIteratee = require('./_baseIteratee'),

return (array && array.length)
? baseSortedUniq(array, baseIteratee(iteratee))
? baseSortedUniq(array, baseIteratee(iteratee, 2))
: [];

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

var apply = require('./_apply'),
arrayPush = require('./_arrayPush'),
baseRest = require('./_baseRest'),
castSlice = require('./_castSlice'),
rest = require('./rest'),
toInteger = require('./toInteger');

@@ -52,3 +52,3 @@

start = start === undefined ? 0 : nativeMax(toInteger(start), 0);
return rest(function(args) {
return baseRest(function(args) {
var array = args[start],

@@ -55,0 +55,0 @@ otherArgs = castSlice(args, 0, start);

@@ -32,5 +32,6 @@ var baseClamp = require('./_baseClamp'),

position = baseClamp(toInteger(position), 0, string.length);
return string.lastIndexOf(baseToString(target), position) == position;
target = baseToString(target);
return string.slice(position, position + target.length) == target;
}
module.exports = startsWith;
/**
* A method that returns a new empty array.
* This method returns a new empty array.
*

@@ -4,0 +4,0 @@ * @static

/**
* A method that returns `false`.
* This method returns `false`.
*

@@ -4,0 +4,0 @@ * @static

/**
* A method that returns a new empty object.
* This method returns a new empty object.
*

@@ -4,0 +4,0 @@ * @static

/**
* A method that returns an empty string.
* This method returns an empty string.
*

@@ -4,0 +4,0 @@ * @static

/**
* A method that returns `true`.
* This method returns `true`.
*

@@ -4,0 +4,0 @@ * @static

@@ -20,4 +20,4 @@ var createMathOperation = require('./_createMathOperation');

return minuend - subtrahend;
});
}, 0);
module.exports = subtract;

@@ -14,4 +14,3 @@ var baseIteratee = require('./_baseIteratee'),

* @param {Array} array The array to iterate over.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* The iteratee invoked per element.
* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
* @returns {number} Returns the sum.

@@ -31,3 +30,3 @@ * @example

return (array && array.length)
? baseSum(array, baseIteratee(iteratee))
? baseSum(array, baseIteratee(iteratee, 2))
: 0;

@@ -34,0 +33,0 @@ }

@@ -14,3 +14,3 @@ var baseIteratee = require('./_baseIteratee'),

* @param {Array} array The array to query.
* @param {Array|Function|Object|string} [predicate=_.identity]
* @param {Function} [predicate=_.identity]
* The function invoked per iteration.

@@ -17,0 +17,0 @@ * @returns {Array} Returns the slice of `array`.

@@ -14,3 +14,3 @@ var baseIteratee = require('./_baseIteratee'),

* @param {Array} array The array to query.
* @param {Array|Function|Object|string} [predicate=_.identity]
* @param {Function} [predicate=_.identity]
* The function invoked per iteration.

@@ -17,0 +17,0 @@ * @returns {Array} Returns the slice of `array`.

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

/** Built-in value references. */
var iteratorSymbol = typeof (iteratorSymbol = Symbol && Symbol.iterator) == 'symbol' ? iteratorSymbol : undefined;
var iteratorSymbol = Symbol ? Symbol.iterator : undefined;

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

var baseFlatten = require('./_baseFlatten'),
baseRest = require('./_baseRest'),
baseUniq = require('./_baseUniq'),
isArrayLikeObject = require('./isArrayLikeObject'),
rest = require('./rest');
isArrayLikeObject = require('./isArrayLikeObject');

@@ -22,3 +22,3 @@ /**

*/
var union = rest(function(arrays) {
var union = baseRest(function(arrays) {
return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));

@@ -25,0 +25,0 @@ });

var baseFlatten = require('./_baseFlatten'),
baseIteratee = require('./_baseIteratee'),
baseRest = require('./_baseRest'),
baseUniq = require('./_baseUniq'),
isArrayLikeObject = require('./isArrayLikeObject'),
last = require('./last'),
rest = require('./rest');
last = require('./last');

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

* invoked for each element of each `arrays` to generate the criterion by
* which uniqueness is computed. The iteratee is invoked with one argument:
* which uniqueness is computed. Result values are chosen from the first
* array in which the value occurs. The iteratee is invoked with one argument:
* (value).

@@ -20,3 +21,3 @@ *

* @param {...Array} [arrays] The arrays to inspect.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* @param {Function} [iteratee=_.identity]
* The iteratee invoked per element.

@@ -33,3 +34,3 @@ * @returns {Array} Returns the new array of combined values.

*/
var unionBy = rest(function(arrays) {
var unionBy = baseRest(function(arrays) {
var iteratee = last(arrays);

@@ -39,5 +40,5 @@ if (isArrayLikeObject(iteratee)) {

}
return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), baseIteratee(iteratee));
return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2));
});
module.exports = unionBy;
var baseFlatten = require('./_baseFlatten'),
baseRest = require('./_baseRest'),
baseUniq = require('./_baseUniq'),
isArrayLikeObject = require('./isArrayLikeObject'),
last = require('./last'),
rest = require('./rest');
last = require('./last');
/**
* This method is like `_.union` except that it accepts `comparator` which
* is invoked to compare elements of `arrays`. The comparator is invoked
* is invoked to compare elements of `arrays`. Result values are chosen from
* the first array in which the value occurs. The comparator is invoked
* with two arguments: (arrVal, othVal).

@@ -27,3 +28,3 @@ *

*/
var unionWith = rest(function(arrays) {
var unionWith = baseRest(function(arrays) {
var comparator = last(arrays);

@@ -30,0 +31,0 @@ if (isArrayLikeObject(comparator)) {

@@ -14,3 +14,3 @@ var baseIteratee = require('./_baseIteratee'),

* @param {Array} array The array to inspect.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* @param {Function} [iteratee=_.identity]
* The iteratee invoked per element.

@@ -29,3 +29,3 @@ * @returns {Array} Returns the new duplicate free array.

return (array && array.length)
? baseUniq(array, baseIteratee(iteratee))
? baseUniq(array, baseIteratee(iteratee, 2))
: [];

@@ -32,0 +32,0 @@ }

@@ -23,7 +23,7 @@ var arrayFilter = require('./_arrayFilter'),

*
* var zipped = _.zip(['fred', 'barney'], [30, 40], [true, false]);
* // => [['fred', 30, true], ['barney', 40, false]]
* var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);
* // => [['a', 1, true], ['b', 2, false]]
*
* _.unzip(zipped);
* // => [['fred', 'barney'], [30, 40], [true, false]]
* // => [['a', 'b'], [1, 2], [true, false]]
*/

@@ -30,0 +30,0 @@ function unzip(array) {

@@ -7,2 +7,3 @@ module.exports = {

'constant': require('./constant'),
'defaultTo': require('./defaultTo'),
'flow': require('./flow'),

@@ -9,0 +10,0 @@ 'flowRight': require('./flowRight'),

var baseDifference = require('./_baseDifference'),
isArrayLikeObject = require('./isArrayLikeObject'),
rest = require('./rest');
baseRest = require('./_baseRest'),
isArrayLikeObject = require('./isArrayLikeObject');

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

*
* **Note:** Unlike `_.pull`, this method returns a new array.
*
* @static

@@ -24,3 +26,3 @@ * @memberOf _

*/
var without = rest(function(array, values) {
var without = baseRest(function(array, values) {
return isArrayLikeObject(array)

@@ -27,0 +29,0 @@ ? baseDifference(array, values)

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

/**
* Creates a function that provides `value` to the wrapper function as its
* first argument. Any additional arguments provided to the function are
* appended to those provided to the wrapper function. The wrapper is invoked
* with the `this` binding of the created function.
* Creates a function that provides `value` to `wrapper` as its first
* argument. Any additional arguments provided to the function are appended
* to those provided to the `wrapper`. The wrapper is invoked with the `this`
* binding of the created function.
*

@@ -11,0 +11,0 @@ * @static

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

baseFlatten = require('./_baseFlatten'),
baseRest = require('./_baseRest'),
isIndex = require('./_isIndex'),
rest = require('./rest'),
thru = require('./thru');

@@ -26,3 +26,3 @@

*/
var wrapperAt = rest(function(paths) {
var wrapperAt = baseRest(function(paths) {
paths = baseFlatten(paths, 1);

@@ -29,0 +29,0 @@ var length = paths.length,

@@ -80,12 +80,12 @@ var LazyWrapper = require('./_LazyWrapper'),

* `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,
* `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`,
* `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,
* `defaultTo`, `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`,

@@ -92,0 +92,0 @@ * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,

var arrayFilter = require('./_arrayFilter'),
baseRest = require('./_baseRest'),
baseXor = require('./_baseXor'),
isArrayLikeObject = require('./isArrayLikeObject'),
rest = require('./rest');
isArrayLikeObject = require('./isArrayLikeObject');

@@ -24,3 +24,3 @@ /**

*/
var xor = rest(function(arrays) {
var xor = baseRest(function(arrays) {
return baseXor(arrayFilter(arrays, isArrayLikeObject));

@@ -27,0 +27,0 @@ });

var arrayFilter = require('./_arrayFilter'),
baseIteratee = require('./_baseIteratee'),
baseRest = require('./_baseRest'),
baseXor = require('./_baseXor'),
isArrayLikeObject = require('./isArrayLikeObject'),
last = require('./last'),
rest = require('./rest');
last = require('./last');

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

* @param {...Array} [arrays] The arrays to inspect.
* @param {Array|Function|Object|string} [iteratee=_.identity]
* @param {Function} [iteratee=_.identity]
* The iteratee invoked per element.

@@ -32,3 +32,3 @@ * @returns {Array} Returns the new array of filtered values.

*/
var xorBy = rest(function(arrays) {
var xorBy = baseRest(function(arrays) {
var iteratee = last(arrays);

@@ -38,5 +38,5 @@ if (isArrayLikeObject(iteratee)) {

}
return baseXor(arrayFilter(arrays, isArrayLikeObject), baseIteratee(iteratee));
return baseXor(arrayFilter(arrays, isArrayLikeObject), baseIteratee(iteratee, 2));
});
module.exports = xorBy;
var arrayFilter = require('./_arrayFilter'),
baseRest = require('./_baseRest'),
baseXor = require('./_baseXor'),
isArrayLikeObject = require('./isArrayLikeObject'),
last = require('./last'),
rest = require('./rest');
last = require('./last');

@@ -27,3 +27,3 @@ /**

*/
var xorWith = rest(function(arrays) {
var xorWith = baseRest(function(arrays) {
var comparator = last(arrays);

@@ -30,0 +30,0 @@ if (isArrayLikeObject(comparator)) {

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

var rest = require('./rest'),
var baseRest = require('./_baseRest'),
unzip = require('./unzip');

@@ -17,7 +17,7 @@

*
* _.zip(['fred', 'barney'], [30, 40], [true, false]);
* // => [['fred', 30, true], ['barney', 40, false]]
* _.zip(['a', 'b'], [1, 2], [true, false]);
* // => [['a', 1, true], ['b', 2, false]]
*/
var zip = rest(unzip);
var zip = baseRest(unzip);
module.exports = zip;

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

var rest = require('./rest'),
var baseRest = require('./_baseRest'),
unzipWith = require('./unzipWith');

@@ -23,3 +23,3 @@

*/
var zipWith = rest(function(arrays) {
var zipWith = baseRest(function(arrays) {
var length = arrays.length,

@@ -26,0 +26,0 @@ iteratee = length > 1 ? arrays[length - 1] : undefined;

Sorry, the diff of this file is too big to display

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