map<TResult extends Object?> method

  1. @optionalTypeArgs
TResult map<TResult extends Object?>({
  1. required TResult mentionRule(
    1. UFeedThreadgateAllowMentionRule value
    ),
  2. required TResult followerRule(
    1. UFeedThreadgateAllowFollowerRule value
    ),
  3. required TResult followingRule(
    1. UFeedThreadgateAllowFollowingRule value
    ),
  4. required TResult listRule(
    1. UFeedThreadgateAllowListRule value
    ),
  5. required TResult unknown(
    1. UFeedThreadgateAllowUnknown 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( UFeedThreadgateAllowMentionRule value)  mentionRule,required TResult Function( UFeedThreadgateAllowFollowerRule value)  followerRule,required TResult Function( UFeedThreadgateAllowFollowingRule value)  followingRule,required TResult Function( UFeedThreadgateAllowListRule value)  listRule,required TResult Function( UFeedThreadgateAllowUnknown value)  unknown,}){
final _that = this;
switch (_that) {
case UFeedThreadgateAllowMentionRule():
return mentionRule(_that);case UFeedThreadgateAllowFollowerRule():
return followerRule(_that);case UFeedThreadgateAllowFollowingRule():
return followingRule(_that);case UFeedThreadgateAllowListRule():
return listRule(_that);case UFeedThreadgateAllowUnknown():
return unknown(_that);}
}