maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult chat(
    1. MessageSenderChat value
    )?,
  2. TResult user(
    1. MessageSenderUser value
    )?,
  3. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(MessageSenderChat value)? chat,
  TResult Function(MessageSenderUser value)? user,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case MessageSenderChat.constructor:
      if (chat != null) {
        return chat.call(this as MessageSenderChat);
      }
      break;
    case MessageSenderUser.constructor:
      if (user != null) {
        return user.call(this as MessageSenderUser);
      }
      break;
  }
  return orElse.call();
}