lodash.foreach
Advanced tools
Comparing version 3.0.3 to 4.0.0
105
index.js
/** | ||
* lodash 3.0.3 (Custom Build) <https://lodash.com/> | ||
* Build: `lodash modern modularize exports="npm" -o ./` | ||
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/> | ||
* lodash 4.0.0 (Custom Build) <https://lodash.com/> | ||
* Build: `lodash modularize exports="npm" -o ./` | ||
* Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/> | ||
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> | ||
* Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors | ||
* Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors | ||
* Available under MIT license <https://lodash.com/license> | ||
*/ | ||
var arrayEach = require('lodash._arrayeach'), | ||
baseEach = require('lodash._baseeach'), | ||
bindCallback = require('lodash._bindcallback'), | ||
isArray = require('lodash.isarray'); | ||
baseEach = require('lodash._baseeach'); | ||
/** | ||
* Creates a function for `_.forEach` or `_.forEachRight`. | ||
* Converts `value` to a function if it's not one. | ||
* | ||
* @private | ||
* @param {Function} arrayFunc The function to iterate over an array. | ||
* @param {Function} eachFunc The function to iterate over a collection. | ||
* @returns {Function} Returns the new each function. | ||
* @param {*} value The value to process. | ||
* @returns {Function} Returns the function. | ||
*/ | ||
function createForEach(arrayFunc, eachFunc) { | ||
return function(collection, iteratee, thisArg) { | ||
return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection)) | ||
? arrayFunc(collection, iteratee) | ||
: eachFunc(collection, bindCallback(iteratee, thisArg, 3)); | ||
}; | ||
function toFunction(value) { | ||
return typeof value == 'function' ? value : identity; | ||
} | ||
@@ -32,9 +25,8 @@ | ||
* Iterates over elements of `collection` invoking `iteratee` for each element. | ||
* The `iteratee` is bound to `thisArg` and invoked with three arguments: | ||
* (value, index|key, collection). Iteratee functions may exit iteration early | ||
* by explicitly returning `false`. | ||
* The iteratee is invoked with three arguments: (value, index|key, collection). | ||
* Iteratee functions may exit iteration early by explicitly returning `false`. | ||
* | ||
* **Note:** As with other "Collections" methods, objects with a "length" property | ||
* are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn` | ||
* may be used for object iteration. | ||
* are iterated like arrays. To avoid this behavior use `_.forIn` or `_.forOwn` | ||
* for object iteration. | ||
* | ||
@@ -45,20 +37,67 @@ * @static | ||
* @category Collection | ||
* @param {Array|Object|string} collection The collection to iterate over. | ||
* @param {Array|Object} collection The collection to iterate over. | ||
* @param {Function} [iteratee=_.identity] The function invoked per iteration. | ||
* @param {*} [thisArg] The `this` binding of `iteratee`. | ||
* @returns {Array|Object|string} Returns `collection`. | ||
* @returns {Array|Object} Returns `collection`. | ||
* @example | ||
* | ||
* _([1, 2]).forEach(function(n) { | ||
* console.log(n); | ||
* }).value(); | ||
* // => logs each value from left to right and returns the array | ||
* _([1, 2]).forEach(function(value) { | ||
* console.log(value); | ||
* }); | ||
* // => logs `1` then `2` | ||
* | ||
* _.forEach({ 'a': 1, 'b': 2 }, function(n, key) { | ||
* console.log(n, key); | ||
* _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { | ||
* console.log(key); | ||
* }); | ||
* // => logs each value-key pair and returns the object (iteration order is not guaranteed) | ||
* // => logs 'a' then 'b' (iteration order is not guaranteed) | ||
*/ | ||
var forEach = createForEach(arrayEach, baseEach); | ||
function forEach(collection, iteratee) { | ||
return (typeof iteratee == 'function' && isArray(collection)) | ||
? arrayEach(collection, iteratee) | ||
: baseEach(collection, toFunction(iteratee)); | ||
} | ||
/** | ||
* Checks if `value` is classified as an `Array` object. | ||
* | ||
* @static | ||
* @memberOf _ | ||
* @type Function | ||
* @category Lang | ||
* @param {*} value The value to check. | ||
* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. | ||
* @example | ||
* | ||
* _.isArray([1, 2, 3]); | ||
* // => true | ||
* | ||
* _.isArray(document.body.children); | ||
* // => false | ||
* | ||
* _.isArray('abc'); | ||
* // => false | ||
* | ||
* _.isArray(_.noop); | ||
* // => false | ||
*/ | ||
var isArray = Array.isArray; | ||
/** | ||
* This method returns the first argument provided to it. | ||
* | ||
* @static | ||
* @memberOf _ | ||
* @category Util | ||
* @param {*} value Any value. | ||
* @returns {*} Returns `value`. | ||
* @example | ||
* | ||
* var object = { 'user': 'fred' }; | ||
* | ||
* _.identity(object) === object; | ||
* // => true | ||
*/ | ||
function identity(value) { | ||
return value; | ||
} | ||
module.exports = forEach; |
{ | ||
"name": "lodash.foreach", | ||
"version": "3.0.3", | ||
"description": "The modern build of lodash’s `_.forEach` as a module.", | ||
"version": "4.0.0", | ||
"description": "The lodash method `_.forEach` exported as a module.", | ||
"homepage": "https://lodash.com/", | ||
"icon": "https://lodash.com/icon.svg", | ||
"license": "MIT", | ||
"keywords": "lodash, lodash-modularized, stdlib, util", | ||
"keywords": "lodash, lodash-modularized, stdlib, util, foreach", | ||
"author": "John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)", | ||
"contributors": [ | ||
"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/)", | ||
"Blaine Bublitz <blaine@iceddev.com> (https://github.com/phated)", | ||
"Mathias Bynens <mathias@qiwi.be> (https://mathiasbynens.be/)" | ||
@@ -21,6 +19,4 @@ ], | ||
"lodash._arrayeach": "^3.0.0", | ||
"lodash._baseeach": "^3.0.0", | ||
"lodash._bindcallback": "^3.0.0", | ||
"lodash.isarray": "^3.0.0" | ||
"lodash._baseeach": "^4.0.0" | ||
} | ||
} |
@@ -1,4 +0,4 @@ | ||
# lodash.foreach v3.0.3 | ||
# lodash.foreach v4.0.0 | ||
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.forEach` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. | ||
The [lodash](https://lodash.com/) method `_.forEach` exported as a [Node.js](https://nodejs.org/) module. | ||
@@ -8,3 +8,2 @@ ## Installation | ||
Using npm: | ||
```bash | ||
@@ -15,4 +14,3 @@ $ {sudo -H} npm i -g npm | ||
In Node.js/io.js: | ||
In Node.js: | ||
```js | ||
@@ -22,2 +20,2 @@ var forEach = require('lodash.foreach'); | ||
See the [documentation](https://lodash.com/docs#forEach) or [package source](https://github.com/lodash/lodash/blob/3.0.3-npm-packages/lodash.foreach) for more details. | ||
See the [documentation](https://lodash.com/docs#forEach) or [package source](https://github.com/lodash/lodash/blob/4.0.0-npm-packages/lodash.foreach) 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
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
5281
2
96
19
+ Addedlodash._baseeach@4.1.3(transitive)
- Removedlodash._bindcallback@^3.0.0
- Removedlodash.isarray@^3.0.0
- Removedlodash._baseeach@3.0.4(transitive)
- Removedlodash._bindcallback@3.0.1(transitive)
- Removedlodash._getnative@3.9.1(transitive)
- Removedlodash.isarguments@3.1.0(transitive)
- Removedlodash.isarray@3.0.4(transitive)
- Removedlodash.keys@3.1.2(transitive)
Updatedlodash._baseeach@^4.0.0