HydratedSubject<T> constructor

HydratedSubject<T>(
  1. String key, {
  2. T? seedValue,
  3. HydrateCallback<T>? hydrate,
  4. PersistCallback<T>? persist,
  5. VoidCallback? onHydrate,
  6. VoidCallback? onListen,
  7. VoidCallback? onCancel,
  8. bool sync = false,
  9. 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,
  );
}