BidirectionalSyncStrategy<T> constructor

BidirectionalSyncStrategy<T>({
  1. required Future<List<T>> fetchLocal(
    1. List<String> keys
    ),
  2. required Future<T> createRemote(
    1. T entity
    ),
  3. required Future<T> updateRemote(
    1. T entity
    ),
  4. required Future<void> deleteRemote(
    1. String key
    ),
  5. required String keyResolver(
    1. T entity
    ),
  6. required SyncMetadataStore metadataStore,
  7. required Future<List<T>> fetchRemoteList(),
  8. required Future<void> saveLocal(
    1. T entity
    ),
  9. T conflictResolver(
    1. T? local,
    2. T remote
    )?,
  10. SyncConfig config = const SyncConfig(),
})

Implementation

BidirectionalSyncStrategy({
  required super.fetchLocal,
  required super.createRemote,
  required super.updateRemote,
  required super.deleteRemote,
  required super.keyResolver,
  required super.metadataStore,
  required Future<List<T>> Function() fetchRemoteList,
  required Future<void> Function(T entity) saveLocal,
  T Function(T? local, T remote)? conflictResolver,
  super.config,
}) : _fetchRemoteList = fetchRemoteList,
     _saveLocal = saveLocal,
     _conflictResolver = conflictResolver ?? ((local, remote) => remote);