CustomManagerConfig<T extends DatumEntityInterface> class

A testing-only config to smuggle a mock manager into the creation process.

Inheritance

Constructors

CustomManagerConfig(DatumManager<T> mockManager)
const

Properties

autoMigrate bool
Whether to reconcile the store's shape with schema during initialize() — after the manual migrations chain runs. Missing declared columns are added (renames honored via DatumFieldSpec.renamedFrom hints); undeclared columns are kept and warned about unless autoMigrateDropColumns is on.
finalinherited
autoMigrateDropColumns bool
Whether auto-migration may drop stored columns that are not in schema. Off by default — destructive changes are opt-in.
finalinherited
autoStartSync bool
Whether to automatically start auto-sync for all users with local data upon initialization.
finalinherited
autoSyncInterval Duration
The interval for any automatic background synchronization.
finalinherited
changeCacheCleanupInterval Duration
The interval for periodic cleanup of the change cache. This is in addition to the immediate cleanup based on changeCacheDuration.
finalinherited
changeCacheDuration Duration
The duration to keep a change ID in the cache to prevent duplicate processing.
finalinherited
coldStartConfig ColdStartConfig
Configuration for cold start synchronization behavior. Determines how the system handles sync when the app is fully closed and reopened.
finalinherited
defaultConflictResolver DatumConflictResolver<T>?
The default conflict resolver to use if none is provided per-operation. If null, LastWriteWinsResolver is used.
finalinherited
defaultSyncDirection SyncDirection
The default direction for synchronization.
finalinherited
defaultSyncOptions DatumSyncOptions<T>?
Default sync options to use when none are provided to synchronize(). These options will be merged with any options passed to individual sync calls.
finalinherited
defaultUserSwitchStrategy UserSwitchStrategy
The default strategy to use when switching users.
finalinherited
deleteBehavior DeleteBehavior
Defines the behavior for delete operations. Defaults to DeleteBehavior.hardDelete.
finalinherited
deltaSyncOverlap Duration
Clock-skew tolerance subtracted from the watermark passed to DeltaSyncCapable.readSince. Re-delivered rows in the overlap window are skipped by the strictly-newer check, so a generous overlap is safe.
finalinherited
detectRemoteDeletions bool
Whether a full pull should treat entities that exist locally but are absent remotely as remote deletions, routing each through the conflict resolver (as a DatumConflictType.deletionConflict with a null remote).
finalinherited
enableDeltaSync bool
Whether the pull phase may use incremental pulls when the remote adapter mixes in DeltaSyncCapable — fetching only entities modified since the last sync watermark instead of the full dataset.
finalinherited
enableLogging bool
Whether to enable detailed logging from the Datum engine.
finalinherited
enableMetadataHashCache bool
Whether to cache the per-user content hash used when stamping sync metadata, so an idle sync cycle skips an O(n) readAll + rehash of the whole local dataset.
finalinherited
enablePerformanceLogging bool
Whether to enable performance logging for operations exceeding thresholds.
finalinherited
enableQueryCache bool
Whether to cache the results of local DatumManager.query calls.
finalinherited
errorRecoveryStrategy DatumErrorRecoveryStrategy
The strategy for handling errors and retries during synchronization.
finalinherited
excludedSyncUserIds Set<String>
User IDs that must never be auto-discovered for synchronization.
finalinherited
hashCode int
The hash code for this object.
no setterinherited
initialUserId Future<String?> Function()?
The user ID to target for the initial auto-sync if autoStartSync is true. A function that returns a Future<String?> to get the current user ID. If the function returns null, DatumManager will discover all users with local data. If null, DatumManager will discover all users with local data.
finalinherited
logLevel LogLevel
The minimum log level for logging output.
finalinherited
logSamplers Map<String, LogSampler>
Sampling strategies for high-frequency log operations.
finalinherited
maxChangeCacheSize int
The maximum number of entries to keep in the change cache. When exceeded, older entries are removed to prevent unbounded memory growth.
finalinherited
maxEntityExistenceCacheSize int
The maximum size of the entity existence cache.
finalinherited
maxQueryCacheSize int
The maximum size of the query cache.
finalinherited
maxRelationshipQueryCacheSize int
The maximum size of the relationship query cache.
finalinherited
migrations List<Migration>
A list of Migration classes to be run when the schemaVersion is incremented.
finalinherited
mockManager DatumManager<T>
final
onMigrationError MigrationErrorHandler?
A callback to handle failures during schema migration.
finalinherited
performanceLogThreshold Duration
The duration threshold for performance logging.
finalinherited
progressEventFrequency int
The frequency of progress event emissions during sync operations. Progress events are emitted every N items processed.
finalinherited
props List<Object?>
The list of properties that will be used to determine whether two instances are equal.
no setterinherited
remoteEventDebounceTime Duration
The duration to buffer remote changes before processing a batch. Helps to group rapid-fire updates from a server push into a single operation.
finalinherited
remoteStreamBatchSize int
The batch size for streaming remote items from adapters. Smaller batches reduce memory usage but may increase processing overhead.
finalinherited
remoteSyncBatchSize int
The batch size for processing remote changes during sync operations. Larger batches reduce memory overhead but may increase latency.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
schema DatumSchema<T>?
The declared runtime schema for this entity — powers typed reads and, with autoMigrate, schema reconciliation at initialize.
finalinherited
schemaVersion int
The current version of the data schema for migration purposes.
finalinherited
stringify bool?
If set to true, the toString method will be overridden to output this instance's props.
no setterinherited
syncDirectionResolver SyncDirectionResolver?
A callback that allows customizing the sync direction based on pending operations.
finalinherited
syncExecutionStrategy DatumSyncExecutionStrategy
The execution strategy for processing the sync queue.
finalinherited
syncRequestStrategy DatumSyncRequestStrategy
The strategy for handling concurrent calls to the synchronize method. Defaults to SequentialRequestStrategy.
finalinherited
syncTimeout Duration
The maximum duration for a single sync cycle before it times out.
finalinherited
useIsolateSync bool
Whether to offload the entire synchronization process to a background isolate.
finalinherited

Methods

copyWith<E extends DatumEntityInterface>({Duration? autoSyncInterval, bool? autoStartSync, Duration? syncTimeout, DatumConflictResolver<E>? defaultConflictResolver, UserSwitchStrategy? defaultUserSwitchStrategy, Future<String?> initialUserId()?, bool? enableLogging, SyncDirection? defaultSyncDirection, int? schemaVersion, List<Migration>? migrations, DatumSyncExecutionStrategy? syncExecutionStrategy, MigrationErrorHandler? onMigrationError, DatumSyncRequestStrategy? syncRequestStrategy, DatumErrorRecoveryStrategy? errorRecoveryStrategy, Duration? remoteEventDebounceTime, Duration? changeCacheDuration, DatumSyncOptions<E>? defaultSyncOptions, int? maxChangeCacheSize, Duration? changeCacheCleanupInterval, int? remoteSyncBatchSize, int? remoteStreamBatchSize, int? progressEventFrequency, LogLevel? logLevel, bool? enablePerformanceLogging, Duration? performanceLogThreshold, Map<String, LogSampler>? logSamplers, SyncDirectionResolver? syncDirectionResolver, ColdStartConfig? coldStartConfig, DeleteBehavior? deleteBehavior, Set<String>? excludedSyncUserIds, bool? detectRemoteDeletions, bool? enableQueryCache, bool? enableMetadataHashCache, bool? enableDeltaSync, Duration? deltaSyncOverlap, int? maxQueryCacheSize, int? maxRelationshipQueryCacheSize, int? maxEntityExistenceCacheSize, bool? useIsolateSync, DatumSchema<E>? schema, bool? autoMigrate, bool? autoMigrateDropColumns}) DatumConfig<E>
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
sanitizedForIsolate<E extends DatumEntityInterface>() DatumConfig<E>
Returns a copy of this config with the callback fields that commonly capture unsendable state (initialUserId, onMigrationError, syncDirectionResolver) removed, re-typed for entity type E.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited