when<TResult extends Object?> method
TResult
when<TResult extends Object?>(
- TResult $default(
- String fontFamily,
- TextStyle title400,
- TextStyle title500,
- TextStyle title600,
- TextStyle large400,
- TextStyle large500,
- TextStyle large600,
- TextStyle paragraph400,
- TextStyle paragraph500,
- TextStyle paragraph600,
- TextStyle small400,
- TextStyle small500,
- TextStyle small600,
- TextStyle tiny400,
- TextStyle tiny500,
- TextStyle tiny600,
- TextStyle micro600,
- TextStyle micro700,
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( String fontFamily, TextStyle title400, TextStyle title500, TextStyle title600, TextStyle large400, TextStyle large500, TextStyle large600, TextStyle paragraph400, TextStyle paragraph500, TextStyle paragraph600, TextStyle small400, TextStyle small500, TextStyle small600, TextStyle tiny400, TextStyle tiny500, TextStyle tiny600, TextStyle micro600, TextStyle micro700) $default,) {final _that = this;
switch (_that) {
case _ReownAppKitModalTextStyles():
return $default(_that.fontFamily,_that.title400,_that.title500,_that.title600,_that.large400,_that.large500,_that.large600,_that.paragraph400,_that.paragraph500,_that.paragraph600,_that.small400,_that.small500,_that.small600,_that.tiny400,_that.tiny500,_that.tiny600,_that.micro600,_that.micro700);}
}