An improved Object.assign that will merge nested objects and concatenate arrays.
$ npm install x-assign
const XAssign = require("x-assign");
const objA = {
car: ["vroom"],
pear: "green",
banana: { yellow: "$0.69", brown: "$0.39" },
};
const objB = {
car: ["beep", "crash"],
cat: "meow",
cow: "moo",
banana: { green: "$0.89", yellow: "$0.56 sale!" },
};
const objC = {
duck: {says: "quack"},
};
const result = XAssign.assign(objA, objB, objC);
console.log(result);
{
car: ["vroom", "beep", crash],
pear: "green",
banana: { green: "$0.89", yellow: "$0.56 sale!", brown: "$0.39" },
cat: "meow",
cow: "moo",
duck: {says: "quack"},
}
See more examples in the tests!
x-assign is a software development project by BinaryOps Software Inc.