Artifact
32bfe1330f4e89627035b03a11bfac70312099e907e31f38567a1b443cd1d27b:
import isWritable from '../checks/is-writable'
/**
* Extend any object with other properties
* @param { Object } src - source object
* @returns { Object } the resulting extended object
*
* var obj = { foo: 'baz' }
* extend(obj, {bar: 'bar', foo: 'bar'})
* console.log(obj) => {bar: 'bar', foo: 'bar'}
*
*/
export default function extend(src) {
let obj
let i = 1
const args = arguments
const l = args.length
for (; i < l; i++) {
if (obj = args[i]) {
for (const key in obj) {
// check if this property of the source object could be overridden
if (isWritable(src, key))
src[key] = obj[key]
}
}
}
return src
}