JSPM

  • Created
  • Published
  • Downloads 2772
  • Score
    100M100P100Q144665F
  • License Apache-2.0

Utility for deep cloning objects.

Package Exports

  • @empathyco/x-deep-merge
  • @empathyco/x-deep-merge/dist/cjs/deep-merge.js
  • @empathyco/x-deep-merge/dist/esm/deep-merge.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@empathyco/x-deep-merge) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

x-deep-merge

Utility for deep cloning objects.

How to install

# or pnpm or yarn
npm install @empathyco/x-deep-merge

How to use

TypeScript Module Resolution Logic makes it quite easy. The package.json file contains main attribute that points to the generated dist/client.js file and typings attribute that points to the generated dist/client.d.ts file. You can also import this package as a module:

  • Using x-deep-merge in a TypeScript file:
import { deepMerge } from '@empathyco/x-deep-merge'

const target = {}
const source1 = { a: 1 }
const source2 = { b: 2 }

deepMerge(target, source1, source2) // target = { a: 1, b: 2 }
  • Another example
import { deepMerge } from '@empathyco/x-deep-merge'

const sources = [{ a: 1 }, { b: 2 }]
const mergedObject = deepMerge({}, ...sources) // mergedObject = { a: 1, b: 2 }

If you want to find out all the covered use cases, check the tests folder.

How to update the version

You can check if a new version has been published running pnpm outdated:

pnpm outdated @empathyco/x-deep-merge

And update it using npm update:

pnpm update @empathyco/x-deep-merge