when<T> method
T
when<T>({
- required T success(
- IapReceipt receipt
- required T cancelled(),
- required T failure(
- IapFailure failure
Handle success, cancelled, and failure cases separately.
result.when(
success: (receipt) => goToHome(),
cancelled: () => showToast('Cancelled'),
failure: (failure) => showError(failure.message),
);
Implementation
T when<T>({
required T Function(IapReceipt receipt) success,
required T Function() cancelled,
required T Function(IapFailure failure) failure,
}) {
final receipt = _receipt;
if (_success && receipt != null) {
return success(receipt);
}
if (_failure?.isCancelled ?? false) {
return cancelled();
}
return failure(_failure ??
const IapFailure(code: 'unknown', message: 'Unknown error'));
}