Interface MergeOptions

Merge options defines the behavior for mergeDeep. See the defaultMergeOptions for defaults that will be used if any merge options are omitted.

interface MergeOptions {
    allowReferenceCopy: boolean;
    rules: readonly MergeRule<any>[];
}

Properties

allowReferenceCopy: boolean

If an object does not pass any of the rules, if this is true (default) the reference will be copied. If false, a MergeReferenceError will be thrown. This only applies to objects, not functions or primitives.

rules: readonly MergeRule<any>[]

The first merge rule where the second source object matches will be used. Rules are only checked for values that have a typeof value of 'object' If the first object does not pass the match, undefined will be passed to sourceA and the rule is expected to return a clone of sourceB. If no rules match, the value will be copied by reference unless allowReferenceCopy is false, in which case, a MergeReferenceError will be thrown.