map<TResult extends Object?> method

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