extend-shallow
Advanced tools
Comparing version 2.0.1 to 3.0.0
25
index.js
'use strict'; | ||
var isObject = require('is-extendable'); | ||
var isExtendable = require('is-extendable'); | ||
module.exports = function extend(o/*, objects*/) { | ||
if (!isObject(o)) { o = {}; } | ||
var len = arguments.length; | ||
for (var i = 1; i < len; i++) { | ||
var obj = arguments[i]; | ||
if (isObject(obj)) { | ||
assign(o, obj); | ||
module.exports = Object.assign || function(obj/*, objects*/) { | ||
if (obj === null || typeof obj === 'undefined') { | ||
throw new TypeError('expected an object'); | ||
} | ||
for (var i = 1; i < arguments.length; i++) { | ||
var val = arguments[i]; | ||
if (isObject(val)) { | ||
assign(obj, val); | ||
} | ||
} | ||
return o; | ||
return obj; | ||
}; | ||
@@ -27,2 +26,6 @@ | ||
function isObject(val) { | ||
return (val && typeof val === 'object') || isExtendable(val); | ||
} | ||
/** | ||
@@ -29,0 +32,0 @@ * Returns true if the given `key` is an own property of `obj`. |
{ | ||
"name": "extend-shallow", | ||
"description": "Extend an object with the properties of additional objects. node.js/javascript util.", | ||
"version": "2.0.1", | ||
"version": "3.0.0", | ||
"homepage": "https://github.com/jonschlinkert/extend-shallow", | ||
"author": "Jon Schlinkert (https://github.com/jonschlinkert)", | ||
"contributors": [ | ||
"Jon Schlinkert (http://twitter.com/jonschlinkert)", | ||
"Peter deHaan (http://about.me/peterdehaan)" | ||
], | ||
"repository": "jonschlinkert/extend-shallow", | ||
@@ -23,25 +27,24 @@ "bugs": { | ||
"dependencies": { | ||
"is-extendable": "^0.1.0" | ||
"is-extendable": "^1.0.1" | ||
}, | ||
"devDependencies": { | ||
"array-slice": "^0.2.3", | ||
"benchmarked": "^0.1.4", | ||
"chalk": "^1.0.0", | ||
"for-own": "^0.1.3", | ||
"glob": "^5.0.12", | ||
"is-plain-object": "^2.0.1", | ||
"kind-of": "^2.0.0", | ||
"minimist": "^1.1.1", | ||
"mocha": "^2.2.5", | ||
"should": "^7.0.1" | ||
"array-slice": "^1.0.0", | ||
"benchmarked": "^2.0.0", | ||
"for-own": "^1.0.0", | ||
"gulp-format-md": "^1.0.0", | ||
"is-plain-object": "^2.0.4", | ||
"kind-of": "^6.0.1", | ||
"minimist": "^1.2.0", | ||
"mocha": "^3.5.3", | ||
"object-assign": "^4.1.1" | ||
}, | ||
"keywords": [ | ||
"assign", | ||
"clone", | ||
"extend", | ||
"javascript", | ||
"js", | ||
"keys", | ||
"merge", | ||
"obj", | ||
"object", | ||
"object-assign", | ||
"object.assign", | ||
"prop", | ||
@@ -56,3 +59,26 @@ "properties", | ||
"value" | ||
] | ||
} | ||
], | ||
"verb": { | ||
"toc": false, | ||
"layout": "default", | ||
"tasks": [ | ||
"readme" | ||
], | ||
"related": { | ||
"list": [ | ||
"extend-shallow", | ||
"for-in", | ||
"for-own", | ||
"is-plain-object", | ||
"isobject", | ||
"kind-of" | ||
] | ||
}, | ||
"plugins": [ | ||
"gulp-format-md" | ||
], | ||
"lint": { | ||
"reflinks": true | ||
} | ||
} | ||
} |
@@ -1,11 +0,13 @@ | ||
# extend-shallow [![NPM version](https://badge.fury.io/js/extend-shallow.svg)](http://badge.fury.io/js/extend-shallow) [![Build Status](https://travis-ci.org/jonschlinkert/extend-shallow.svg)](https://travis-ci.org/jonschlinkert/extend-shallow) | ||
# extend-shallow [![NPM version](https://img.shields.io/npm/v/extend-shallow.svg?style=flat)](https://www.npmjs.com/package/extend-shallow) [![NPM monthly downloads](https://img.shields.io/npm/dm/extend-shallow.svg?style=flat)](https://npmjs.org/package/extend-shallow) [![NPM total downloads](https://img.shields.io/npm/dt/extend-shallow.svg?style=flat)](https://npmjs.org/package/extend-shallow) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/extend-shallow.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/extend-shallow) | ||
> Extend an object with the properties of additional objects. node.js/javascript util. | ||
Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. | ||
## Install | ||
Install with [npm](https://www.npmjs.com/) | ||
Install with [npm](https://www.npmjs.com/): | ||
```sh | ||
$ npm i extend-shallow --save | ||
$ npm install --save extend-shallow | ||
``` | ||
@@ -30,33 +32,67 @@ | ||
## Related | ||
## About | ||
* [extend-shallow](https://github.com/jonschlinkert/extend-shallow): Extend an object with the properties of additional objects. node.js/javascript util. | ||
* [for-own](https://github.com/jonschlinkert/for-own): Iterate over the own enumerable properties of an object, and return an object with properties… [more](https://github.com/jonschlinkert/for-own) | ||
* [for-in](https://github.com/jonschlinkert/for-in): Iterate over the own and inherited enumerable properties of an objecte, and return an object… [more](https://github.com/jonschlinkert/for-in) | ||
* [is-plain-object](https://github.com/jonschlinkert/is-plain-object): Returns true if an object was created by the `Object` constructor. | ||
* [isobject](https://github.com/jonschlinkert/isobject): Returns true if the value is an object and not an array or null. | ||
* [kind-of](https://github.com/jonschlinkert/kind-of): Get the native type of a value. | ||
<details> | ||
<summary><strong>Contributing</strong></summary> | ||
## Running tests | ||
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). | ||
Install dev dependencies: | ||
</details> | ||
<details> | ||
<summary><strong>Running Tests</strong></summary> | ||
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: | ||
```sh | ||
$ npm i -d && npm test | ||
$ npm install && npm test | ||
``` | ||
## Author | ||
</details> | ||
<details> | ||
<summary><strong>Building docs</strong></summary> | ||
_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ | ||
To generate the readme, run the following command: | ||
```sh | ||
$ npm install -g verbose/verb#dev verb-generate-readme && verb | ||
``` | ||
</details> | ||
### Related projects | ||
You might also be interested in these projects: | ||
* [extend-shallow](https://www.npmjs.com/package/extend-shallow): Extend an object with the properties of additional objects. node.js/javascript util. | [homepage](https://github.com/jonschlinkert/extend-shallow "Extend an object with the properties of additional objects. node.js/javascript util.") | ||
* [for-in](https://www.npmjs.com/package/for-in): Iterate over the own and inherited enumerable properties of an object, and return an object… [more](https://github.com/jonschlinkert/for-in) | [homepage](https://github.com/jonschlinkert/for-in "Iterate over the own and inherited enumerable properties of an object, and return an object with properties that evaluate to true from the callback. Exit early by returning `false`. JavaScript/Node.js") | ||
* [for-own](https://www.npmjs.com/package/for-own): Iterate over the own enumerable properties of an object, and return an object with properties… [more](https://github.com/jonschlinkert/for-own) | [homepage](https://github.com/jonschlinkert/for-own "Iterate over the own enumerable properties of an object, and return an object with properties that evaluate to true from the callback. Exit early by returning `false`. JavaScript/Node.js.") | ||
* [is-plain-object](https://www.npmjs.com/package/is-plain-object): Returns true if an object was created by the `Object` constructor. | [homepage](https://github.com/jonschlinkert/is-plain-object "Returns true if an object was created by the `Object` constructor.") | ||
* [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject "Returns true if the value is an object and not an array or null.") | ||
* [kind-of](https://www.npmjs.com/package/kind-of): Get the native type of a value. | [homepage](https://github.com/jonschlinkert/kind-of "Get the native type of a value.") | ||
### Contributors | ||
| **Commits** | **Contributor** | | ||
| --- | --- | | ||
| 33 | [jonschlinkert](https://github.com/jonschlinkert) | | ||
| 1 | [pdehaan](https://github.com/pdehaan) | | ||
### Author | ||
**Jon Schlinkert** | ||
+ [github/jonschlinkert](https://github.com/jonschlinkert) | ||
+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) | ||
* [github/jonschlinkert](https://github.com/jonschlinkert) | ||
* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) | ||
## License | ||
### License | ||
Copyright © 2015 Jon Schlinkert | ||
Released under the MIT license. | ||
Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). | ||
Released under the [MIT License](LICENSE). | ||
*** | ||
_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on June 29, 2015._ | ||
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on November 19, 2017._ |
Sorry, the diff of this file is not supported yet
8107
9
30
97
+ Addedis-extendable@1.0.1(transitive)
+ Addedis-plain-object@2.0.4(transitive)
+ Addedisobject@3.0.1(transitive)
- Removedis-extendable@0.1.1(transitive)
Updatedis-extendable@^1.0.1