ZenStreamQuery<T> constructor

ZenStreamQuery<T>({
  1. required String queryKey,
  2. required Stream<T> streamFn(),
  3. ZenQueryConfig? config,
  4. T? initialData,
  5. ZenScope? scope,
  6. bool autoDispose = true,
  7. bool autoSubscribe = true,
})

Implementation

ZenStreamQuery({
  required this.queryKey,
  required this.streamFn,
  ZenQueryConfig? config,
  T? initialData,
  this.scope,
  this.autoDispose = true,
  bool autoSubscribe = true,
})  : config = ZenQueryConfig.defaults.merge(config).cast<T>(),
      data = Rx<T?>(initialData) {
  if (initialData != null) {
    status.value = ZenQueryStatus.success;
  }

  _initReactiveProperties();

  if (scope != null) {
    _registerInScope();
  }

  if (autoSubscribe) {
    subscribe();
  }

  ZenLifecycleManager.instance.addLifecycleListener(_handleLifecycleChange);
}