Added some documentation and fixes code format

This commit is contained in:
Marc Grau Benaiges 2020-04-05 23:12:40 +02:00
parent e0c3f4b647
commit c59b96c9bf
1 changed files with 7 additions and 3 deletions

View File

@ -36,6 +36,10 @@ abstract class MoorWebStorage {
/// applications that never used the local storage implementation as a small /// applications that never used the local storage implementation as a small
/// performance improvement. /// performance improvement.
/// ///
/// When the [inWebWorker] parameter (defaults to false) is set,
/// the implementation will use [WorkerGlobalScope] instead of [window] as
/// it isn't accessible from the worker.
///
/// However, older browsers might not support IndexedDB. /// However, older browsers might not support IndexedDB.
@experimental @experimental
factory MoorWebStorage.indexedDb(String name, factory MoorWebStorage.indexedDb(String name,
@ -147,7 +151,7 @@ class _IndexedDbStorage implements MoorWebStorage {
var wasCreated = false; var wasCreated = false;
final indexedDb = final indexedDb =
inWebWorker ? WorkerGlobalScope.instance.indexedDB : window.indexedDB; inWebWorker ? WorkerGlobalScope.instance.indexedDB : window.indexedDB;
_database = await indexedDb.open( _database = await indexedDb.open(
_objectStoreName, _objectStoreName,
@ -176,7 +180,7 @@ class _IndexedDbStorage implements MoorWebStorage {
@override @override
Future<void> store(Uint8List data) async { Future<void> store(Uint8List data) async {
final transaction = final transaction =
_database.transactionStore(_objectStoreName, 'readwrite'); _database.transactionStore(_objectStoreName, 'readwrite');
final store = transaction.objectStore(_objectStoreName); final store = transaction.objectStore(_objectStoreName);
await store.put(Blob([data]), name); await store.put(Blob([data]), name);
@ -186,7 +190,7 @@ class _IndexedDbStorage implements MoorWebStorage {
@override @override
Future<Uint8List> restore() async { Future<Uint8List> restore() async {
final transaction = final transaction =
_database.transactionStore(_objectStoreName, 'readonly'); _database.transactionStore(_objectStoreName, 'readonly');
final store = transaction.objectStore(_objectStoreName); final store = transaction.objectStore(_objectStoreName);
final result = await store.getObject(name) as Blob /*?*/; final result = await store.getObject(name) as Blob /*?*/;