A utility to merge flat objects.
Warning: This library is doing a "flat merge", so if you need to merge deep objects, use the following library instead: @jalik/deep-extend
Useful to merge several objects into one, for creating a configuration based on default parameters for example.
npm i -P @jalik/extend
yarn add @jalik/extend
In this example, all objects are merged into the first object, so the first object is modified, if you don't want to modify the object, pass en empty object {}
as the first argument.
Note that objects are merged based on their order, so the 2nd object is merged in the first, then the 3rd is merged in the first, and so on...
import extend from "@jalik/extend";
const coldColors = {
blue: "#0000FF",
cyan: "#00FFFF",
green: "#00FF00"
};
const hotColors = {
yellow: "#FFFF00",
orange: "#FFAA00",
red: "#FF0000"
};
const result = extend({}, coldColors, hotColors);
The result:
{
"blue": "#0000FF",
"cyan": "#00FFFF",
"green": "#00FF00",
"yellow": "#FFFF00",
"orange": "#FFAA00",
"red": "#FF0000"
}
Several arrays can be merged easily. Note that undefined
values are ignored when merging.
import extend from "@jalik/extend";
const a = [0, 0, 0, 7];
const b = [0, 0, 3];
const c = [1, 3, undefined, undefined];
const result = extend([], a, b, c);
The result:
[1, 3, 3, 7]
You can easily convert an array to an object with the extend method.
import extend from "@jalik/extend";
const numbers = [1, 3, 3, 7];
const object = { length: numbers.length };
const result = extend({}, object, numbers);
The result:
{
"length": 4,
"0": 1,
"1": 3,
"2": 3,
"3": 7
}
History of releases is in the changelog.
The code is released under the MIT License.