import merge from 'deepmerge' ; export const combineMerge = ( target , source , options ) : any [ ] => { const destination = target . slice ( ) ; source . forEach ( ( item , index ) => { if ( typeof destination [ index ] === 'undefined' ) { destination [ index ] = options . cloneUnlessOtherwiseSpecified ( item , options ) ; } else if ( options . isMergeableObject ( item ) ) { destination [ index ] = merge ( target [ index ] , item , options ) ; } else if ( ! target . includes ( item ) ) { destination . push ( item ) ; } } ) ; return destination ; } ;