maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult chatInvite(
    1. TMeUrlTypeChatInvite value
    )?,
  2. TResult stickerSet(
    1. TMeUrlTypeStickerSet value
    )?,
  3. TResult supergroup(
    1. TMeUrlTypeSupergroup value
    )?,
  4. TResult user(
    1. TMeUrlTypeUser value
    )?,
  5. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(TMeUrlTypeChatInvite value)? chatInvite,
  TResult Function(TMeUrlTypeStickerSet value)? stickerSet,
  TResult Function(TMeUrlTypeSupergroup value)? supergroup,
  TResult Function(TMeUrlTypeUser value)? user,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case TMeUrlTypeChatInvite.constructor:
      if (chatInvite != null) {
        return chatInvite.call(this as TMeUrlTypeChatInvite);
      }
      break;
    case TMeUrlTypeStickerSet.constructor:
      if (stickerSet != null) {
        return stickerSet.call(this as TMeUrlTypeStickerSet);
      }
      break;
    case TMeUrlTypeSupergroup.constructor:
      if (supergroup != null) {
        return supergroup.call(this as TMeUrlTypeSupergroup);
      }
      break;
    case TMeUrlTypeUser.constructor:
      if (user != null) {
        return user.call(this as TMeUrlTypeUser);
      }
      break;
  }
  return orElse.call();
}