maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult always(
    1. BusinessAwayMessageScheduleAlways value
    )?,
  2. TResult custom(
    1. BusinessAwayMessageScheduleCustom value
    )?,
  3. TResult outsideOfOpeningHours(
    1. BusinessAwayMessageScheduleOutsideOfOpeningHours value
    )?,
  4. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(BusinessAwayMessageScheduleAlways value)? always,
  TResult Function(BusinessAwayMessageScheduleCustom value)? custom,
  TResult Function(BusinessAwayMessageScheduleOutsideOfOpeningHours value)?
  outsideOfOpeningHours,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case BusinessAwayMessageScheduleAlways.constructor:
      if (always != null) {
        return always.call(this as BusinessAwayMessageScheduleAlways);
      }
      break;
    case BusinessAwayMessageScheduleCustom.constructor:
      if (custom != null) {
        return custom.call(this as BusinessAwayMessageScheduleCustom);
      }
      break;
    case BusinessAwayMessageScheduleOutsideOfOpeningHours.constructor:
      if (outsideOfOpeningHours != null) {
        return outsideOfOpeningHours.call(
          this as BusinessAwayMessageScheduleOutsideOfOpeningHours,
        );
      }
      break;
  }
  return orElse.call();
}