maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult ok(
    1. CanTransferOwnershipResultOk value
    )?,
  2. TResult passwordNeeded(
    1. CanTransferOwnershipResultPasswordNeeded value
    )?,
  3. TResult passwordTooFresh(
    1. CanTransferOwnershipResultPasswordTooFresh value
    )?,
  4. TResult sessionTooFresh(
    1. CanTransferOwnershipResultSessionTooFresh value
    )?,
  5. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(CanTransferOwnershipResultOk value)? ok,
  TResult Function(CanTransferOwnershipResultPasswordNeeded value)?
  passwordNeeded,
  TResult Function(CanTransferOwnershipResultPasswordTooFresh value)?
  passwordTooFresh,
  TResult Function(CanTransferOwnershipResultSessionTooFresh value)?
  sessionTooFresh,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case CanTransferOwnershipResultOk.constructor:
      if (ok != null) {
        return ok.call(this as CanTransferOwnershipResultOk);
      }
      break;
    case CanTransferOwnershipResultPasswordNeeded.constructor:
      if (passwordNeeded != null) {
        return passwordNeeded.call(
          this as CanTransferOwnershipResultPasswordNeeded,
        );
      }
      break;
    case CanTransferOwnershipResultPasswordTooFresh.constructor:
      if (passwordTooFresh != null) {
        return passwordTooFresh.call(
          this as CanTransferOwnershipResultPasswordTooFresh,
        );
      }
      break;
    case CanTransferOwnershipResultSessionTooFresh.constructor:
      if (sessionTooFresh != null) {
        return sessionTooFresh.call(
          this as CanTransferOwnershipResultSessionTooFresh,
        );
      }
      break;
  }
  return orElse.call();
}