maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult hasUsername(
    1. PublicChatTypeHasUsername value
    )?,
  2. TResult isLocationBased(
    1. PublicChatTypeIsLocationBased value
    )?,
  3. required TResult orElse(),
})

Implementation

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