lodash._baseisequal
Advanced tools
Comparing version 2.4.1 to 3.0.0
434
index.js
/** | ||
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/> | ||
* Build: `lodash modularize modern exports="npm" -o ./npm/` | ||
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/> | ||
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE> | ||
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors | ||
* Available under MIT license <http://lodash.com/license> | ||
* lodash 3.0.0 (Custom Build) <https://lodash.com/> | ||
* Build: `lodash modern modularize exports="npm" -o ./` | ||
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/> | ||
* Based on Underscore.js 1.7.0 <http://underscorejs.org/LICENSE> | ||
* Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors | ||
* Available under MIT license <https://lodash.com/license> | ||
*/ | ||
var forIn = require('lodash.forin'), | ||
getArray = require('lodash._getarray'), | ||
isFunction = require('lodash.isfunction'), | ||
objectTypes = require('lodash._objecttypes'), | ||
releaseArray = require('lodash._releasearray'); | ||
var isArray = require('lodash.isarray'), | ||
isTypedArray = require('lodash.istypedarray'), | ||
keys = require('lodash.keys'); | ||
/** `Object#toString` result shortcuts */ | ||
var argsClass = '[object Arguments]', | ||
arrayClass = '[object Array]', | ||
boolClass = '[object Boolean]', | ||
dateClass = '[object Date]', | ||
numberClass = '[object Number]', | ||
objectClass = '[object Object]', | ||
regexpClass = '[object RegExp]', | ||
stringClass = '[object String]'; | ||
/** `Object#toString` result references. */ | ||
var argsTag = '[object Arguments]', | ||
arrayTag = '[object Array]', | ||
boolTag = '[object Boolean]', | ||
dateTag = '[object Date]', | ||
errorTag = '[object Error]', | ||
numberTag = '[object Number]', | ||
objectTag = '[object Object]', | ||
regexpTag = '[object RegExp]', | ||
stringTag = '[object String]'; | ||
/** Used for native method references */ | ||
/** | ||
* Converts `value` to a string if it is not one. An empty string is returned | ||
* for `null` or `undefined` values. | ||
* | ||
* @private | ||
* @param {*} value The value to process. | ||
* @returns {string} Returns the string. | ||
*/ | ||
function baseToString(value) { | ||
if (typeof value == 'string') { | ||
return value; | ||
} | ||
return value == null ? '' : (value + ''); | ||
} | ||
/** Used for native method references. */ | ||
var objectProto = Object.prototype; | ||
/** Used to resolve the internal [[Class]] of values */ | ||
var toString = objectProto.toString; | ||
/** Native method shortcuts */ | ||
/** Used to check objects for own properties. */ | ||
var hasOwnProperty = objectProto.hasOwnProperty; | ||
/** | ||
* The base implementation of `_.isEqual`, without support for `thisArg` binding, | ||
* that allows partial "_.where" style comparisons. | ||
* Used to resolve the `toStringTag` of values. | ||
* See the [ES spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.prototype.tostring) | ||
* for more details. | ||
*/ | ||
var objToString = objectProto.toString; | ||
/** | ||
* The base implementation of `_.isEqual` without support for `this` binding | ||
* `customizer` functions. | ||
* | ||
* @private | ||
* @param {*} a The value to compare. | ||
* @param {*} b The other value to compare. | ||
* @param {Function} [callback] The function to customize comparing values. | ||
* @param {Function} [isWhere=false] A flag to indicate performing partial comparisons. | ||
* @param {Array} [stackA=[]] Tracks traversed `a` objects. | ||
* @param {Array} [stackB=[]] Tracks traversed `b` objects. | ||
* @param {*} value The value to compare. | ||
* @param {*} other The other value to compare. | ||
* @param {Function} [customizer] The function to customize comparing values. | ||
* @param {boolean} [isWhere] Specify performing partial comparisons. | ||
* @param {Array} [stackA] Tracks traversed `value` objects. | ||
* @param {Array} [stackB] Tracks traversed `other` objects. | ||
* @returns {boolean} Returns `true` if the values are equivalent, else `false`. | ||
*/ | ||
function baseIsEqual(a, b, callback, isWhere, stackA, stackB) { | ||
// used to indicate that when comparing objects, `a` has at least the properties of `b` | ||
if (callback) { | ||
var result = callback(a, b); | ||
if (typeof result != 'undefined') { | ||
return !!result; | ||
} | ||
function baseIsEqual(value, other, customizer, isWhere, stackA, stackB) { | ||
// Exit early for identical values. | ||
if (value === other) { | ||
// Treat `+0` vs. `-0` as not equal. | ||
return value !== 0 || (1 / value == 1 / other); | ||
} | ||
// exit early for identical values | ||
if (a === b) { | ||
// treat `+0` vs. `-0` as not equal | ||
return a !== 0 || (1 / a == 1 / b); | ||
var valType = typeof value, | ||
othType = typeof other; | ||
// Exit early for unlike primitive values. | ||
if ((valType != 'function' && valType != 'object' && othType != 'function' && othType != 'object') || | ||
value == null || other == null) { | ||
// Return `false` unless both values are `NaN`. | ||
return value !== value && other !== other; | ||
} | ||
var type = typeof a, | ||
otherType = typeof b; | ||
return baseIsEqualDeep(value, other, baseIsEqual, customizer, isWhere, stackA, stackB); | ||
} | ||
// exit early for unlike primitive values | ||
if (a === a && | ||
!(a && objectTypes[type]) && | ||
!(b && objectTypes[otherType])) { | ||
return false; | ||
/** | ||
* A specialized version of `baseIsEqual` for arrays and objects which performs | ||
* deep comparisons and tracks traversed objects enabling objects with circular | ||
* references to be compared. | ||
* | ||
* @private | ||
* @param {Object} object The object to compare. | ||
* @param {Object} other The other object to compare. | ||
* @param {Function} equalFunc The function to determine equivalents of values. | ||
* @param {Function} [customizer] The function to customize comparing objects. | ||
* @param {boolean} [isWhere] Specify performing partial comparisons. | ||
* @param {Array} [stackA=[]] Tracks traversed `value` objects. | ||
* @param {Array} [stackB=[]] Tracks traversed `other` objects. | ||
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`. | ||
*/ | ||
function baseIsEqualDeep(object, other, equalFunc, customizer, isWhere, stackA, stackB) { | ||
var objIsArr = isArray(object), | ||
othIsArr = isArray(other), | ||
objTag = arrayTag, | ||
othTag = arrayTag; | ||
if (!objIsArr) { | ||
objTag = objToString.call(object); | ||
if (objTag == argsTag) { | ||
objTag = objectTag; | ||
} else if (objTag != objectTag) { | ||
objIsArr = isTypedArray(object); | ||
} | ||
} | ||
// exit early for `null` and `undefined` avoiding ES3's Function#call behavior | ||
// http://es5.github.io/#x15.3.4.4 | ||
if (a == null || b == null) { | ||
return a === b; | ||
if (!othIsArr) { | ||
othTag = objToString.call(other); | ||
if (othTag == argsTag) { | ||
othTag = objectTag; | ||
} else if (othTag != objectTag) { | ||
othIsArr = isTypedArray(other); | ||
} | ||
} | ||
// compare [[Class]] names | ||
var className = toString.call(a), | ||
otherClass = toString.call(b); | ||
var objIsObj = objTag == objectTag, | ||
othIsObj = othTag == objectTag, | ||
isSameTag = objTag == othTag; | ||
if (className == argsClass) { | ||
className = objectClass; | ||
if (isSameTag && !(objIsArr || objIsObj)) { | ||
return equalByTag(object, other, objTag); | ||
} | ||
if (otherClass == argsClass) { | ||
otherClass = objectClass; | ||
var valWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), | ||
othWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); | ||
if (valWrapped || othWrapped) { | ||
return equalFunc(valWrapped ? object.value() : object, othWrapped ? other.value() : other, customizer, isWhere, stackA, stackB); | ||
} | ||
if (className != otherClass) { | ||
if (!isSameTag) { | ||
return false; | ||
} | ||
switch (className) { | ||
case boolClass: | ||
case dateClass: | ||
// 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 +a == +b; | ||
// Assume cyclic values are equal. | ||
// For more information on detecting circular references see https://es5.github.io/#JO. | ||
stackA || (stackA = []); | ||
stackB || (stackB = []); | ||
case numberClass: | ||
// treat `NaN` vs. `NaN` as equal | ||
return (a != +a) | ||
? b != +b | ||
// but treat `+0` vs. `-0` as not equal | ||
: (a == 0 ? (1 / a == 1 / b) : a == +b); | ||
var length = stackA.length; | ||
while (length--) { | ||
if (stackA[length] == object) { | ||
return stackB[length] == other; | ||
} | ||
} | ||
// Add `object` and `other` to the stack of traversed objects. | ||
stackA.push(object); | ||
stackB.push(other); | ||
case regexpClass: | ||
case stringClass: | ||
// coerce regexes to strings (http://es5.github.io/#x15.10.6.4) | ||
// treat string primitives and their corresponding object instances as equal | ||
return a == String(b); | ||
var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isWhere, stackA, stackB); | ||
stackA.pop(); | ||
stackB.pop(); | ||
return result; | ||
} | ||
/** | ||
* A specialized version of `baseIsEqualDeep` for arrays with support for | ||
* partial deep comparisons. | ||
* | ||
* @private | ||
* @param {Array} array The array to compare. | ||
* @param {Array} other The other array to compare. | ||
* @param {Function} equalFunc The function to determine equivalents of values. | ||
* @param {Function} [customizer] The function to customize comparing arrays. | ||
* @param {boolean} [isWhere] Specify performing partial comparisons. | ||
* @param {Array} [stackA] Tracks traversed `value` objects. | ||
* @param {Array} [stackB] Tracks traversed `other` objects. | ||
* @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. | ||
*/ | ||
function equalArrays(array, other, equalFunc, customizer, isWhere, stackA, stackB) { | ||
var index = -1, | ||
arrLength = array.length, | ||
othLength = other.length, | ||
result = true; | ||
if (arrLength != othLength && !(isWhere && othLength > arrLength)) { | ||
return false; | ||
} | ||
var isArr = className == arrayClass; | ||
if (!isArr) { | ||
// unwrap any `lodash` wrapped values | ||
var aWrapped = hasOwnProperty.call(a, '__wrapped__'), | ||
bWrapped = hasOwnProperty.call(b, '__wrapped__'); | ||
// Deep compare the contents, ignoring non-numeric properties. | ||
while (result && ++index < arrLength) { | ||
var arrValue = array[index], | ||
othValue = other[index]; | ||
if (aWrapped || bWrapped) { | ||
return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, callback, isWhere, stackA, stackB); | ||
result = undefined; | ||
if (customizer) { | ||
result = isWhere | ||
? customizer(othValue, arrValue, index) | ||
: customizer(arrValue, othValue, index); | ||
} | ||
// exit for functions and DOM nodes | ||
if (className != objectClass) { | ||
return false; | ||
if (typeof result == 'undefined') { | ||
// Recursively compare arrays (susceptible to call stack limits). | ||
if (isWhere) { | ||
var othIndex = othLength; | ||
while (othIndex--) { | ||
othValue = other[othIndex]; | ||
result = (arrValue && arrValue === othValue) || equalFunc(arrValue, othValue, customizer, isWhere, stackA, stackB); | ||
if (result) { | ||
break; | ||
} | ||
} | ||
} else { | ||
result = (arrValue && arrValue === othValue) || equalFunc(arrValue, othValue, customizer, isWhere, stackA, stackB); | ||
} | ||
} | ||
// in older versions of Opera, `arguments` objects have `Array` constructors | ||
var ctorA = a.constructor, | ||
ctorB = b.constructor; | ||
} | ||
return !!result; | ||
} | ||
// non `Object` object instances with different constructors are not equal | ||
if (ctorA != ctorB && | ||
!(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) && | ||
('constructor' in a && 'constructor' in b) | ||
) { | ||
return false; | ||
} | ||
/** | ||
* A specialized version of `baseIsEqualDeep` for comparing objects of | ||
* the same `toStringTag`. | ||
* | ||
* **Note:** This function only supports comparing values with tags of | ||
* `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. | ||
* | ||
* @private | ||
* @param {Object} value The object to compare. | ||
* @param {Object} other The other object to compare. | ||
* @param {string} tag The `toStringTag` of the objects to compare. | ||
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`. | ||
*/ | ||
function equalByTag(object, other, tag) { | ||
switch (tag) { | ||
case boolTag: | ||
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 errorTag: | ||
return object.name == other.name && object.message == other.message; | ||
case numberTag: | ||
// Treat `NaN` vs. `NaN` as equal. | ||
return (object != +object) | ||
? other != +other | ||
// But, treat `-0` vs. `+0` as not equal. | ||
: (object == 0 ? ((1 / object) == (1 / other)) : object == +other); | ||
case regexpTag: | ||
case stringTag: | ||
// Coerce regexes to strings and treat strings primitives and string | ||
// objects as equal. See https://es5.github.io/#x15.10.6.4 for more details. | ||
return object == baseToString(other); | ||
} | ||
// assume cyclic structures are equal | ||
// the algorithm for detecting cyclic structures is adapted from ES 5.1 | ||
// section 15.12.3, abstract operation `JO` (http://es5.github.io/#x15.12.3) | ||
var initedStack = !stackA; | ||
stackA || (stackA = getArray()); | ||
stackB || (stackB = getArray()); | ||
return false; | ||
} | ||
var length = stackA.length; | ||
while (length--) { | ||
if (stackA[length] == a) { | ||
return stackB[length] == b; | ||
} | ||
/** | ||
* A specialized version of `baseIsEqualDeep` for objects with support for | ||
* partial deep comparisons. | ||
* | ||
* @private | ||
* @param {Object} object The object to compare. | ||
* @param {Object} other The other object to compare. | ||
* @param {Function} equalFunc The function to determine equivalents of values. | ||
* @param {Function} [customizer] The function to customize comparing values. | ||
* @param {boolean} [isWhere] Specify performing partial comparisons. | ||
* @param {Array} [stackA] Tracks traversed `value` objects. | ||
* @param {Array} [stackB] Tracks traversed `other` objects. | ||
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`. | ||
*/ | ||
function equalObjects(object, other, equalFunc, customizer, isWhere, stackA, stackB) { | ||
var objProps = keys(object), | ||
objLength = objProps.length, | ||
othProps = keys(other), | ||
othLength = othProps.length; | ||
if (objLength != othLength && !isWhere) { | ||
return false; | ||
} | ||
var size = 0; | ||
result = true; | ||
var hasCtor, | ||
index = -1; | ||
// add `a` and `b` to the stack of traversed objects | ||
stackA.push(a); | ||
stackB.push(b); | ||
while (++index < objLength) { | ||
var key = objProps[index], | ||
result = hasOwnProperty.call(other, key); | ||
// recursively compare objects and arrays (susceptible to call stack limits) | ||
if (isArr) { | ||
// compare lengths to determine if a deep comparison is necessary | ||
length = a.length; | ||
size = b.length; | ||
result = size == length; | ||
if (result) { | ||
var objValue = object[key], | ||
othValue = other[key]; | ||
if (result || isWhere) { | ||
// deep compare the contents, ignoring non-numeric properties | ||
while (size--) { | ||
var index = length, | ||
value = b[size]; | ||
if (isWhere) { | ||
while (index--) { | ||
if ((result = baseIsEqual(a[index], value, callback, isWhere, stackA, stackB))) { | ||
break; | ||
} | ||
} | ||
} else if (!(result = baseIsEqual(a[size], value, callback, isWhere, stackA, stackB))) { | ||
break; | ||
} | ||
result = undefined; | ||
if (customizer) { | ||
result = isWhere | ||
? customizer(othValue, objValue, key) | ||
: customizer(objValue, othValue, key); | ||
} | ||
if (typeof result == 'undefined') { | ||
// Recursively compare objects (susceptible to call stack limits). | ||
result = (objValue && objValue === othValue) || equalFunc(objValue, othValue, customizer, isWhere, stackA, stackB); | ||
} | ||
} | ||
if (!result) { | ||
return false; | ||
} | ||
hasCtor || (hasCtor = key == 'constructor'); | ||
} | ||
else { | ||
// deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys` | ||
// which, in this case, is more costly | ||
forIn(b, function(value, key, b) { | ||
if (hasOwnProperty.call(b, key)) { | ||
// count the number of properties. | ||
size++; | ||
// deep compare each property value. | ||
return (result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, callback, isWhere, stackA, stackB)); | ||
} | ||
}); | ||
if (!hasCtor) { | ||
var objCtor = object.constructor, | ||
othCtor = other.constructor; | ||
if (result && !isWhere) { | ||
// ensure both objects have the same number of properties | ||
forIn(a, function(value, key, a) { | ||
if (hasOwnProperty.call(a, key)) { | ||
// `size` will be `-1` if `a` has more properties than `b` | ||
return (result = --size > -1); | ||
} | ||
}); | ||
// Non `Object` object instances with different constructors are not equal. | ||
if (objCtor != othCtor && ('constructor' in object && 'constructor' in other) && | ||
!(typeof objCtor == 'function' && objCtor instanceof objCtor && typeof othCtor == 'function' && othCtor instanceof othCtor)) { | ||
return false; | ||
} | ||
} | ||
stackA.pop(); | ||
stackB.pop(); | ||
if (initedStack) { | ||
releaseArray(stackA); | ||
releaseArray(stackB); | ||
} | ||
return result; | ||
return true; | ||
} | ||
module.exports = baseIsEqual; |
@@ -1,3 +0,3 @@ | ||
Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/> | ||
Based on Underscore.js 1.5.2, copyright 2009-2013 Jeremy Ashkenas, | ||
Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/> | ||
Based on Underscore.js 1.7.0, copyright 2009-2015 Jeremy Ashkenas, | ||
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/> | ||
@@ -22,2 +22,2 @@ | ||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
{ | ||
"name": "lodash._baseisequal", | ||
"version": "2.4.1", | ||
"description": "The internal Lo-Dash function `baseIsEqual` as a Node.js module generated by lodash-cli.", | ||
"homepage": "http://lodash.com/custom-builds", | ||
"version": "3.0.0", | ||
"description": "The modern build of lodash’s internal `baseIsEqual` as a module.", | ||
"homepage": "https://lodash.com/", | ||
"icon": "https://lodash.com/icon.svg", | ||
"license": "MIT", | ||
@@ -10,15 +11,14 @@ "author": "John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)", | ||
"John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)", | ||
"Benjamin Tan <demoneaux@gmail.com> (https://d10.github.io/)", | ||
"Blaine Bublitz <blaine@iceddev.com> (http://www.iceddev.com/)", | ||
"Kit Cambridge <github@kitcambridge.be> (http://kitcambridge.be/)", | ||
"Mathias Bynens <mathias@qiwi.be> (http://mathiasbynens.be/)" | ||
"Mathias Bynens <mathias@qiwi.be> (https://mathiasbynens.be/)" | ||
], | ||
"bugs": "https://github.com/lodash/lodash-cli/issues", | ||
"repository": { "type": "git", "url": "https://github.com/lodash/lodash-cli.git" }, | ||
"repository": "lodash/lodash", | ||
"scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" }, | ||
"dependencies": { | ||
"lodash.forin": "~2.4.1", | ||
"lodash._getarray": "~2.4.1", | ||
"lodash.isfunction": "~2.4.1", | ||
"lodash._objecttypes": "~2.4.1", | ||
"lodash._releasearray": "~2.4.1" | ||
"lodash.isarray": "^3.0.0", | ||
"lodash.istypedarray": "^3.0.0", | ||
"lodash.keys": "^3.0.0" | ||
} | ||
} |
@@ -1,15 +0,20 @@ | ||
# lodash._baseisequal v2.4.1 | ||
# lodash._baseisequal v3.0.0 | ||
The internal [Lo-Dash](http://lodash.com/) function `baseIsEqual` as a [Node.js](http://nodejs.org/) module generated by [lodash-cli](https://npmjs.org/package/lodash-cli). | ||
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseIsEqual` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. | ||
## Author | ||
## Installation | ||
| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton "Follow @jdalton on Twitter") | | ||
|---| | ||
| [John-David Dalton](http://allyoucanleet.com/) | | ||
Using npm: | ||
## Contributors | ||
```bash | ||
$ {sudo -H} npm i -g npm | ||
$ npm i --save lodash._baseisequal | ||
``` | ||
| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](https://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") | | ||
|---|---|---| | ||
| [Blaine Bublitz](http://www.iceddev.com/) | [Kit Cambridge](http://kitcambridge.be/) | [Mathias Bynens](http://mathiasbynens.be/) | | ||
In Node.js/io.js: | ||
```js | ||
var baseIsEqual = require('lodash._baseisequal'); | ||
``` | ||
See the [package source](https://github.com/lodash/lodash/blob/3.0.0-npm-packages/lodash._baseisequal) for more details. |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
No bug tracker
MaintenancePackage does not have a linked bug tracker in package.json.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
13667
3
286
21
1
1
+ Addedlodash.isarray@^3.0.0
+ Addedlodash.istypedarray@^3.0.0
+ Addedlodash.keys@^3.0.0
+ Addedlodash._getnative@3.9.1(transitive)
+ Addedlodash.isarguments@3.1.0(transitive)
+ Addedlodash.isarray@3.0.4(transitive)
+ Addedlodash.istypedarray@3.0.6(transitive)
+ Addedlodash.keys@3.1.2(transitive)
- Removedlodash._getarray@~2.4.1
- Removedlodash._objecttypes@~2.4.1
- Removedlodash._releasearray@~2.4.1
- Removedlodash.forin@~2.4.1
- Removedlodash.isfunction@~2.4.1
- Removedlodash._arraypool@2.4.1(transitive)
- Removedlodash._basebind@2.4.1(transitive)
- Removedlodash._basecreate@2.4.1(transitive)
- Removedlodash._basecreatecallback@2.4.1(transitive)
- Removedlodash._basecreatewrapper@2.4.1(transitive)
- Removedlodash._createwrapper@2.4.1(transitive)
- Removedlodash._getarray@2.4.1(transitive)
- Removedlodash._isnative@2.4.1(transitive)
- Removedlodash._maxpoolsize@2.4.1(transitive)
- Removedlodash._objecttypes@2.4.1(transitive)
- Removedlodash._releasearray@2.4.1(transitive)
- Removedlodash._setbinddata@2.4.1(transitive)
- Removedlodash._slice@2.4.1(transitive)
- Removedlodash.bind@2.4.1(transitive)
- Removedlodash.forin@2.4.1(transitive)
- Removedlodash.identity@2.4.1(transitive)
- Removedlodash.isfunction@2.4.1(transitive)
- Removedlodash.isobject@2.4.1(transitive)
- Removedlodash.noop@2.4.1(transitive)
- Removedlodash.support@2.4.1(transitive)