when<TResult extends Object?> method
TResult
when<TResult extends Object?>({
- required TResult item(
- BarcodeData barcodeData,
- DateTime createdAt,
- double weight,
- String itemVersion,
- UnitTileData unitTileData,
- List<
UnitServer> servers, - String? parentSSCCCodeId,
- SpecialProcess? specialProcess,
- required TResult ssCC(
- BarcodeData barcodeData,
- DateTime createdAt,
- String unitVersion,
- HuDetails? huDetails,
- PackingInstruction? packingInstruction,
- UnitTileData unitTileData,
- UnitStatusData statusData,
- List<
UnitServer> servers, - List<
UnitItem> unitItems, - List<
UnitSSCC> subHUs, - bool isSubHu,
- List<
MaterialDescription> materialDescriptions,
- required TResult ph(
- BarcodeData barcodeData,
- DateTime createdAt,
- UnitTileData unitTileData,
- List<
UnitServer> servers, - List<
String> assignedSSCCs, - HuDetails? huDetails,
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( BarcodeData barcodeData, DateTime createdAt, double weight, String itemVersion, UnitTileData unitTileData, List<UnitServer> servers, String? parentSSCCCodeId, SpecialProcess? specialProcess) item,required TResult Function( BarcodeData barcodeData, DateTime createdAt, String unitVersion, HuDetails? huDetails, PackingInstruction? packingInstruction, UnitTileData unitTileData, UnitStatusData statusData, List<UnitServer> servers, List<UnitItem> unitItems, List<UnitSSCC> subHUs, bool isSubHu, List<MaterialDescription> materialDescriptions) ssCC,required TResult Function( BarcodeData barcodeData, DateTime createdAt, UnitTileData unitTileData, List<UnitServer> servers, List<String> assignedSSCCs, HuDetails? huDetails) ph,}) {final _that = this;
switch (_that) {
case UnitItem():
return item(_that.barcodeData,_that.createdAt,_that.weight,_that.itemVersion,_that.unitTileData,_that.servers,_that.parentSSCCCodeId,_that.specialProcess);case UnitSSCC():
return ssCC(_that.barcodeData,_that.createdAt,_that.unitVersion,_that.huDetails,_that.packingInstruction,_that.unitTileData,_that.statusData,_that.servers,_that.unitItems,_that.subHUs,_that.isSubHu,_that.materialDescriptions);case UnitPH():
return ph(_that.barcodeData,_that.createdAt,_that.unitTileData,_that.servers,_that.assignedSSCCs,_that.huDetails);}
}