maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult closed(
    1. SecretChatStateClosed value
    )?,
  2. TResult pending(
    1. SecretChatStatePending value
    )?,
  3. TResult ready(
    1. SecretChatStateReady value
    )?,
  4. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(SecretChatStateClosed value)? closed,
  TResult Function(SecretChatStatePending value)? pending,
  TResult Function(SecretChatStateReady value)? ready,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case SecretChatStateClosed.constructor:
      if (closed != null) {
        return closed.call(this as SecretChatStateClosed);
      }
      break;
    case SecretChatStatePending.constructor:
      if (pending != null) {
        return pending.call(this as SecretChatStatePending);
      }
      break;
    case SecretChatStateReady.constructor:
      if (ready != null) {
        return ready.call(this as SecretChatStateReady);
      }
      break;
  }
  return orElse.call();
}