maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult bot(
    1. UserTypeBot value
    )?,
  2. TResult deleted(
    1. UserTypeDeleted value
    )?,
  3. TResult regular(
    1. UserTypeRegular value
    )?,
  4. TResult unknown(
    1. UserTypeUnknown value
    )?,
  5. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(UserTypeBot value)? bot,
  TResult Function(UserTypeDeleted value)? deleted,
  TResult Function(UserTypeRegular value)? regular,
  TResult Function(UserTypeUnknown value)? unknown,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case UserTypeBot.constructor:
      if (bot != null) {
        return bot.call(this as UserTypeBot);
      }
      break;
    case UserTypeDeleted.constructor:
      if (deleted != null) {
        return deleted.call(this as UserTypeDeleted);
      }
      break;
    case UserTypeRegular.constructor:
      if (regular != null) {
        return regular.call(this as UserTypeRegular);
      }
      break;
    case UserTypeUnknown.constructor:
      if (unknown != null) {
        return unknown.call(this as UserTypeUnknown);
      }
      break;
  }
  return orElse.call();
}