Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

thevxn/object-merge

Repository files navigation

object-merge

Small, fast, simple and 0 dependency utility for merging two objects.

Install

npm i @savla-dev/object-merge

Usage

import { merge } from '@savla-dev/object-merge'
const object1 = {
 foo: 'bar',
 baz: [1, 2, 3],
 nestedObject: {
 also: 'works'
 }
}
const object2 = {
 key: 'value',
 baz: [4, 5, 6],
 nestedObject: {
 also: 'this value overrides the one from object1 due to this object having priority',
 anotherKey: 'anotherValue'
 }
}
// Returns the resultingObject below
merge(object1, object2, {
 priorityObject: 'right',
 useStructuredClone: true,
 mergeArrays: true
})
const resultingObject = {
 foo: 'bar',
 baz: [1, 2, 3, 4, 5, 6],
 nestedObject: {
 also: 'this value overrides the one from object1 due to this object having priority',
 anotherKey: 'anotherValue'
 },
 key: 'value'
}

Options

  • priorityObject
    • Specifies the object to take priority during merging and overriding values at identical keys.
    • "left" | "right"
  • mergeArrays
    • Specifies whether arrays should be merged or overriden by the array from the priorityObject. True by default.
    • boolean
  • useStructuredClone
    • Specifies whether to use the structuredClone() function to clone the object that is not priorityObject. True by default. If set to false, the merge() function will mutate the object not set as priorityObject.
    • boolean

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /