put method
Store a value in storage.
Implementation
Future<void> put(String key, Map<String, dynamic> value) 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);
await store.record(key).put(db, value);
break;
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);
await store.record(key).put(db, value);
break;
case StorageType.secureStorage:
// Convert to JSON string for secure storage
await PVBridge.secureStorage.write(
key: key,
value: value['value'].toString(),
);
break;
}
}