maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult full(
    1. GroupCallVideoQualityFull value
    )?,
  2. TResult medium(
    1. GroupCallVideoQualityMedium value
    )?,
  3. TResult thumbnail(
    1. GroupCallVideoQualityThumbnail value
    )?,
  4. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(GroupCallVideoQualityFull value)? full,
  TResult Function(GroupCallVideoQualityMedium value)? medium,
  TResult Function(GroupCallVideoQualityThumbnail value)? thumbnail,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case GroupCallVideoQualityFull.constructor:
      if (full != null) {
        return full.call(this as GroupCallVideoQualityFull);
      }
      break;
    case GroupCallVideoQualityMedium.constructor:
      if (medium != null) {
        return medium.call(this as GroupCallVideoQualityMedium);
      }
      break;
    case GroupCallVideoQualityThumbnail.constructor:
      if (thumbnail != null) {
        return thumbnail.call(this as GroupCallVideoQualityThumbnail);
      }
      break;
  }
  return orElse.call();
}