whenData<T> abstract method

void whenData<T>(
  1. void data(
    1. S data
    ), {
  2. void loading()?,
  3. void error(
    1. ErrorState e
    )?,
})

Optional pattern matching for async state, focused on data extraction.

data is called if the state contains data and is required. loading is an optional callback for loading state. error is an optional callback for error state.

This method is useful when you primarily care about the data and want optional handling for loading and error states. All callbacks are void functions.

Example:

state.whenData(
  data: (data) => print('Data: $data'),
  loading: () => print('Loading...'),
  error: (error) => print('Error: ${error.message}'),
);

Implementation

void whenData<T>(
  void Function(S data) data, {
  void Function()? loading,
  void Function(ErrorState e)? error,
});