match<R> method

R match<R>({
  1. required R onSuccess(
    1. T
    ),
  2. required R onError(
    1. Exception
    ),
  3. required R onLoading(
    1. Resource<T>
    ),
  4. required R onEmpty(),
})

Implementation

R match<R>(
    {required R Function(T) onSuccess,
      required R Function(Exception) onError,
      required R Function(Resource<T>) onLoading,
      required R Function() onEmpty,

    }) {
  switch (this) {
    case ResourceSuccess():
      {
        return onSuccess.call(data as T);
      }
    case ResourceError():
      {
        return onError.call(failure!);
      }
    case ResourceLoading() : {
      return onLoading(this);
    }
    case ResourceEmpty():{
      return onEmpty();
    }
  }
}