Versions in this module Expand all Collapse all v1 v1.0.1 Feb 17, 2024 v1.0.0 Feb 10, 2024 Changes in this version + func AsMerger(value reflect.Value) (mergeFn func(override reflect.Value) (reflect.Value, error), isMerger bool) + func Merge[T any](src T, patch T, opts ...Option) (T, error) + type AtomicTypes []reflect.Type + type CustomMergeFunc func(src, override T) (T, error) + type CustomMergeFuncs map[reflect.Type]any + type CustomMergeOptions map[reflect.Type]Options + type MergeOptionsProvider interface + GetMergeOptions func() Options + type Merger interface + Merge func(override T) (T, error) + type Option func(*Options) + func OptAtomicTypes(atomicTypes AtomicTypes) Option + func OptCustomMergeFuncs(customMergeFuncs CustomMergeFuncs) Option + func OptCustomMergeOptions(customMergeOptions CustomMergeOptions) Option + func OptDeRefPointers(deRefPointers bool) Option + func OptIterateMaps(iterateMaps bool) Option + func OptMergeSlices(iterateSlices SlicesMergeStrategy) Option + func OptRespectMergeOptionsProviders(respectMergeOptionsProviders bool) Option + func OptRespectMergers(respectMergers bool) Option + type Options struct + AtomicTypes AtomicTypes + CustomMergeFuncs CustomMergeFuncs + CustomMergeOptions CustomMergeOptions + DeRefPointers bool + IterateMaps bool + RespectMergeOptionsProviders bool + RespectMergers bool + SlicesMerge SlicesMergeStrategy + func NewOptions(opts ...Option) Options + type SlicesMergeStrategy string + const SlicesMergeStrategyAtomic + const SlicesMergeStrategyByIndex + const SlicesMergeStrategyUnique