maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  1. TResult embedImages(
    1. UFeedPostEmbedEmbedImages value
    )?,
  2. TResult embedVideo(
    1. UFeedPostEmbedEmbedVideo value
    )?,
  3. TResult embedExternal(
    1. UFeedPostEmbedEmbedExternal value
    )?,
  4. TResult embedRecord(
    1. UFeedPostEmbedEmbedRecord value
    )?,
  5. TResult embedRecordWithMedia(
    1. UFeedPostEmbedEmbedRecordWithMedia value
    )?,
  6. TResult unknown(
    1. UFeedPostEmbedUnknown 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( UFeedPostEmbedEmbedImages value)?  embedImages,TResult Function( UFeedPostEmbedEmbedVideo value)?  embedVideo,TResult Function( UFeedPostEmbedEmbedExternal value)?  embedExternal,TResult Function( UFeedPostEmbedEmbedRecord value)?  embedRecord,TResult Function( UFeedPostEmbedEmbedRecordWithMedia value)?  embedRecordWithMedia,TResult Function( UFeedPostEmbedUnknown value)?  unknown,required TResult orElse(),}){
final _that = this;
switch (_that) {
case UFeedPostEmbedEmbedImages() when embedImages != null:
return embedImages(_that);case UFeedPostEmbedEmbedVideo() when embedVideo != null:
return embedVideo(_that);case UFeedPostEmbedEmbedExternal() when embedExternal != null:
return embedExternal(_that);case UFeedPostEmbedEmbedRecord() when embedRecord != null:
return embedRecord(_that);case UFeedPostEmbedEmbedRecordWithMedia() when embedRecordWithMedia != null:
return embedRecordWithMedia(_that);case UFeedPostEmbedUnknown() when unknown != null:
return unknown(_that);case _:
  return orElse();

}
}