custom static method

DatumConfig<DatumEntityInterface> custom({
  1. required DatumConfig<DatumEntityInterface> base,
  2. Duration? autoSyncInterval,
  3. bool? autoStartSync,
  4. Duration? syncTimeout,
  5. bool? enableLogging,
  6. LogLevel? logLevel,
  7. bool? enablePerformanceLogging,
  8. Duration? performanceLogThreshold,
  9. Duration? changeCacheDuration,
  10. int? maxChangeCacheSize,
  11. Duration? changeCacheCleanupInterval,
  12. int? remoteSyncBatchSize,
  13. int? remoteStreamBatchSize,
  14. int? progressEventFrequency,
  15. Duration? remoteEventDebounceTime,
})

Creates a custom configuration by extending an existing preset.

This allows you to start with a preset and customize specific values.

Implementation

static DatumConfig custom({
  required DatumConfig base,
  Duration? autoSyncInterval,
  bool? autoStartSync,
  Duration? syncTimeout,
  bool? enableLogging,
  LogLevel? logLevel,
  bool? enablePerformanceLogging,
  Duration? performanceLogThreshold,
  Duration? changeCacheDuration,
  int? maxChangeCacheSize,
  Duration? changeCacheCleanupInterval,
  int? remoteSyncBatchSize,
  int? remoteStreamBatchSize,
  int? progressEventFrequency,
  Duration? remoteEventDebounceTime,
}) {
  return base.copyWith(
    autoSyncInterval: autoSyncInterval,
    autoStartSync: autoStartSync,
    syncTimeout: syncTimeout,
    enableLogging: enableLogging,
    logLevel: logLevel,
    enablePerformanceLogging: enablePerformanceLogging,
    performanceLogThreshold: performanceLogThreshold,
    changeCacheDuration: changeCacheDuration,
    maxChangeCacheSize: maxChangeCacheSize,
    changeCacheCleanupInterval: changeCacheCleanupInterval,
    remoteSyncBatchSize: remoteSyncBatchSize,
    remoteStreamBatchSize: remoteStreamBatchSize,
    progressEventFrequency: progressEventFrequency,
    remoteEventDebounceTime: remoteEventDebounceTime,
  );
}