This repository has been archived by the owner on Dec 5, 2022. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 146
Troubles with API #46
Comments
Create a wrapper struct that implements DiffAware struct DiffWrapper: DiffAware {
var item: BaseClassProtocol
var diffId: String {
return item.id
}
static func compareContent(_ a: DiffWrapper, _ b: DiffWrapper) -> Bool {
return a.item == b.item
}
}
let changes = diff(old.map(DiffWrapper.init), new.map(DiffWrapper.init)) |
@Voxar Yeah, I came up with the similar structure. I asked because I don't like this overhead. But I understand there are some Swift's nuances which leads to difficulties in such kind of API. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
For example, in my code i have a very common case:
Anywere in my codebase, there is only
BaseClassProtocol
being used. For example:let array:[BaseClassProtocol] = ...
this array contains various classes/structs with the same protocol.
How can I apply DeepDiff library and DiffAware protocol to compare various arrays of
BaseClassProtocol
objects?The text was updated successfully, but these errors were encountered: