maybeWhen<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeWhen<TResult extends Object?>(
  1. TResult $default(
    1. TransactionId id,
    2. TransactionId? prevTransactionId,
    3. DateTime createdAt,
    4. bool aborted,
    5. int? exitCode,
    6. int? resultCode,
    7. AccountStatus origStatus,
    8. AccountStatus endStatus,
    9. BigInt totalFees,
    10. Message inMessage,
    11. List<Message> outMessages,
    12. String? boc,
    )?, {
  2. required TResult orElse(),
})

A variant of when that fallback to an orElse callback.

It is equivalent to doing:

switch (sealedClass) {
  case Subclass(:final field):
    return ...;
  case _:
    return orElse();
}

Implementation

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( TransactionId id,  TransactionId? prevTransactionId, @dateSecondsSinceEpochJsonConverter  DateTime createdAt,  bool aborted, @JsonKey(includeIfNull: false)  int? exitCode, @JsonKey(includeIfNull: false)  int? resultCode,  AccountStatus origStatus,  AccountStatus endStatus, @amountJsonConverter  BigInt totalFees,  Message inMessage,  List<Message> outMessages,  String? boc)?  $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _Transaction() when $default != null:
return $default(_that.id,_that.prevTransactionId,_that.createdAt,_that.aborted,_that.exitCode,_that.resultCode,_that.origStatus,_that.endStatus,_that.totalFees,_that.inMessage,_that.outMessages,_that.boc);case _:
  return orElse();

}
}