onmyway133/DeepDiff

what about if people have String `ID` not `Int`

saroar opened this issue · 1 comments

like this

let old = [
  User(id: "1eqw", name: "Captain America"),
  User(id: "12ed", name: "Captain Marvel"),
  User(id: "3r35s", name: "Thor"),
]

let new = [
  User(id: "1eqw", name: "Captain America"),
  User(id: "sac45", name: "The Binary"),
  User(id: "3r35s", name: "Thor"),
]

let changes = diff(old: old, new: new)

@saroar Hi, you need to conform your model to DiffAware protocol

extension User: DiffAware {
  var diffId: Int {
    return id.hashValue
  }

  static func compareContent(_ a: User, _ b: User) -> Bool {
    return a.name == b.name
  }
}