mapOrNull<TResult extends Object?> method

  1. @optionalTypeArgs
TResult? mapOrNull<TResult extends Object?>({
  1. TResult? mentionRule(
    1. UFeedThreadgateAllowMentionRule value
    )?,
  2. TResult? followerRule(
    1. UFeedThreadgateAllowFollowerRule value
    )?,
  3. TResult? followingRule(
    1. UFeedThreadgateAllowFollowingRule value
    )?,
  4. TResult? listRule(
    1. UFeedThreadgateAllowListRule value
    )?,
  5. TResult? unknown(
    1. UFeedThreadgateAllowUnknown value
    )?,
})

A variant of map that fallback to returning null.

It is equivalent to doing:

switch (sealedClass) {
  case final Subclass value:
    return ...;
  case _:
    return null;
}

Implementation

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>({TResult? Function( UFeedThreadgateAllowMentionRule value)?  mentionRule,TResult? Function( UFeedThreadgateAllowFollowerRule value)?  followerRule,TResult? Function( UFeedThreadgateAllowFollowingRule value)?  followingRule,TResult? Function( UFeedThreadgateAllowListRule value)?  listRule,TResult? Function( UFeedThreadgateAllowUnknown value)?  unknown,}){
final _that = this;
switch (_that) {
case UFeedThreadgateAllowMentionRule() when mentionRule != null:
return mentionRule(_that);case UFeedThreadgateAllowFollowerRule() when followerRule != null:
return followerRule(_that);case UFeedThreadgateAllowFollowingRule() when followingRule != null:
return followingRule(_that);case UFeedThreadgateAllowListRule() when listRule != null:
return listRule(_that);case UFeedThreadgateAllowUnknown() when unknown != null:
return unknown(_that);case _:
  return null;

}
}