lodash.forown
Advanced tools
Comparing version 3.0.2 to 4.0.0
61
index.js
/** | ||
* lodash 3.0.2 (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 baseFor = require('lodash._basefor'), | ||
bindCallback = require('lodash._bindcallback'), | ||
keys = require('lodash.keys'); | ||
/** | ||
* The base implementation of `_.forOwn` without support for callback | ||
* shorthands and `this` binding. | ||
* The base implementation of `_.forOwn` without support for iteratee shorthands. | ||
* | ||
@@ -23,19 +21,14 @@ * @private | ||
function baseForOwn(object, iteratee) { | ||
return baseFor(object, iteratee, keys); | ||
return object && baseFor(object, iteratee, keys); | ||
} | ||
/** | ||
* Creates a function for `_.forOwn` or `_.forOwnRight`. | ||
* Converts `value` to a function if it's not one. | ||
* | ||
* @private | ||
* @param {Function} objectFunc The function to iterate over an object. | ||
* @returns {Function} Returns the new each function. | ||
* @param {*} value The value to process. | ||
* @returns {Function} Returns the function. | ||
*/ | ||
function createForOwn(objectFunc) { | ||
return function(object, iteratee, thisArg) { | ||
if (typeof iteratee != 'function' || thisArg !== undefined) { | ||
iteratee = bindCallback(iteratee, thisArg, 3); | ||
} | ||
return objectFunc(object, iteratee); | ||
}; | ||
function toFunction(value) { | ||
return typeof value == 'function' ? value : identity; | ||
} | ||
@@ -45,5 +38,5 @@ | ||
* Iterates over own enumerable properties of an object invoking `iteratee` | ||
* for each property. The `iteratee` is bound to `thisArg` and invoked with | ||
* three arguments: (value, key, object). Iteratee functions may exit iteration | ||
* early by explicitly returning `false`. | ||
* for each property. The iteratee is invoked with three arguments: | ||
* (value, key, object). Iteratee functions may exit iteration early by | ||
* explicitly returning `false`. | ||
* | ||
@@ -55,3 +48,2 @@ * @static | ||
* @param {Function} [iteratee=_.identity] The function invoked per iteration. | ||
* @param {*} [thisArg] The `this` binding of `iteratee`. | ||
* @returns {Object} Returns `object`. | ||
@@ -70,6 +62,27 @@ * @example | ||
* }); | ||
* // => logs 'a' and 'b' (iteration order is not guaranteed) | ||
* // => logs 'a' then 'b' (iteration order is not guaranteed) | ||
*/ | ||
var forOwn = createForOwn(baseForOwn); | ||
function forOwn(object, iteratee) { | ||
return object && baseForOwn(object, toFunction(iteratee)); | ||
} | ||
/** | ||
* 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 = forOwn; |
{ | ||
"name": "lodash.forown", | ||
"version": "3.0.2", | ||
"description": "The modern build of lodash’s `_.forOwn` as a module.", | ||
"version": "4.0.0", | ||
"description": "The lodash method `_.forOwn` 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, forown", | ||
"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,5 +19,4 @@ ], | ||
"lodash._basefor": "^3.0.0", | ||
"lodash._bindcallback": "^3.0.0", | ||
"lodash.keys": "^3.0.0" | ||
"lodash.keys": "^4.0.0" | ||
} | ||
} |
@@ -1,4 +0,4 @@ | ||
# lodash.forown v3.0.2 | ||
# lodash.forown v4.0.0 | ||
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.forOwn` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. | ||
The [lodash](https://lodash.com/) method `_.forOwn` 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 forOwn = require('lodash.forown'); | ||
See the [documentation](https://lodash.com/docs#forOwn) or [package source](https://github.com/lodash/lodash/blob/3.0.2-npm-packages/lodash.forown) for more details. | ||
See the [documentation](https://lodash.com/docs#forOwn) or [package source](https://github.com/lodash/lodash/blob/4.0.0-npm-packages/lodash.forown) 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
2
79
4787
19
+ Addedlodash.keys@4.2.0(transitive)
- Removedlodash._bindcallback@^3.0.0
- 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.keys@^4.0.0