customConflictResolver property
Custom conflict resolver function for advanced conflict resolution.
Required when conflictStrategy is ConflictStrategy.custom.
Allows implementing custom logic for:
- Merging arrays instead of replacing
- Summing quantities in inventory apps
- Field-level merging for collaborative editing
- Deep merging of nested objects
Example:
customConflictResolver: (local, remote, localTime, remoteTime) {
// Merge tags array
return {
...remote,
'tags': [
...List<String>.from(local['tags'] ?? []),
...List<String>.from(remote['tags'] ?? []),
].toSet().toList(),
};
}
Or use pre-built resolvers:
customConflictResolver: ConflictResolvers.mergeArrays(['tags', 'likes'])
Implementation
final CustomConflictResolverCallback? customConflictResolver;