SyncHelper constructor

SyncHelper({
  1. required dynamic realm,
  2. required Socket socket,
  3. required String userId,
  4. required String collectionName,
  5. required Map<String, dynamic>? toSyncMapForId(
    1. String id
    ),
  6. Map<String, dynamic> sanitize(
    1. Map<String, dynamic>
    )?,
  7. void onAckSuccess(
    1. String id
    )?,
  8. void onNoDiff(
    1. String id
    )?,
  9. Map<String, dynamic> emitPreProcessor(
    1. Map<String, dynamic> rawJson
    )?,
  10. Duration debounceDelay = const Duration(milliseconds: 250),
  11. bool enableBatching = true,
  12. Duration batchWindow = const Duration(milliseconds: 300),
})

Implementation

SyncHelper({
  required this.realm,
  required this.socket,
  required this.userId,
  required this.collectionName,
  required this.toSyncMapForId,
  Map<String, dynamic> Function(Map<String, dynamic>)? sanitize,
  this.onAckSuccess,
  this.onNoDiff,
  this.emitPreProcessor,
  this.debounceDelay = const Duration(milliseconds: 250),
  this.enableBatching = true,
  this.batchWindow = const Duration(milliseconds: 300),
}) : sanitize = sanitize ?? ((m) => m) {
  if (userId.isEmpty) {
    throw ArgumentError.value(
      userId,
      'userId',
      'userId cannot be empty - required for sync attribution',
    );
  }
  // Register instance for global coordination
  _instances.add(this);
}