SyncConfig class
Configuration for SyncLayer initialization.
This class contains all the settings needed to configure SyncLayer's behavior, including backend connection, sync intervals, conflict resolution strategy, and which collections to sync.
Example:
final config = SyncConfig(
baseUrl: 'https://api.example.com',
authToken: 'your-auth-token',
syncInterval: Duration(minutes: 5),
maxRetries: 3,
enableAutoSync: true,
collections: ['todos', 'users', 'notes'],
conflictStrategy: ConflictStrategy.lastWriteWins,
);
await SyncLayer.init(config);
Constructors
-
SyncConfig({String? baseUrl, String? authToken, Duration syncInterval = const Duration(minutes: 5), int maxRetries = 3, bool enableAutoSync = true, SyncBackendAdapter? customBackendAdapter, ConflictStrategy conflictStrategy = ConflictStrategy.lastWriteWins, CustomConflictResolverCallback? customConflictResolver, List<
String> collections = const [], Map<String, SyncFilter> syncFilters = const {}, EncryptionConfig encryption = const EncryptionConfig.disabled()}) -
const
Properties
- authToken → String?
-
Optional authentication token for backend requests.
final
- baseUrl → String?
-
The base URL of your backend API.
final
-
collections
→ List<
String> -
List of collection names to sync with the backend.
final
- conflictStrategy → ConflictStrategy
-
Strategy for resolving conflicts when the same document is
modified on multiple devices.
final
- customBackendAdapter → SyncBackendAdapter?
-
Optional custom backend adapter for non-REST backends.
final
- customConflictResolver → CustomConflictResolverCallback?
-
Custom conflict resolver function for advanced conflict resolution.
final
- enableAutoSync → bool
-
Whether to enable automatic background synchronization.
final
- encryption → EncryptionConfig
-
Encryption configuration for data at rest.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- maxRetries → int
-
Maximum number of retry attempts for failed sync operations.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
syncFilters
→ Map<
String, SyncFilter> -
Sync filters for selective synchronization per collection.
final
- syncInterval → Duration
-
How often to automatically sync with the backend.
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited