https://github.com/d5/deep-defaults
Recursive version of _.defaults
https://github.com/d5/deep-defaults
Last synced: about 1 year ago
JSON representation
Recursive version of _.defaults
- Host: GitHub
- URL: https://github.com/d5/deep-defaults
- Owner: d5
- License: mit
- Created: 2014-12-21T21:36:59.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2021-04-26T13:29:47.000Z (about 5 years ago)
- Last Synced: 2025-03-24T15:04:45.551Z (over 1 year ago)
- Language: JavaScript
- Size: 8.79 KB
- Stars: 1
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
>
> This repo is not actively maintained. Please find alternatives.
>
# deep-defaults
[](https://nodei.co/npm/deep-defaults/)
Recursive version of _.defaults.
```javascript
var deepDefaults = require('deep-defaults');
console.log(JSON.stringify(deepDefaults(
{"a":1},
{"a":5,"b":10})));
// {"a":1,"b":10}
console.log(JSON.stringify(deepDefaults(
{"a":{"b":1,"c":2},"d":{"e":3,"f":4},"g":5},
{"a":{"k":7},"d":{"i":8}})));
// {"a":{"b":1,"c":2,"k":7},"d":{"e":3,"f":4,"i":8},"g":5}
```
## Examples
- deepDefaults({}, {}) == {}
- deepDefaults({}, undefined) == {}
- deepDefaults({}, null) == {}
- deepDefaults(undefined, undefined) == undefined
- deepDefaults(undefined, {}) == undefined
- deepDefaults(null, {}) == null
- deepDefaults(undefined, {"a":1}) == undefined
- deepDefaults(null, {"a":1}) == null
- deepDefaults({}, {"a":1}) == {"a":1}
- deepDefaults({"a":1}, {"a":1}) == {"a":1}
- deepDefaults({"a":2}, {"a":1}) == {"a":2}
- deepDefaults({"a":2}, {"a":null}) == {"a":2}
- deepDefaults({"a":2}, {}) == {"a":2}
- deepDefaults({"a":2}, {"a":{}}) == {"a":2}
- deepDefaults({"a":{}}, {"a":1}) == {"a":{}}
- deepDefaults({"a":null}, {"a":1}) == {"a":null}
- deepDefaults({}, {"a":1}) == {"a":1}
- deepDefaults({"a":2,"b":1}, {"a":1}) == {"a":2,"b":1}
- deepDefaults({"a":2,"b":1}, {"b":2}) == {"a":2,"b":1}
- deepDefaults({"a":2,"b":1}, {"a":1,"b":2}) == {"a":2,"b":1}
- deepDefaults({"a":2,"b":1}, {"a":1,"b":2,"c":3}) == {"a":2,"b":1,"c":3}
- deepDefaults({"a":{"b":1}}, {}) == {"a":{"b":1}}
- deepDefaults({"a":{"b":1}}, {"a":1}) == {"a":{"b":1}}
- deepDefaults({"a":{"b":1}}, {"b":2}) == {"a":{"b":1},"b":2}
- deepDefaults({"a":{"b":1,"c":3}}, {"b":2}) == {"a":{"b":1,"c":3},"b":2}
- deepDefaults({"a":{"b":1,"c":3}}, {"a":{}}) == {"a":{"b":1,"c":3}}
- deepDefaults({"a":{"b":1,"c":3}}, {"a":{"b":2}}) == {"a":{"b":1,"c":3}}
- deepDefaults({"a":{"b":1,"c":3}}, {"a":{"d":4}}) == {"a":{"b":1,"c":3,"d":4}}
- deepDefaults({"a":{}}, {"a":{"d":4}}) == {"a":{"d":4}}
- deepDefaults({"a":{"b":1,"c":2},"d":{"e":3,"f":4},"g":5}, {}) == {"a":{"b":1,"c":2},"d":{"e":3,"f":4},"g":5}
- deepDefaults({"a":{"b":1,"c":2},"d":{"e":3,"f":4},"g":5}, {"h":6}) == {"a":{"b":1,"c":2},"d":{"e":3,"f":4},"g":5,"h":6}
- deepDefaults({"a":{"b":1,"c":2},"d":{"e":3,"f":4},"g":5}, {"a":6}) == {"a":{"b":1,"c":2},"d":{"e":3,"f":4},"g":5}
- deepDefaults({"a":{"b":1,"c":2},"d":{"e":3,"f":4},"g":5}, {"a":{"k":7}}) == {"a":{"b":1,"c":2,"k":7},"d":{"e":3,"f":4},"g":5}
- deepDefaults({"a":{"b":1,"c":2},"d":{"e":3,"f":4},"g":5}, {"a":{"k":7},"d":{"i":8}}) == {"a":{"b":1,"c":2,"k":7},"d":{"e":3,"f":4,"i":8},"g":5}
- deepDefaults({"foo":"foo"}, {"foo":"foo"}) == {"foo":"foo"}
- deepDefaults({"foo":"foo"}, {}) == {"foo":"foo"}
- deepDefaults({}, {"foo":"foo"}) == {"foo":"foo"}
- deepDefaults({"foo":7}, {"foo":"foo"}) == {"foo":7}
- deepDefaults({"foo":"foo"}, {"foo":7}) == {"foo":"foo"}
- deepDefaults({"foo":{}}, {"foo":"foo"}) == {"foo":{}}
- deepDefaults({"foo":{"bar":7}}, {"foo":"foo"}) == {"foo":{"bar":7}}
- deepDefaults({"foo":{"bar":"foobar"}}, {"foo":"barfoo"}) == {"foo":{"bar":"foobar"}}
- deepDefaults({"foo":"barfoo"}, {"foo":{"bar":"foobar"}}) == {"foo":"barfoo"}
- deepDefaults({}, {"foo":[4,5,6]}) == {"foo":[4,5,6]}
- deepDefaults({"foo":[1,2,3]}, {"foo":[4,5,6]}) == {"foo":[1,2,3]}
- deepDefaults({"foo":[1,2,3]}, {"foo":"bar"}) == {"foo":[1,2,3]}
- deepDefaults({"foo":[1,2,3]}, {"foo":[1,2,3,4]}) == {"foo":[1,2,3]}