loadStreamData method

void loadStreamData({
  1. required VoidCallback onLoading,
  2. required VoidCallback onEmpty,
  3. required SuccessCallback onSuccess,
  4. required FailureCallback onFailed,
  5. required P params,
})

Implementation

void loadStreamData({
  required VoidCallback onLoading,
  required VoidCallback onEmpty,
  required SuccessCallback onSuccess,
  required FailureCallback onFailed,
  required P params,
}) {
  try {
    debugPrint('$runtimeType | loadFutureStreamData | ');
    onLoading();

    // load future stream data
    final Future<Option<Stream<R>>> dataStreamOrVoid = this(params);

    dataStreamOrVoid.then((dataStreamOption) {
      dataStreamOption.handleStreamData(
        onEmpty: onEmpty,
        onSuccess: onSuccess,
      );
    }).catchError((e) {
      handleError(
        onFailed: (message) => onFailed(message),
      );
    });
  } catch (e) {
    handleError(
      onFailed: (message) => onFailed(message),
    );
  }
}