HydratedSubject<T> constructor
HydratedSubject<T> (
- String key, {
- T? seedValue,
- HydrateCallback<
T> ? hydrate, - PersistCallback<
T> ? persist, - VoidCallback? onHydrate,
- VoidCallback? onListen,
- VoidCallback? onCancel,
- bool sync = false,
- KeyValueStore keyValueStore = const SharedPreferencesStore(),
Implementation
factory HydratedSubject(
String key, {
T? seedValue,
HydrateCallback<T>? hydrate,
PersistCallback<T>? persist,
VoidCallback? onHydrate,
VoidCallback? onListen,
VoidCallback? onCancel,
bool sync = false,
KeyValueStore keyValueStore = const SharedPreferencesStore(),
}) {
assert(
(hydrate == null && persist == null) ||
(hydrate != null && persist != null),
'`hydrate` and `persist` callbacks must both be present.');
// ignore: close_sinks
final subject = seedValue != null
? BehaviorSubject<T>.seeded(
seedValue,
onListen: onListen,
onCancel: onCancel,
sync: sync,
)
: BehaviorSubject<T>(
onListen: onListen,
onCancel: onCancel,
sync: sync,
);
return HydratedSubject._(
key,
seedValue,
hydrate,
persist,
onHydrate,
subject,
keyValueStore,
);
}