lodash._baseuniq
Advanced tools
Comparing version 2.4.1 to 3.0.0
73
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 baseIndexOf = require('lodash._baseindexof'), | ||
cacheIndexOf = require('lodash._cacheindexof'), | ||
createCache = require('lodash._createcache'), | ||
getArray = require('lodash._getarray'), | ||
largeArraySize = require('lodash._largearraysize'), | ||
releaseArray = require('lodash._releasearray'), | ||
releaseObject = require('lodash._releaseobject'); | ||
createCache = require('lodash._createcache'); | ||
/** | ||
* The base implementation of `_.uniq` without support for callback shorthands | ||
* or `thisArg` binding. | ||
* and `this` binding. | ||
* | ||
* @private | ||
* @param {Array} array The array to process. | ||
* @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted. | ||
* @param {Function} [callback] The function called per iteration. | ||
* @returns {Array} Returns a duplicate-value-free array. | ||
* @param {Array} array The array to inspect. | ||
* @param {Function} [iteratee] The function invoked per iteration. | ||
* @returns {Array} Returns the new duplicate-value-free array. | ||
*/ | ||
function baseUniq(array, isSorted, callback) { | ||
function baseUniq(array, iteratee) { | ||
var index = -1, | ||
indexOf = baseIndexOf, | ||
length = array ? array.length : 0, | ||
length = array.length, | ||
isCommon = true, | ||
isLarge = isCommon && length >= 200, | ||
seen = isLarge && createCache(), | ||
result = []; | ||
var isLarge = !isSorted && length >= largeArraySize, | ||
seen = (callback || isLarge) ? getArray() : result; | ||
if (isLarge) { | ||
var cache = createCache(seen); | ||
if (seen) { | ||
indexOf = cacheIndexOf; | ||
seen = cache; | ||
isCommon = false; | ||
} else { | ||
isLarge = false; | ||
seen = iteratee ? [] : result; | ||
} | ||
outer: | ||
while (++index < length) { | ||
var value = array[index], | ||
computed = callback ? callback(value, index, array) : value; | ||
computed = iteratee ? iteratee(value, index, array) : value; | ||
if (isSorted | ||
? !index || seen[seen.length - 1] !== computed | ||
: indexOf(seen, computed) < 0 | ||
) { | ||
if (callback || isLarge) { | ||
if (isCommon && value === value) { | ||
var seenIndex = seen.length; | ||
while (seenIndex--) { | ||
if (seen[seenIndex] === computed) { | ||
continue outer; | ||
} | ||
} | ||
if (iteratee) { | ||
seen.push(computed); | ||
@@ -54,9 +55,9 @@ } | ||
} | ||
else if (indexOf(seen, computed) < 0) { | ||
if (iteratee || isLarge) { | ||
seen.push(computed); | ||
} | ||
result.push(value); | ||
} | ||
} | ||
if (isLarge) { | ||
releaseArray(seen.array); | ||
releaseObject(seen); | ||
} else if (callback) { | ||
releaseArray(seen); | ||
} | ||
return result; | ||
@@ -63,0 +64,0 @@ } |
@@ -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._baseuniq", | ||
"version": "2.4.1", | ||
"description": "The internal Lo-Dash function `baseUniq` 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 `baseUniq` as a module.", | ||
"homepage": "https://lodash.com/", | ||
"icon": "https://lodash.com/icon.svg", | ||
"license": "MIT", | ||
@@ -10,17 +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._baseindexof": "~2.4.1", | ||
"lodash._cacheindexof": "~2.4.1", | ||
"lodash._createcache": "~2.4.1", | ||
"lodash._getarray": "~2.4.1", | ||
"lodash._largearraysize": "~2.4.1", | ||
"lodash._releasearray": "~2.4.1", | ||
"lodash._releaseobject": "~2.4.1" | ||
"lodash._baseindexof": "^3.0.0", | ||
"lodash._cacheindexof": "^3.0.0", | ||
"lodash._createcache": "^3.0.0" | ||
} | ||
} |
@@ -1,15 +0,20 @@ | ||
# lodash._baseuniq v2.4.1 | ||
# lodash._baseuniq v3.0.0 | ||
The internal [Lo-Dash](http://lodash.com/) function `baseUniq` 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 `baseUniq` 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._baseuniq | ||
``` | ||
| [![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 baseUniq = require('lodash._baseuniq'); | ||
``` | ||
See the [package source](https://github.com/lodash/lodash/blob/3.0.0-npm-packages/lodash._baseuniq) 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
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
3
61
21
4605
1
+ Addedlodash._baseindexof@3.1.0(transitive)
+ Addedlodash._cacheindexof@3.0.2(transitive)
+ Addedlodash._createcache@3.1.2(transitive)
+ Addedlodash._getnative@3.9.1(transitive)
- Removedlodash._getarray@~2.4.1
- Removedlodash._largearraysize@~2.4.1
- Removedlodash._releasearray@~2.4.1
- Removedlodash._releaseobject@~2.4.1
- Removedlodash._arraypool@2.4.1(transitive)
- Removedlodash._baseindexof@2.4.1(transitive)
- Removedlodash._cacheindexof@2.4.1(transitive)
- Removedlodash._cachepush@2.4.1(transitive)
- Removedlodash._createcache@2.4.1(transitive)
- Removedlodash._getarray@2.4.1(transitive)
- Removedlodash._getobject@2.4.1(transitive)
- Removedlodash._keyprefix@2.4.2(transitive)
- Removedlodash._largearraysize@2.4.1(transitive)
- Removedlodash._maxpoolsize@2.4.1(transitive)
- Removedlodash._objectpool@2.4.1(transitive)
- Removedlodash._releasearray@2.4.1(transitive)
- Removedlodash._releaseobject@2.4.1(transitive)
Updatedlodash._baseindexof@^3.0.0
Updatedlodash._cacheindexof@^3.0.0
Updatedlodash._createcache@^3.0.0