whenOrNull<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,
A variant of when that fallback to returning null
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case _:
return null;
}
Implementation
@optionalTypeArgs TResult? whenOrNull<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,) {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 null;
}
}