Module

x/ultra/lib/build/deps.ts>deepMerge

🧙 Zero-Legacy Deno/React Suspense SSR Framework
Go to Latest
function deepMerge
import { deepMerge } from "https://dotland.deno.dev/x/ultra@v2.0.1/lib/build/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@$STD_VERSION/collections/deep_merge.ts";
import { assertEquals } from "https://deno.land/std@$STD_VERSION/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>