object-assign-defined
Version:
A simple module that works exactly as Object.assign, but skips assigning undefined values.
58 lines (41 loc) • 1.57 kB
Markdown
[](https://www.npmjs.com/package/object-assign-defined)
[](LICENSE)
[](https://travis-ci.org/ZitRos/object-assign-defined)
A tiny, fast and [well-tested](https://github.com/ZitRos/object-assign-defined/blob/master/test.js)
JavaScript module that works just like `Object.assign`, but skips assigning `undefined` values.
Usage
-----
Import the module and use it like this:
```javascript
import objectAssignDefined from "object-assign-defined";
const result = objectAssignDefined({
"I": 1
}, {
"LIKE": 2
}, {
"TRAINS": undefined
});
// result is { "I": 1, "LIKE": 2 }
```
Note that `undefined` values in source (first argument) won't be vanished:
```javascript
import objectAssignDefined from "object-assign-defined";
const result = objectAssignDefined({
"I": undefined
}, {
"LIKE": 2
}, {
"TRAINS": 3
});
// result is { "I": undefined, "LIKE": 2, "TRAINS": 3 }
```
But you can simply filter `undefined` values by assigning properties to an empty object, like this:
```javascript
import objectAssignDefined from "object-assign-defined";
const result = objectAssignDefined({}, { "I": undefined });
// result is {}
```
Licence
-------
[](LICENSE) © Nikita Savchenko