maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  1. TResult unknown(
    1. Unknown value
    )?,
  2. TResult video(
    1. Video value
    )?,
  3. TResult image(
    1. Image value
    )?,
  4. TResult vr(
    1. Model3D value
    )?,
  5. TResult audio(
    1. Audio value
    )?,
  6. TResult html(
    1. Html 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( Unknown value)?  unknown,TResult Function( Video value)?  video,TResult Function( Image value)?  image,TResult Function( Model3D value)?  vr,TResult Function( Audio value)?  audio,TResult Function( Html value)?  html,required TResult orElse(),}){
final _that = this;
switch (_that) {
case Unknown() when unknown != null:
return unknown(_that);case Video() when video != null:
return video(_that);case Image() when image != null:
return image(_that);case Model3D() when vr != null:
return vr(_that);case Audio() when audio != null:
return audio(_that);case Html() when html != null:
return html(_that);case _:
  return orElse();

}
}