1 | var get = require('./get')
|
2 | var set = require('./set')
|
3 | var assign = require('object-assign')
|
4 |
|
5 | module.exports = function extendIn (source, keypath, extensions) {
|
6 | if (keypath.length === 0) return assign({}, source, extensions)
|
7 |
|
8 | var data = assign({}, get(source, keypath))
|
9 |
|
10 | for (var i = 2, len = arguments.length; i < len; i++) {
|
11 | assign(data, arguments[i])
|
12 | }
|
13 |
|
14 | return set(source, keypath, data)
|
15 | }
|