Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/mesozoic/lib/deps.ts>deepMerge

A generic build system for Deno web apps
Go to Latest
function deepMerge
import { deepMerge } from "https://deno.land/x/mesozoic@v1.0.0-beta.1/lib/deps.ts";

Merges the two given Records, recursively merging any nested Records with the second collection overriding the first in case of conflict

For arrays, maps and sets, a merging strategy can be specified to either "replace" values, or "merge" them instead. Use "includeNonEnumerable" option to include non enumerable properties too.

Example:

import { deepMerge } from "https://deno.land/std@0.224.0/collections/deep_merge.ts";
import { assertEquals } from "https://deno.land/std@0.224.0/testing/asserts.ts";

const a = {foo: true}
const b = {foo: {bar: true}}

assertEquals(deepMerge(a, b), {foo: {bar: true}});

Type Parameters

T extends Record<PropertyKey, unknown>

Parameters

record: Partial<Readonly<T>>
other: Partial<Readonly<T>>
optional
options: Readonly<DeepMergeOptions>

Type Parameters

T extends Record<PropertyKey, unknown>
U extends Record<PropertyKey, unknown>
Options extends DeepMergeOptions

Parameters

record: Readonly<T>
other: Readonly<U>
optional
options: Readonly<Options>

Returns

DeepMerge<T, U, Options>