maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  1. TResult cookie(
    1. ParameterCookie value
    )?,
  2. TResult header(
    1. ParameterHeader value
    )?,
  3. TResult query(
    1. ParameterQuery value
    )?,
  4. TResult path(
    1. ParameterPath value
    )?,
  5. 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( ParameterCookie value)?  cookie,TResult Function( ParameterHeader value)?  header,TResult Function( ParameterQuery value)?  query,TResult Function( ParameterPath value)?  path,required TResult orElse(),}){
final _that = this;
switch (_that) {
case ParameterCookie() when cookie != null:
return cookie(_that);case ParameterHeader() when header != null:
return header(_that);case ParameterQuery() when query != null:
return query(_that);case ParameterPath() when path != null:
return path(_that);case _:
  return orElse();

}
}