SignalsKeyValueStore#
Kind:
class |
Package: package:signals_core
Class: SignalsKeyValueStore#
An abstract class defining the persistence adapter contract for PersistedSignal.
Implement this interface to bind PersistedSignal to your storage engine of
choice, such as local files, SQLite, SharedPreferences, Hive, or indexedDB.
Example: Custom Shared Preferences Store (Flutter)#
import 'package:shared_preferences/shared_preferences.dart';
import 'package:signals/signals.dart';
class SharedPreferencesStore implements SignalsKeyValueStore {
final SharedPreferences prefs;
SharedPreferencesStore(this.prefs);
@override
Future<String?> getItem(String key) async {
return prefs.getString(key);
}
@override
Future<void> setItem(String key, String value) async {
await prefs.setString(key, value);
}
@override
Future<void> removeItem(String key) async {
await prefs.remove(key);
}
}
Members of SignalsKeyValueStore#
| Member | Type | Signature | Description |
|---|---|---|---|
| setItem | method |
dart Future |
Sets an item in the store. |
| getItem | method |
dart Future<String?> getItem(String key) |
Gets an item from the store. |
| removeItem | method |
dart Future |
Removes an item from the store. |
| defaultStore | field |
dart static SignalsKeyValueStore defaultStore |
The default store to be used if no store is provided. |
References#
The SignalsKeyValueStore type is referenced and used in the following pages:
- PersistedSignal (signals_flutter/utilities)
- PersistedSignal (signals_core/utilities)
- PersistedSignal (signals/utilities)