maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult main(
    1. GroupCallDataChannelMain value
    )?,
  2. TResult screenSharing(
    1. GroupCallDataChannelScreenSharing value
    )?,
  3. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(GroupCallDataChannelMain value)? main,
  TResult Function(GroupCallDataChannelScreenSharing value)? screenSharing,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case GroupCallDataChannelMain.constructor:
      if (main != null) {
        return main.call(this as GroupCallDataChannelMain);
      }
      break;
    case GroupCallDataChannelScreenSharing.constructor:
      if (screenSharing != null) {
        return screenSharing.call(this as GroupCallDataChannelScreenSharing);
      }
      break;
  }
  return orElse.call();
}