whenOrNull<TResult extends Object?> method
TResult?
whenOrNull<TResult extends Object?>({
- TResult? item(
- BarcodeData barcodeData,
- DateTime createdAt,
- double weight,
- String itemVersion,
- UnitTileData unitTileData,
- List<
UnitServer> servers, - String? parentSSCCCodeId,
- SpecialProcess? specialProcess,
- 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,
- TResult? ph(
- BarcodeData barcodeData,
- DateTime createdAt,
- UnitTileData unitTileData,
- List<
UnitServer> servers, - List<
String> assignedSSCCs, - HuDetails? huDetails,
A variant of when that fallback to returning null
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case _:
return null;
}
Implementation
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>({TResult? Function( BarcodeData barcodeData, DateTime createdAt, double weight, String itemVersion, UnitTileData unitTileData, List<UnitServer> servers, String? parentSSCCCodeId, SpecialProcess? specialProcess)? item,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,TResult? Function( BarcodeData barcodeData, DateTime createdAt, UnitTileData unitTileData, List<UnitServer> servers, List<String> assignedSSCCs, HuDetails? huDetails)? ph,}) {final _that = this;
switch (_that) {
case UnitItem() when item != null:
return item(_that.barcodeData,_that.createdAt,_that.weight,_that.itemVersion,_that.unitTileData,_that.servers,_that.parentSSCCCodeId,_that.specialProcess);case UnitSSCC() when ssCC != null:
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() when ph != null:
return ph(_that.barcodeData,_that.createdAt,_that.unitTileData,_that.servers,_that.assignedSSCCs,_that.huDetails);case _:
return null;
}
}