mapOrNull<TResult extends Object?> method

  1. @optionalTypeArgs
TResult? mapOrNull<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
    )?,
})

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( 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,}){
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 null;

}
}