when<TResult extends Object?> method
- @optionalTypeArgs
A switch-like method, using callbacks.
As opposed to map, this offers destructuring.
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case Subclass2(:final field2):
return ...;
}
Implementation
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( int? mtu, int? tti, @JsonKey(name: 'uplinkCapacity') int? upCap, @JsonKey(name: 'downlinkCapacity') int? downCap, int? cwndMultiplier, int? maxSendingWindow, Map<String, dynamic>? header, String? seed) $default,) {final _that = this;
switch (_that) {
case _KCPConfig():
return $default(_that.mtu,_that.tti,_that.upCap,_that.downCap,_that.cwndMultiplier,_that.maxSendingWindow,_that.header,_that.seed);case _:
throw StateError('Unexpected subclass');
}
}