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));
  }
}