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