Skip to content

marmotte / utils/merge

utils/merge

Type Aliases

WithNoDefaults

WithNoDefaults<T> = T & object

Defined in: src/utils/merge.ts:39

Extends an options type with noDefaults to opt out of default injection. Used with withDefaults.

Type Declaration

noDefaults?

optional noDefaults?: boolean

When true, skip all defaults and use the provided options as-is without merging with plugin defaults.

Default
ts
false

Type Parameters

T

T

Functions

deepMerge()

deepMerge<T, U>(base, override): T & U

Defined in: src/utils/merge.ts:18

Recursively merges two objects.

  • Plain object values are merged recursively.
  • Array values are concatenated (base first, then override).
  • All other values: override wins. undefined in override is skipped.

Type Parameters

T

T extends object

U

U extends object

Parameters

base

T

override

U

Returns

T & U


withDefaults()

withDefaults<T>(defaults, options?): T

Defined in: src/utils/merge.ts:52

Merges defaults with options using deepMerge. Pass noDefaults: true in options to skip defaults entirely.

Type Parameters

T

T extends object

Parameters

defaults

Partial<T>

options?

WithNoDefaults<T>

Returns

T