when<R> method

R when<R>({
  1. required R success(
    1. T? data,
    2. String message,
    3. int statusCode
    ),
  2. required R error(
    1. String error,
    2. String message,
    3. int? statusCode
    ),
})

Pattern-match helper — mirrors Riverpod's AsyncValue.when()

Implementation

R when<R>({
  required R Function(T? data, String message, int statusCode) success,
  required R Function(String error, String message, int? statusCode) error,
}) =>
    switch (this) {
      ApiSuccess<T> s => success(s.data, s.message, s.statusCode),
      ApiError<T> e => error(e.error, e.message, e.statusCode),
    };