maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult sendAtDate(
    1. MessageSchedulingStateSendAtDate value
    )?,
  2. TResult sendWhenOnline(
    1. MessageSchedulingStateSendWhenOnline value
    )?,
  3. TResult sendWhenVideoProcessed(
    1. MessageSchedulingStateSendWhenVideoProcessed value
    )?,
  4. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(MessageSchedulingStateSendAtDate value)? sendAtDate,
  TResult Function(MessageSchedulingStateSendWhenOnline value)?
  sendWhenOnline,
  TResult Function(MessageSchedulingStateSendWhenVideoProcessed value)?
  sendWhenVideoProcessed,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case MessageSchedulingStateSendAtDate.constructor:
      if (sendAtDate != null) {
        return sendAtDate.call(this as MessageSchedulingStateSendAtDate);
      }
      break;
    case MessageSchedulingStateSendWhenOnline.constructor:
      if (sendWhenOnline != null) {
        return sendWhenOnline.call(
          this as MessageSchedulingStateSendWhenOnline,
        );
      }
      break;
    case MessageSchedulingStateSendWhenVideoProcessed.constructor:
      if (sendWhenVideoProcessed != null) {
        return sendWhenVideoProcessed.call(
          this as MessageSchedulingStateSendWhenVideoProcessed,
        );
      }
      break;
  }
  return orElse.call();
}