get method
Retrieve a value from storage.
Returns map from backend, or null if not found.
Implementation
Future<Map<String, dynamic>?> get(String key) async {
switch (storageType) {
case StorageType.inMemory:
final bridge = PVBridge();
final db = await bridge.getDatabaseForType(storageType);
final storeName = isMetadata
? ctx.cache.metadataNameFunction!(ctx.cache.env)
: ctx.cache.env;
final store = bridge.getStore(storeName, storageType);
return await store.record(key).get(db);
case StorageType.stdSembast:
final bridge = PVBridge();
final db = await bridge.getDatabaseForType(
storageType,
heavy: ctx.cache.heavy,
env: ctx.cache.env,
);
final storeName = isMetadata
? ctx.cache.metadataNameFunction!(ctx.cache.env)
: ctx.cache.env;
final store = bridge.getStore(storeName, storageType);
return await store.record(key).get(db);
case StorageType.secureStorage:
final value = await PVBridge.secureStorage.read(key: key);
if (value == null) return null;
// Parse JSON from secure storage
return {'value': value};
}
}