maybeWhen<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
  1. TResult embedImagesView(
    1. EmbedImagesView data
    )?,
  2. TResult embedVideoView(
    1. EmbedVideoView data
    )?,
  3. TResult embedExternalView(
    1. EmbedExternalView data
    )?,
  4. TResult embedRecordView(
    1. EmbedRecordView data
    )?,
  5. TResult embedRecordWithMediaView(
    1. EmbedRecordWithMediaView data
    )?,
  6. TResult unknown(
    1. Map<String, dynamic> data
    )?,
  7. required TResult orElse(),
})

A variant of when that fallback to an orElse callback.

It is equivalent to doing:

switch (sealedClass) {
  case Subclass(:final field):
    return ...;
  case _:
    return orElse();
}

Implementation

@optionalTypeArgs TResult maybeWhen<TResult extends Object?>({TResult Function( EmbedImagesView data)?  embedImagesView,TResult Function( EmbedVideoView data)?  embedVideoView,TResult Function( EmbedExternalView data)?  embedExternalView,TResult Function( EmbedRecordView data)?  embedRecordView,TResult Function( EmbedRecordWithMediaView data)?  embedRecordWithMediaView,TResult Function( Map<String, dynamic> data)?  unknown,required TResult orElse(),}) {final _that = this;
switch (_that) {
case UEmbedRecordViewRecordEmbedsEmbedImagesView() when embedImagesView != null:
return embedImagesView(_that.data);case UEmbedRecordViewRecordEmbedsEmbedVideoView() when embedVideoView != null:
return embedVideoView(_that.data);case UEmbedRecordViewRecordEmbedsEmbedExternalView() when embedExternalView != null:
return embedExternalView(_that.data);case UEmbedRecordViewRecordEmbedsEmbedRecordView() when embedRecordView != null:
return embedRecordView(_that.data);case UEmbedRecordViewRecordEmbedsEmbedRecordWithMediaView() when embedRecordWithMediaView != null:
return embedRecordWithMediaView(_that.data);case UEmbedRecordViewRecordEmbedsUnknown() when unknown != null:
return unknown(_that.data);case _:
  return orElse();

}
}