merger

Modules

Interfaces

Conflict

Defined in: merger.ts:15

Conflict entry (minimal by default).

Properties

base?

optional base: unknown

Defined in: merger.ts:21

ours?

optional ours: unknown

Defined in: merger.ts:19

enriched only if debug enabled

path

path: string

Defined in: merger.ts:16

reason

reason: string

Defined in: merger.ts:17

theirs?

optional theirs: unknown

Defined in: merger.ts:20


MergeContext<TContext>

Defined in: merger.ts:48

Merge context (runtime state + config).

Type Parameters

TContext

TContext = unknown

Properties

_strategyCache?

optional _strategyCache: Map<string, string[]>

Defined in: merger.ts:52

config

config: NormalizedConfig

Defined in: merger.ts:49

context?

optional context: TContext

Defined in: merger.ts:51

strategies

strategies: Record<string, StrategyFn<TContext>>

Defined in: merger.ts:50


MergeResult

Defined in: merger.ts:25

Result of merging a file.

Properties

conflicts

conflicts: Conflict[]

Defined in: merger.ts:28

filePath

filePath: string

Defined in: merger.ts:26

merged

merged: unknown

Defined in: merger.ts:27

Variables

BuiltInStrategies

const BuiltInStrategies: { base: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult; concat: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult; drop: <TContext>(_skipped: MergeArgs<TContext>) => StrategyResult; merge: <TContext>(args: MergeArgs<TContext>) => Promise<StrategyResult>; non-empty: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult; ours: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult; skip: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult; theirs: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult; unique: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult; update: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult; }

Defined in: merger.ts:72

Built-in strategies.

Type Declaration

base()

readonly base: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult

Type Parameters
TContext

TContext

Parameters
__namedParameters

MergeArgs<TContext>

Returns

StrategyResult

concat()

readonly concat: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult

Type Parameters
TContext

TContext

Parameters
__namedParameters

MergeArgs<TContext>

Returns

StrategyResult

drop()

readonly drop: <TContext>(_skipped: MergeArgs<TContext>) => StrategyResult

Type Parameters
TContext

TContext

Parameters
_skipped

MergeArgs<TContext>

Returns

StrategyResult

merge()

readonly merge: <TContext>(args: MergeArgs<TContext>) => Promise<StrategyResult>

Type Parameters
TContext

TContext

Parameters
args

MergeArgs<TContext>

Returns

Promise<StrategyResult>

non-empty()

readonly non-empty: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult

Type Parameters
TContext

TContext

Parameters
__namedParameters

MergeArgs<TContext>

Returns

StrategyResult

ours()

readonly ours: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult

Type Parameters
TContext

TContext

Parameters
__namedParameters

MergeArgs<TContext>

Returns

StrategyResult

skip()

readonly skip: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult

Type Parameters
TContext

TContext

Parameters
__namedParameters

MergeArgs<TContext>

Returns

StrategyResult

theirs()

readonly theirs: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult

Type Parameters
TContext

TContext

Parameters
__namedParameters

MergeArgs<TContext>

Returns

StrategyResult

unique()

readonly unique: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult

Type Parameters
TContext

TContext

Parameters
__namedParameters

MergeArgs<TContext>

Returns

StrategyResult

update()

readonly update: <TContext>(__namedParameters: MergeArgs<TContext>) => StrategyResult

Type Parameters
TContext

TContext

Parameters
__namedParameters

MergeArgs<TContext>

Returns

StrategyResult

Functions

mergeObject()

mergeObject<TContext>(__namedParameters: MergeArgs<TContext>): Promise<unknown>

Defined in: merger.ts:164

Recursively merges two inputs using configured strategies.

Resolution order:

  1. If values are strictly equal → return either.
  2. Resolve strategy list from config (cached per path).
  3. Apply built-in/custom strategies in order.
    • If a strategy succeeds → return its value immediately.
    • If a strategy fails → continue to next.
  4. If all strategies fail → log conflict & fallback to ours.

Type Parameters

TContext

TContext

Type of optional user context for custom strategies.

Parameters

__namedParameters

MergeArgs<TContext>

Returns

Promise<unknown>


statusToString()

statusToString(s: StrategyStatus): string

Defined in: merger.ts:32

Helper: stringify status for logs.

Parameters

s

StrategyStatus

Returns

string