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?>({required TResult Function( String field0) connection,required TResult Function( String field0) endpoint,required TResult Function( String field0) stream,required TResult Function( String field0) tls,required TResult Function( String field0) config,required TResult Function( String field0) network,required TResult Function( String field0) write,}) {final _that = this;
switch (_that) {
case QuicError_Connection():
return connection(_that.field0);case QuicError_Endpoint():
return endpoint(_that.field0);case QuicError_Stream():
return stream(_that.field0);case QuicError_Tls():
return tls(_that.field0);case QuicError_Config():
return config(_that.field0);case QuicError_Network():
return network(_that.field0);case QuicError_Write():
return write(_that.field0);}
}