# object.defaults

> Like `extend` but only copies missing properties/values to the target object.

Latest version **1.1.0** (published 2017-04-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install object.defaults
pnpm add object.defaults
yarn add object.defaults
bun add object.defaults
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.0 |
| Published | 2017-04-26 |
| First published | 2014-10-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=0.10.0 |
| Dependencies | 4 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 17 |
| Author | Jon Schlinkert |
| Maintainers | jonschlinkert, phated |
| Keywords | copy, default, defaults, extend, javascript, js, merge, object, properties, property, util, utils, value, values |

## Links

- npm: https://www.npmjs.com/package/object.defaults
- Repository: https://github.com/jonschlinkert/object.defaults
- Issues: https://github.com/jonschlinkert/object.defaults/issues
- npm.io page: https://npm.io/package/object.defaults

## Dependencies (4)

- [for-own](https://npm.io/package/for-own.md) ^1.0.0
- [isobject](https://npm.io/package/isobject.md) ^3.0.0
- [array-each](https://npm.io/package/array-each.md) ^1.0.1
- [array-slice](https://npm.io/package/array-slice.md) ^1.0.0

## Alternatives

- [@mapbox/jsonlint-lines-primitives](https://npm.io/package/@mapbox/jsonlint-lines-primitives.md) — 5.3M weekly downloads
- [reftools](https://npm.io/package/reftools.md) — 3.5M weekly downloads
- [@hey-api/openapi-ts](https://npm.io/package/@hey-api/openapi-ts.md) — 3.5M weekly downloads
- [@mapbox/geojson-rewind](https://npm.io/package/@mapbox/geojson-rewind.md) — 2.4M weekly downloads
- [turbo-stream](https://npm.io/package/turbo-stream.md) — 1.7M weekly downloads

## Recent versions

- 1.1.0 (latest) — 2017-04-26
- 1.0.0 — 2017-03-02
- 0.3.0 — 2015-04-19
- 0.2.0 — 2015-02-25
- 0.1.0 — 2014-10-12

## README

# object.defaults [![NPM version](https://img.shields.io/npm/v/object.defaults.svg?style=flat)](https://www.npmjs.com/package/object.defaults) [![NPM monthly downloads](https://img.shields.io/npm/dm/object.defaults.svg?style=flat)](https://npmjs.org/package/object.defaults)  [![NPM total downloads](https://img.shields.io/npm/dt/object.defaults.svg?style=flat)](https://npmjs.org/package/object.defaults) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/object.defaults.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/object.defaults)

> Like `extend` but only copies missing properties/values to the target object.

## Install

Install with [npm](https://www.npmjs.com/):

```sh
$ npm install --save object.defaults
```

Install with [bower](https://bower.io/)

```sh
$ bower install object.defaults --save
```

## Usage

```js
var defaults = require('object.defaults');

var obj = {a: 'c'};
defaults(obj, {a: 'bbb', d: 'c'});
console.log(obj);
//=> {a: 'c', d: 'c'}
```

Or immutable defaulting:
```js
var defaults = require('object.defaults/immutable');
var obj = {a: 'c'};
var defaulted = defaults(obj, {a: 'bbb', d: 'c'});
console.log(obj !== defaulted);
//=> true
```

## About

### Contributing

Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).

### Contributors

| **Commits** | **Contributor** | 
| --- | --- |
| 16 | [jonschlinkert](https://github.com/jonschlinkert) |
| 1 | [phated](https://github.com/phated) |
| 1 | [sobolevn](https://github.com/sobolevn) |

### Building docs

_(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
```

### Running tests

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 install && npm test
```

### Author

**Jon Schlinkert**

* [github/jonschlinkert](https://github.com/jonschlinkert)
* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)

### License

Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
Released under the [MIT License](LICENSE).

***

_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.5.0, on April 26, 2017._

---
_Source: https://npm.io/package/object.defaults · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
