@jalik/extend
v2.2.1
Published
A utility to merge flat objects.
Downloads
87
Readme
@jalik/extend
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
Introduction
Useful to merge several objects into one, for creating a configuration based on default parameters for example.
Merging objects
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"
}
Merging arrays
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]
Merging arrays into object
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
}
Changelog
History of releases is in the changelog.
License
The code is released under the MIT License.