utils/sembast_import_export library

Classes

AsyncContentCodecBase
Base class for a custion implementation, by defining only decodeAsync and encodeAsync
Boundary
Sort order boundary, lower or upper to use in a Finder
Database
Database.
DatabaseClient
Database client (either Database or Transaction)
DatabaseFactory
The database factory that allow opening database
DatabaseMode
The modes in which a Database can be opened.
Field
Special field access
FieldKey
Field Key utilities
FieldValue
Update values
Filter
Filter for searching into the database
Finder
Finder helper for searching a given store
QueryRef<K extends Key?, V extends Value?>
A query on a store.
RecordChange<K, V>
Record change info streamed during StoreRef.onChange.
RecordRef<K extends Key?, V extends Value?>
An immutable record reference
RecordSnapshot<K extends Key?, V extends Value?>
A read record
RecordsRef<K extends Key?, V extends Value?>
An immutable reference to multiple records
SembastCodec
The sembast codec to use to read/write records.
SortOrder<T extends Object?>
Sort order
StoreFactory<K extends Key?, V extends Value?>
Store factory interface
StoreRef<K extends Key?, V extends Value?>
A pointer to a store.
Transaction
Database transaction.

Extensions

DatabaseExtension on Database
Database extension methods.
RecordSnapshotIterableExtension on Iterable<RecordSnapshot<K, V>>
Extension on iterable of record snapshot
SembastDatabaseAllStoresChangesListenerExtension on Database
All stores changes listener extension.
SembastDatabaseClientExtension on DatabaseClient
Database client extension methods.
SembastFilterCombination on Filter
Provides convenience methods for combining multiple Filters.
SembastQueryRefCommonExtension on QueryRef<K, V>
Common extension
SembastQueryRefExtension on QueryRef<K, V>
Query db actions.
SembastQueryRefSyncExtension on QueryRef<K, V>
Query db actions. synchronous access.
SembastRecordChangeExtension on RecordChange<K, V>
Record change helper.
SembastRecordRefExtension on RecordRef<K, V>
Record ref sembast public extension.
SembastRecordRefSyncExtension on RecordRef<K, V>
Record ref sembast public extension.
SembastRecordsRefCommonExtension on RecordsRef<K, V>
Record ref common extension.
SembastRecordsRefExtension on RecordsRef<K, V>
Record ref sembast public extension.
SembastRecordsRefSyncExtension on RecordsRef<K, V>
Record ref sembast public extension.
SembastStoreRefCommonExtension on StoreRef<K, V>
Store ref common public sembast extension (no db access).
SembastStoreRefExtension on StoreRef<K, V>
Store ref public sembast extension.
SembastStoreRefSyncExtension on StoreRef<K, V>
Store ref public sembast extension.

Properties

intMapStoreFactory → StoreFactoryBase<int, Map<String, Object?>>
Store factory with key as int and value as Map
final
sembastCodecDefault SembastCodec
Json Codec with supports for DateTime and Blobs (UInt8List)
getter/setter pair
sembastDefaultTypeAdapters List<SembastTypeAdapter<Object, String>>
Support Timestamp and Blob
final
stringMapStoreFactory → StoreFactoryBase<String, Map<String, Object?>>
Store factory with key as String and value as Map
final

Functions

decodeImportAny(Object srcData) Object
Decode the exported data to be imported.
disableSembastCooperator() → void
Disable sembast cooperator.
enableSembastCooperator({int? delayMicroseconds, int? pauseMicroseconds}) → void
Re-enable sembast cooperator or change default pause and delay
exportDatabase(Database db, {List<String>? storeNames}) Future<Map<String, Object?>>
Return the data in an exported format that (can be JSONified).
exportDatabaseLines(Database db, {List<String>? storeNames}) Future<List<Object>>
Return the data in an exported format where each item in the list can be JSONified. If simply encoded as list of json string, it makes it suitable to archive a mutable export on a git file system.
exportLinesToJsonlString(List export) String
Convert export as a list of string (export is is a List or non null objects)
exportLinesToJsonStringList(List export) List<String>
Convert export as a list of string (export is is a List or non null objects)
importDatabase(Map srcData, DatabaseFactory dstFactory, String dstPath, {SembastCodec? codec, List<String>? storeNames}) Future<Database>
Import the exported data (using exportDatabase) into a new database
importDatabaseAny(Object srcData, DatabaseFactory dstFactory, String dstPath, {SembastCodec? codec, List<String>? storeNames}) Future<Database>
Import the exported data (using exportDatabase or exportDatabaseLines or their json encoding or a string of it) into a new database
importDatabaseLines(List srcData, DatabaseFactory dstFactory, String dstPath, {SembastCodec? codec, List<String>? storeNames}) Future<Database>
Import the exported data (using exportDatabaseLines) into a new database
sembastCodecWithAdapters(Iterable<SembastTypeAdapter> adapters) SembastCodec
Default codec has no toString converted and no signature. as format is expected to be compatible

Typedefs

OnVersionChangedFunction = FutureOr Function(Database db, int oldVersion, int newVersion)
Callback interface called when the existing version differs from the one expected.
RecordKeyBase = Object
Base key.
RecordValueBase = Object
Base value.
TransactionRecordChangeListener<K, V> = FutureOr<void> Function(Transaction transaction, List<RecordChange<K, V>> changes)
Record change listener

Exceptions / Errors

DatabaseException
Database exception.