maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  1. TResult embedImagesView(
    1. UPostViewEmbedEmbedImagesView value
    )?,
  2. TResult embedVideoView(
    1. UPostViewEmbedEmbedVideoView value
    )?,
  3. TResult embedExternalView(
    1. UPostViewEmbedEmbedExternalView value
    )?,
  4. TResult embedRecordView(
    1. UPostViewEmbedEmbedRecordView value
    )?,
  5. TResult embedRecordWithMediaView(
    1. UPostViewEmbedEmbedRecordWithMediaView value
    )?,
  6. TResult unknown(
    1. UPostViewEmbedUnknown 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( UPostViewEmbedEmbedImagesView value)?  embedImagesView,TResult Function( UPostViewEmbedEmbedVideoView value)?  embedVideoView,TResult Function( UPostViewEmbedEmbedExternalView value)?  embedExternalView,TResult Function( UPostViewEmbedEmbedRecordView value)?  embedRecordView,TResult Function( UPostViewEmbedEmbedRecordWithMediaView value)?  embedRecordWithMediaView,TResult Function( UPostViewEmbedUnknown value)?  unknown,required TResult orElse(),}){
final _that = this;
switch (_that) {
case UPostViewEmbedEmbedImagesView() when embedImagesView != null:
return embedImagesView(_that);case UPostViewEmbedEmbedVideoView() when embedVideoView != null:
return embedVideoView(_that);case UPostViewEmbedEmbedExternalView() when embedExternalView != null:
return embedExternalView(_that);case UPostViewEmbedEmbedRecordView() when embedRecordView != null:
return embedRecordView(_that);case UPostViewEmbedEmbedRecordWithMediaView() when embedRecordWithMediaView != null:
return embedRecordWithMediaView(_that);case UPostViewEmbedUnknown() when unknown != null:
return unknown(_that);case _:
  return orElse();

}
}