FaasJS
Home
  • Guide
  • Documents
  • Templates
  • Changelog
  • Ecosystem

    • Docker Images
  • Github
  • Contributing
  • Sponsor
  • Security
Home
  • Guide
  • Documents
  • Templates
  • Changelog
  • Ecosystem

    • Docker Images
  • Github
  • Contributing
  • Sponsor
  • Security

Documents / @faasjs/utils / deepMerge

Function: deepMerge()

Call Signature

deepMerge<A>(a): A

Deeply clone and merge plain objects or arrays.

Later sources override earlier object properties, and nested objects are merged recursively. Array values are deduplicated with Set, with items from newer sources appearing first. Non-object and non-array inputs are ignored. Non-plain object instances such as Date are treated as replacement values instead of recursively merged.

Type Parameters

A

A extends object

Parameters

a

A

First object or array to clone into the merged result. Later overload arguments are merged from left to right.

Returns

A

A cloned merged value built from the provided sources.

Example

import { deepMerge } from '@faasjs/utils'

deepMerge({ a: 1 }, { a: 2 }) // { a: 2 }
deepMerge({ a: [0] }, { a: [1] }) // { a: [1, 0] }

Call Signature

deepMerge<A, B>(a, b): A & B

Deeply clone and merge plain objects or arrays.

Later sources override earlier object properties, and nested objects are merged recursively. Array values are deduplicated with Set, with items from newer sources appearing first. Non-object and non-array inputs are ignored. Non-plain object instances such as Date are treated as replacement values instead of recursively merged.

Type Parameters

A

A extends object

B

B extends object

Parameters

a

A

First object or array to clone into the merged result. Later overload arguments are merged from left to right.

b

B

Returns

A & B

A cloned merged value built from the provided sources.

Example

import { deepMerge } from '@faasjs/utils'

deepMerge({ a: 1 }, { a: 2 }) // { a: 2 }
deepMerge({ a: [0] }, { a: [1] }) // { a: [1, 0] }

Call Signature

deepMerge<A, B, C>(a, b, c): A & B & C

Deeply clone and merge plain objects or arrays.

Later sources override earlier object properties, and nested objects are merged recursively. Array values are deduplicated with Set, with items from newer sources appearing first. Non-object and non-array inputs are ignored. Non-plain object instances such as Date are treated as replacement values instead of recursively merged.

Type Parameters

A

A extends object

B

B extends object

C

C extends object

Parameters

a

A

First object or array to clone into the merged result. Later overload arguments are merged from left to right.

b

B

c

C

Returns

A & B & C

A cloned merged value built from the provided sources.

Example

import { deepMerge } from '@faasjs/utils'

deepMerge({ a: 1 }, { a: 2 }) // { a: 2 }
deepMerge({ a: [0] }, { a: [1] }) // { a: [1, 0] }

Call Signature

deepMerge<A, B, C, D>(a, b, c, d): A & B & C & D

Deeply clone and merge plain objects or arrays.

Later sources override earlier object properties, and nested objects are merged recursively. Array values are deduplicated with Set, with items from newer sources appearing first. Non-object and non-array inputs are ignored. Non-plain object instances such as Date are treated as replacement values instead of recursively merged.

Type Parameters

A

A extends object

B

B extends object

C

C extends object

D

D extends object

Parameters

a

A

First object or array to clone into the merged result. Later overload arguments are merged from left to right.

b

B

c

C

d

D

Returns

A & B & C & D

A cloned merged value built from the provided sources.

Example

import { deepMerge } from '@faasjs/utils'

deepMerge({ a: 1 }, { a: 2 }) // { a: 2 }
deepMerge({ a: [0] }, { a: [1] }) // { a: [1, 0] }