maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult basicGroup(
    1. InviteLinkChatTypeBasicGroup value
    )?,
  2. TResult channel(
    1. InviteLinkChatTypeChannel value
    )?,
  3. TResult supergroup(
    1. InviteLinkChatTypeSupergroup value
    )?,
  4. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(InviteLinkChatTypeBasicGroup value)? basicGroup,
  TResult Function(InviteLinkChatTypeChannel value)? channel,
  TResult Function(InviteLinkChatTypeSupergroup value)? supergroup,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case InviteLinkChatTypeBasicGroup.constructor:
      if (basicGroup != null) {
        return basicGroup.call(this as InviteLinkChatTypeBasicGroup);
      }
      break;
    case InviteLinkChatTypeChannel.constructor:
      if (channel != null) {
        return channel.call(this as InviteLinkChatTypeChannel);
      }
      break;
    case InviteLinkChatTypeSupergroup.constructor:
      if (supergroup != null) {
        return supergroup.call(this as InviteLinkChatTypeSupergroup);
      }
      break;
  }
  return orElse.call();
}