maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult failed(
    1. MessageSendingStateFailed value
    )?,
  2. TResult pending(
    1. MessageSendingStatePending value
    )?,
  3. required TResult orElse(),
})

Implementation

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