map<TResult extends Object?> method

  1. @optionalTypeArgs
TResult map<TResult extends Object?>({
  1. required TResult messageView(
    1. ULogReadMessageMessageMessageView value
    ),
  2. required TResult deletedMessageView(
    1. ULogReadMessageMessageDeletedMessageView value
    ),
  3. required TResult systemMessageView(
    1. ULogReadMessageMessageSystemMessageView value
    ),
  4. required TResult unknown(
    1. ULogReadMessageMessageUnknown value
    ),
})

A switch-like method, using callbacks.

Callbacks receives the raw object, upcasted. It is equivalent to doing:

switch (sealedClass) {
  case final Subclass value:
    return ...;
  case final Subclass2 value:
    return ...;
}

Implementation

@optionalTypeArgs TResult map<TResult extends Object?>({required TResult Function( ULogReadMessageMessageMessageView value)  messageView,required TResult Function( ULogReadMessageMessageDeletedMessageView value)  deletedMessageView,required TResult Function( ULogReadMessageMessageSystemMessageView value)  systemMessageView,required TResult Function( ULogReadMessageMessageUnknown value)  unknown,}){
final _that = this;
switch (_that) {
case ULogReadMessageMessageMessageView():
return messageView(_that);case ULogReadMessageMessageDeletedMessageView():
return deletedMessageView(_that);case ULogReadMessageMessageSystemMessageView():
return systemMessageView(_that);case ULogReadMessageMessageUnknown():
return unknown(_that);}
}