maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  1. TResult embedImagesView(
    1. UEmbedRecordViewRecordEmbedsEmbedImagesView value
    )?,
  2. TResult embedVideoView(
    1. UEmbedRecordViewRecordEmbedsEmbedVideoView value
    )?,
  3. TResult embedExternalView(
    1. UEmbedRecordViewRecordEmbedsEmbedExternalView value
    )?,
  4. TResult embedRecordView(
    1. UEmbedRecordViewRecordEmbedsEmbedRecordView value
    )?,
  5. TResult embedRecordWithMediaView(
    1. UEmbedRecordViewRecordEmbedsEmbedRecordWithMediaView value
    )?,
  6. TResult unknown(
    1. UEmbedRecordViewRecordEmbedsUnknown value
    )?,
  7. required TResult orElse(),
})

A variant of map that fallback to returning orElse.

It is equivalent to doing:

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

Implementation

@optionalTypeArgs TResult maybeMap<TResult extends Object?>({TResult Function( UEmbedRecordViewRecordEmbedsEmbedImagesView value)?  embedImagesView,TResult Function( UEmbedRecordViewRecordEmbedsEmbedVideoView value)?  embedVideoView,TResult Function( UEmbedRecordViewRecordEmbedsEmbedExternalView value)?  embedExternalView,TResult Function( UEmbedRecordViewRecordEmbedsEmbedRecordView value)?  embedRecordView,TResult Function( UEmbedRecordViewRecordEmbedsEmbedRecordWithMediaView value)?  embedRecordWithMediaView,TResult Function( UEmbedRecordViewRecordEmbedsUnknown value)?  unknown,required TResult orElse(),}){
final _that = this;
switch (_that) {
case UEmbedRecordViewRecordEmbedsEmbedImagesView() when embedImagesView != null:
return embedImagesView(_that);case UEmbedRecordViewRecordEmbedsEmbedVideoView() when embedVideoView != null:
return embedVideoView(_that);case UEmbedRecordViewRecordEmbedsEmbedExternalView() when embedExternalView != null:
return embedExternalView(_that);case UEmbedRecordViewRecordEmbedsEmbedRecordView() when embedRecordView != null:
return embedRecordView(_that);case UEmbedRecordViewRecordEmbedsEmbedRecordWithMediaView() when embedRecordWithMediaView != null:
return embedRecordWithMediaView(_that);case UEmbedRecordViewRecordEmbedsUnknown() when unknown != null:
return unknown(_that);case _:
  return orElse();

}
}