TypeScript icon, indicating that this package has built-in type declarations

2.2.1 • Public • Published


GitHub package.json version Build Status GitHub GitHub last commit GitHub issues npm

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.

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


History of releases is in the changelog.


The code is released under the MIT License.



Package Sidebar


npm i @jalik/extend

Weekly Downloads






Unpacked Size

13.7 kB

Total Files


Last publish


  • jalik