customConflictResolver property

CustomConflictResolverCallback? customConflictResolver
final

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;