mapOrNull<TResult extends Object?> method

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

A variant of map that fallback to returning null.

It is equivalent to doing:

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

Implementation

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>({TResult? Function( UEmbedRecordViewRecordEmbedsEmbedImagesView value)?  embedImagesView,TResult? Function( UEmbedRecordViewRecordEmbedsEmbedVideoView value)?  embedVideoView,TResult? Function( UEmbedRecordViewRecordEmbedsEmbedGalleryView value)?  embedGalleryView,TResult? Function( UEmbedRecordViewRecordEmbedsEmbedExternalView value)?  embedExternalView,TResult? Function( UEmbedRecordViewRecordEmbedsEmbedRecordView value)?  embedRecordView,TResult? Function( UEmbedRecordViewRecordEmbedsEmbedRecordWithMediaView value)?  embedRecordWithMediaView,TResult? Function( UEmbedRecordViewRecordEmbedsUnknown value)?  unknown,}){
final _that = this;
switch (_that) {
case UEmbedRecordViewRecordEmbedsEmbedImagesView() when embedImagesView != null:
return embedImagesView(_that);case UEmbedRecordViewRecordEmbedsEmbedVideoView() when embedVideoView != null:
return embedVideoView(_that);case UEmbedRecordViewRecordEmbedsEmbedGalleryView() when embedGalleryView != null:
return embedGalleryView(_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 null;

}
}