maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult distortedSpeech(
    1. CallProblemDistortedSpeech value
    )?,
  2. TResult distortedVideo(
    1. CallProblemDistortedVideo value
    )?,
  3. TResult dropped(
    1. CallProblemDropped value
    )?,
  4. TResult echo(
    1. CallProblemEcho value
    )?,
  5. TResult interruptions(
    1. CallProblemInterruptions value
    )?,
  6. TResult noise(
    1. CallProblemNoise value
    )?,
  7. TResult pixelatedVideo(
    1. CallProblemPixelatedVideo value
    )?,
  8. TResult silentLocal(
    1. CallProblemSilentLocal value
    )?,
  9. TResult silentRemote(
    1. CallProblemSilentRemote value
    )?,
  10. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(CallProblemDistortedSpeech value)? distortedSpeech,
  TResult Function(CallProblemDistortedVideo value)? distortedVideo,
  TResult Function(CallProblemDropped value)? dropped,
  TResult Function(CallProblemEcho value)? echo,
  TResult Function(CallProblemInterruptions value)? interruptions,
  TResult Function(CallProblemNoise value)? noise,
  TResult Function(CallProblemPixelatedVideo value)? pixelatedVideo,
  TResult Function(CallProblemSilentLocal value)? silentLocal,
  TResult Function(CallProblemSilentRemote value)? silentRemote,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case CallProblemDistortedSpeech.constructor:
      if (distortedSpeech != null) {
        return distortedSpeech.call(this as CallProblemDistortedSpeech);
      }
      break;
    case CallProblemDistortedVideo.constructor:
      if (distortedVideo != null) {
        return distortedVideo.call(this as CallProblemDistortedVideo);
      }
      break;
    case CallProblemDropped.constructor:
      if (dropped != null) {
        return dropped.call(this as CallProblemDropped);
      }
      break;
    case CallProblemEcho.constructor:
      if (echo != null) {
        return echo.call(this as CallProblemEcho);
      }
      break;
    case CallProblemInterruptions.constructor:
      if (interruptions != null) {
        return interruptions.call(this as CallProblemInterruptions);
      }
      break;
    case CallProblemNoise.constructor:
      if (noise != null) {
        return noise.call(this as CallProblemNoise);
      }
      break;
    case CallProblemPixelatedVideo.constructor:
      if (pixelatedVideo != null) {
        return pixelatedVideo.call(this as CallProblemPixelatedVideo);
      }
      break;
    case CallProblemSilentLocal.constructor:
      if (silentLocal != null) {
        return silentLocal.call(this as CallProblemSilentLocal);
      }
      break;
    case CallProblemSilentRemote.constructor:
      if (silentRemote != null) {
        return silentRemote.call(this as CallProblemSilentRemote);
      }
      break;
  }
  return orElse.call();
}