map<TResult extends Object?> method

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

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(MessageSchedulingStateSendAtDate value)
  sendAtDate,
  required TResult Function(MessageSchedulingStateSendWhenOnline value)
  sendWhenOnline,
  required TResult Function(
    MessageSchedulingStateSendWhenVideoProcessed value,
  )
  sendWhenVideoProcessed,
}) {
  switch (getConstructor()) {
    case MessageSchedulingStateSendAtDate.constructor:
      return sendAtDate.call(this as MessageSchedulingStateSendAtDate);
    case MessageSchedulingStateSendWhenOnline.constructor:
      return sendWhenOnline.call(
        this as MessageSchedulingStateSendWhenOnline,
      );
    case MessageSchedulingStateSendWhenVideoProcessed.constructor:
      return sendWhenVideoProcessed.call(
        this as MessageSchedulingStateSendWhenVideoProcessed,
      );
  }
  throw StateError('not handled type Generator');
}