map<TResult extends Object?> method

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