map<TResult extends Object?> method

  1. @optionalTypeArgs
TResult map<TResult extends Object?>({
  1. required TResult threadItemPost(
    1. UThreadItemValueThreadItemPost value
    ),
  2. required TResult threadItemNoUnauthenticated(
    1. UThreadItemValueThreadItemNoUnauthenticated value
    ),
  3. required TResult threadItemNotFound(
    1. UThreadItemValueThreadItemNotFound value
    ),
  4. required TResult threadItemBlocked(
    1. UThreadItemValueThreadItemBlocked value
    ),
  5. required TResult unknown(
    1. UThreadItemValueUnknown 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( UThreadItemValueThreadItemPost value)  threadItemPost,required TResult Function( UThreadItemValueThreadItemNoUnauthenticated value)  threadItemNoUnauthenticated,required TResult Function( UThreadItemValueThreadItemNotFound value)  threadItemNotFound,required TResult Function( UThreadItemValueThreadItemBlocked value)  threadItemBlocked,required TResult Function( UThreadItemValueUnknown value)  unknown,}){
final _that = this;
switch (_that) {
case UThreadItemValueThreadItemPost():
return threadItemPost(_that);case UThreadItemValueThreadItemNoUnauthenticated():
return threadItemNoUnauthenticated(_that);case UThreadItemValueThreadItemNotFound():
return threadItemNotFound(_that);case UThreadItemValueThreadItemBlocked():
return threadItemBlocked(_that);case UThreadItemValueUnknown():
return unknown(_that);}
}