maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<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
    )?,
  6. required TResult orElse(),
})

A variant of map that fallback to returning orElse.

It is equivalent to doing:

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

Implementation

@optionalTypeArgs TResult maybeMap<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,required TResult orElse(),}){
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 orElse();

}
}