maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  1. TResult messageView(
    1. ULogReadMessageMessageMessageView value
    )?,
  2. TResult deletedMessageView(
    1. ULogReadMessageMessageDeletedMessageView value
    )?,
  3. TResult systemMessageView(
    1. ULogReadMessageMessageSystemMessageView value
    )?,
  4. TResult unknown(
    1. ULogReadMessageMessageUnknown value
    )?,
  5. 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( ULogReadMessageMessageMessageView value)?  messageView,TResult Function( ULogReadMessageMessageDeletedMessageView value)?  deletedMessageView,TResult Function( ULogReadMessageMessageSystemMessageView value)?  systemMessageView,TResult Function( ULogReadMessageMessageUnknown value)?  unknown,required TResult orElse(),}){
final _that = this;
switch (_that) {
case ULogReadMessageMessageMessageView() when messageView != null:
return messageView(_that);case ULogReadMessageMessageDeletedMessageView() when deletedMessageView != null:
return deletedMessageView(_that);case ULogReadMessageMessageSystemMessageView() when systemMessageView != null:
return systemMessageView(_that);case ULogReadMessageMessageUnknown() when unknown != null:
return unknown(_that);case _:
  return orElse();

}
}