opt. & fix

This commit is contained in:
lollipopkit
2024-02-18 10:33:49 +08:00
parent 026c26cea7
commit fb2809e4c2
9 changed files with 221 additions and 167 deletions

View File

@@ -43,6 +43,36 @@ class PersistentStore {
boxName,
//encryptionCipher: SecureStore._cipher,
);
_StoreProperty<T> property<T>(
String key,
T defaultValue, {
bool updateLastModified = true,
}) {
return _StoreProperty<T>(
box,
key,
defaultValue,
updateLastModified: updateLastModified,
);
}
_StoreListProperty<T> listProperty<T>(
String key,
List<T> defaultValue, {
bool updateLastModified = true,
T Function(dynamic val)? decoder,
dynamic Function(T val)? encoder,
}) {
return _StoreListProperty<T>(
box,
key,
defaultValue,
updateLastModified: updateLastModified,
encoder: encoder,
decoder: decoder,
);
}
}
extension BoxX on Box {
@@ -80,38 +110,6 @@ extension BoxX on Box {
}
}
extension StoreX on PersistentStore {
_StoreProperty<T> property<T>(
String key,
T defaultValue, {
bool updateLastModified = true,
}) {
return _StoreProperty<T>(
box,
key,
defaultValue,
updateLastModified: updateLastModified,
);
}
_StoreListProperty<T> listProperty<T>(
String key,
List<T> defaultValue, {
bool updateLastModified = true,
T Function(dynamic val)? decoder,
dynamic Function(T val)? encoder,
}) {
return _StoreListProperty<T>(
box,
key,
defaultValue,
updateLastModified: updateLastModified,
encoder: encoder,
decoder: decoder,
);
}
}
abstract class StorePropertyBase<T> {
ValueListenable<T> listenable();
T fetch();