You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

21 lines
560 B

const typeOf = require("./type-of")
const mixinComponent = function(origin = {}, next = {}) {
if (typeOf(origin) !== "object") origin = {}
if (typeOf(next) !== "object") next = {}
for (let key in next) {
if (typeOf(next[key]) === "object") {
if (typeOf(origin[key]) === "object") {
origin[key] = mixinComponent(origin[key], next[key])
} else {
origin[key] = next[key]
}
} else {
if (typeOf(origin[key]) == "undefined") origin[key] = next[key]
}
}
return origin
}
module.exports = mixinComponent