when<TResult extends Object?> method
TResult
when<TResult extends Object?>({})
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( double value) bytes,required TResult Function( double value) kb,required TResult Function( double value) mb,required TResult Function( double value) gb,required TResult Function( double value) tb,}) {final _that = this;
switch (_that) {
case BytesModel():
return bytes(_that.value);case KbModel():
return kb(_that.value);case MbModel():
return mb(_that.value);case GbModel():
return gb(_that.value);case TbModel():
return tb(_that.value);}
}