map<TResult extends Object?> method

  1. @optionalTypeArgs
TResult map<TResult extends Object?>({
  1. required TResult postView(
    1. UReplyRefRootPostView value
    ),
  2. required TResult notFoundPost(
    1. UReplyRefRootNotFoundPost value
    ),
  3. required TResult blockedPost(
    1. UReplyRefRootBlockedPost value
    ),
  4. required TResult unknown(
    1. UReplyRefRootUnknown 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( UReplyRefRootPostView value)  postView,required TResult Function( UReplyRefRootNotFoundPost value)  notFoundPost,required TResult Function( UReplyRefRootBlockedPost value)  blockedPost,required TResult Function( UReplyRefRootUnknown value)  unknown,}){
final _that = this;
switch (_that) {
case UReplyRefRootPostView():
return postView(_that);case UReplyRefRootNotFoundPost():
return notFoundPost(_that);case UReplyRefRootBlockedPost():
return blockedPost(_that);case UReplyRefRootUnknown():
return unknown(_that);}
}