get method

  1. @override
Future get(
  1. String key
)
override

Get from local storage

Implementation

@override
/// Get from local storage
Future<dynamic> get(String key) async {
  final db = await _initializedDB;
  final txn = db.transaction(storeName, idbModeReadOnly);
  dynamic data = await txn.objectStore(storeName).getObject(key);
  await txn.completed;

  if (data != null) {
    if (encryptionKey != null && mode != null) {
      if (mode == EncryptionMode.fernet) {
        data = fernet.decryptFernet(data, encryptionKey!);
      } else if (mode == EncryptionMode.aes) {
        data = aes.decryptAES(data, encryptionKey!);
      }
    }

    try {
      return jsonDecode(data);
    } catch (_) {
      return data;
    }
  }
  return data;
}