lodash.foreach
Advanced tools
+22
| Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/> | ||
| Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, | ||
| DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/> | ||
| Permission is hereby granted, free of charge, to any person obtaining | ||
| a copy of this software and associated documentation files (the | ||
| "Software"), to deal in the Software without restriction, including | ||
| without limitation the rights to use, copy, modify, merge, publish, | ||
| distribute, sublicense, and/or sell copies of the Software, and to | ||
| permit persons to whom the Software is furnished to do so, subject to | ||
| the following conditions: | ||
| The above copyright notice and this permission notice shall be | ||
| included in all copies or substantial portions of the Software. | ||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
| MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | ||
| LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||
| OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
| WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
+72
-33
| /** | ||
| * 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; |
+5
-9
| { | ||
| "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" | ||
| } | ||
| } |
+4
-6
@@ -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. |
-22
| Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/> | ||
| Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas, | ||
| DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/> | ||
| Permission is hereby granted, free of charge, to any person obtaining | ||
| a copy of this software and associated documentation files (the | ||
| "Software"), to deal in the Software without restriction, including | ||
| without limitation the rights to use, copy, modify, merge, publish, | ||
| distribute, sublicense, and/or sell copies of the Software, and to | ||
| permit persons to whom the Software is furnished to do so, subject to | ||
| the following conditions: | ||
| The above copyright notice and this permission notice shall be | ||
| included in all copies or substantial portions of the Software. | ||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
| MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | ||
| LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||
| OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
| WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
5281
0.57%2
-50%96
62.71%19
-9.52%+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated