• Phillip Wittrock's avatar
    Beginning of rewrite apply merge-logic using visitor pattern. · df5fc7a2
    Phillip Wittrock authored
    Major changes:
    - Don't generate a patch, instead generate the merged object so it can be used with PUT
    - Separate tree parsing logic to collate items in a list from the delete / merge / replace / add logic when merging
    - Use openapi for merge strategy metadata so it works with extensions and version skew
    - Support multi-field mergekeys when merging lists
    - Support replace strategy for maps
    - Reduce complexity of generating order when merging lists - keep the locally defined order and append remote only-items
    
    Continue to support:
    - Explicitly setting fields to null
    - Merging lists of primitives
    - Don't randomize ordering when merging lists
    
    TODO:
    - Retain keys
    - Conflict detection
    df5fc7a2
doc.go 588 Bytes