map<TResult extends Object?> method

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