maybeWhen<TResult extends Object?> method
- @optionalTypeArgs
- TResult $default(
- String? host,
- String? path,
- SplitHTTPMode? mode,
- Map<
String, String> ? headers, - XrayInt32Range? xPaddingBytes,
- bool? xPaddingObfsMode,
- String? xPaddingKey,
- String? xPaddingHeader,
- SplitHTTPPlacement? xPaddingPlacement,
- SplitHTTPPaddingMethod? xPaddingMethod,
- String? uplinkHTTPMethod,
- SplitHTTPPlacement? sessionPlacement,
- String? sessionKey,
- SplitHTTPPlacement? seqPlacement,
- String? seqKey,
- SplitHTTPPlacement? uplinkDataPlacement,
- String? uplinkDataKey,
- XrayInt32Range? uplinkChunkSize,
- bool? noGRPCHeader,
- bool? noSSEHeader,
- XrayInt32Range? scMaxEachPostBytes,
- XrayInt32Range? scMinPostsIntervalMs,
- int? scMaxBufferedPosts,
- XrayInt32Range? scStreamUpServerSecs,
- int? serverMaxHeaderBytes,
- XmuxConfig? xmux,
- StreamConfig? downloadSettings,
- Map<
String, dynamic> ? extra,
- required TResult orElse(),
A variant of when that fallback to an orElse callback.
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case _:
return orElse();
}
Implementation
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>(
TResult Function(
String? host,
String? path,
SplitHTTPMode? mode,
Map<String, String>? headers,
XrayInt32Range? xPaddingBytes,
bool? xPaddingObfsMode,
String? xPaddingKey,
String? xPaddingHeader,
SplitHTTPPlacement? xPaddingPlacement,
SplitHTTPPaddingMethod? xPaddingMethod,
String? uplinkHTTPMethod,
SplitHTTPPlacement? sessionPlacement,
String? sessionKey,
SplitHTTPPlacement? seqPlacement,
String? seqKey,
SplitHTTPPlacement? uplinkDataPlacement,
String? uplinkDataKey,
XrayInt32Range? uplinkChunkSize,
bool? noGRPCHeader,
bool? noSSEHeader,
XrayInt32Range? scMaxEachPostBytes,
XrayInt32Range? scMinPostsIntervalMs,
int? scMaxBufferedPosts,
XrayInt32Range? scStreamUpServerSecs,
int? serverMaxHeaderBytes,
XmuxConfig? xmux,
StreamConfig? downloadSettings,
Map<String, dynamic>? extra)?
$default, {
required TResult orElse(),
}) {
final _that = this;
switch (_that) {
case _SplitHTTPConfig() when $default != null:
return $default(
_that.host,
_that.path,
_that.mode,
_that.headers,
_that.xPaddingBytes,
_that.xPaddingObfsMode,
_that.xPaddingKey,
_that.xPaddingHeader,
_that.xPaddingPlacement,
_that.xPaddingMethod,
_that.uplinkHTTPMethod,
_that.sessionPlacement,
_that.sessionKey,
_that.seqPlacement,
_that.seqKey,
_that.uplinkDataPlacement,
_that.uplinkDataKey,
_that.uplinkChunkSize,
_that.noGRPCHeader,
_that.noSSEHeader,
_that.scMaxEachPostBytes,
_that.scMinPostsIntervalMs,
_that.scMaxBufferedPosts,
_that.scStreamUpServerSecs,
_that.serverMaxHeaderBytes,
_that.xmux,
_that.downloadSettings,
_that.extra);
case _:
return orElse();
}
}