lodash.isplainobject
Advanced tools
Comparing version 2.4.1 to 3.0.0
111
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 isNative = require('lodash._isnative'), | ||
shimIsPlainObject = require('lodash._shimisplainobject'); | ||
var baseFor = require('lodash._basefor'), | ||
isNative = require('lodash.isnative'), | ||
keysIn = require('lodash.keysin'); | ||
/** `Object#toString` result shortcuts */ | ||
var objectClass = '[object Object]'; | ||
/** `Object#toString` result references. */ | ||
var objectTag = '[object Object]'; | ||
/** Used for native method references */ | ||
/** | ||
* Checks if `value` is object-like. | ||
* | ||
* @private | ||
* @param {*} value The value to check. | ||
* @returns {boolean} Returns `true` if `value` is object-like, else `false`. | ||
*/ | ||
function isObjectLike(value) { | ||
return (value && typeof value == 'object') || false; | ||
} | ||
/** Used for native method references. */ | ||
var objectProto = Object.prototype; | ||
/** Used to resolve the internal [[Class]] of values */ | ||
var toString = objectProto.toString; | ||
/** Used to check objects for own properties. */ | ||
var hasOwnProperty = objectProto.hasOwnProperty; | ||
/** Native method shortcuts */ | ||
/** | ||
* 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; | ||
/** Native method references. */ | ||
var getPrototypeOf = isNative(getPrototypeOf = Object.getPrototypeOf) && getPrototypeOf; | ||
/** | ||
* Checks if `value` is an object created by the `Object` constructor. | ||
* The base implementation of `_.forIn` without support for callback | ||
* shorthands and `this` binding. | ||
* | ||
* @private | ||
* @param {Object} object The object to iterate over. | ||
* @param {Function} iteratee The function invoked per iteration. | ||
* @returns {Object} Returns `object`. | ||
*/ | ||
function baseForIn(object, iteratee) { | ||
return baseFor(object, iteratee, keysIn); | ||
} | ||
/** | ||
* A fallback implementation of `_.isPlainObject` which checks if `value` | ||
* is an object created by the `Object` constructor or has a `[[Prototype]]` | ||
* of `null`. | ||
* | ||
* @private | ||
* @param {*} value The value to check. | ||
* @returns {boolean} Returns `true` if `value` is a plain object, else `false`. | ||
*/ | ||
function shimIsPlainObject(value) { | ||
var Ctor; | ||
// Exit early for non `Object` objects. | ||
if (!(isObjectLike(value) && objToString.call(value) == objectTag) || | ||
(!hasOwnProperty.call(value, 'constructor') && | ||
(Ctor = value.constructor, typeof Ctor == 'function' && !(Ctor instanceof Ctor)))) { | ||
return false; | ||
} | ||
// IE < 9 iterates inherited properties before own properties. If the first | ||
// iterated property is an object's own property then there are no inherited | ||
// enumerable properties. | ||
var result; | ||
// In most environments an object's own properties are iterated before | ||
// its inherited properties. If the last iterated property is an object's | ||
// own property then there are no inherited enumerable properties. | ||
baseForIn(value, function(subValue, key) { | ||
result = key; | ||
}); | ||
return typeof result == 'undefined' || hasOwnProperty.call(value, result); | ||
} | ||
/** | ||
* Checks if `value` is a plain object, that is, an object created by the | ||
* `Object` constructor or one with a `[[Prototype]]` of `null`. | ||
* | ||
* **Note:** This method assumes objects created by the `Object` constructor | ||
* have no inherited enumerable properties. | ||
* | ||
* @static | ||
* @memberOf _ | ||
* @category Objects | ||
* @category Lang | ||
* @param {*} value The value to check. | ||
@@ -34,8 +101,7 @@ * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. | ||
* | ||
* function Shape() { | ||
* this.x = 0; | ||
* this.y = 0; | ||
* function Foo() { | ||
* this.a = 1; | ||
* } | ||
* | ||
* _.isPlainObject(new Shape); | ||
* _.isPlainObject(new Foo); | ||
* // => false | ||
@@ -48,5 +114,8 @@ * | ||
* // => true | ||
* | ||
* _.isPlainObject(Object.create(null)); | ||
* // => true | ||
*/ | ||
var isPlainObject = !getPrototypeOf ? shimIsPlainObject : function(value) { | ||
if (!(value && toString.call(value) == objectClass)) { | ||
if (!(value && objToString.call(value) == objectTag)) { | ||
return false; | ||
@@ -53,0 +122,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.isplainobject", | ||
"version": "2.4.1", | ||
"description": "The Lo-Dash function `_.isPlainObject` 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 `_.isPlainObject` as a module.", | ||
"homepage": "https://lodash.com/", | ||
"icon": "https://lodash.com/icon.svg", | ||
"license": "MIT", | ||
"keywords": ["functional", "lodash", "lodash-modularized", "server", "util"], | ||
"keywords": "lodash, lodash-modularized, stdlib, util", | ||
"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/)", | ||
"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._isnative": "~2.4.1", | ||
"lodash._shimisplainobject": "~2.4.1" | ||
"lodash._basefor": "^3.0.0", | ||
"lodash.isnative": "^3.0.0", | ||
"lodash.keysin": "^3.0.0" | ||
} | ||
} |
@@ -1,15 +0,20 @@ | ||
# lodash.isplainobject v2.4.1 | ||
# lodash.isplainobject v3.0.0 | ||
The [Lo-Dash](http://lodash.com/) function [`_.isPlainObject`](http://lodash.com/docs#isPlainObject) 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/) `_.isPlainObject` 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.isplainobject | ||
``` | ||
| [![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 isPlainObject = require('lodash.isplainobject'); | ||
``` | ||
See the [documentation](https://lodash.com/docs#isPlainObject) or [package source](https://github.com/lodash/lodash/blob/3.0.0-npm-packages/lodash.isplainobject) 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
7004
117
21
3
1
+ Addedlodash._basefor@^3.0.0
+ Addedlodash.isnative@^3.0.0
+ Addedlodash.keysin@^3.0.0
+ Addedlodash._basefor@3.0.3(transitive)
+ Addedlodash.isarguments@3.1.0(transitive)
+ Addedlodash.isarray@3.0.4(transitive)
+ Addedlodash.isnative@3.0.7(transitive)
+ Addedlodash.keysin@3.0.8(transitive)
- Removedlodash._isnative@~2.4.1
- Removedlodash._shimisplainobject@~2.4.1
- 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._isnative@2.4.1(transitive)
- Removedlodash._objecttypes@2.4.1(transitive)
- Removedlodash._setbinddata@2.4.1(transitive)
- Removedlodash._shimisplainobject@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)