maybeWhen<TResult extends Object?> method
TResult
maybeWhen<TResult extends Object?>(
- TResult $default(
- String? id,
- Name? username,
- PhoneNumber? primaryPhoneNumber,
- EmailAddress? primaryEmailAddress,
- List<
PhoneNumber> ? secondaryPhoneNumbers, - List<
EmailAddress> ? secondaryEmailAddresses, - bool? termsAccepted,
- bool? suspended,
- String? photoUploadID,
- List<
Cover?> ? covers, - BioData? userBioData,
- Address? homeAddress,
- Address? workAddress,
- String? referralLink,
- Assistant? assistant,
- required TResult orElse(),
A variant of when
that fallback to an orElse
callback.
It is equivalent to doing:
switch (sealedClass) {
case Subclass(:final field):
return ...;
case _:
return orElse();
}
Implementation
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function(@JsonKey(name: 'id') String? id, @JsonKey(name: 'userName') Name? username, @JsonKey(name: 'primaryPhone') PhoneNumber? primaryPhoneNumber, @JsonKey(name: 'primaryEmailAddress') EmailAddress? primaryEmailAddress, @JsonKey(name: 'secondaryPhoneNumbers') List<PhoneNumber>? secondaryPhoneNumbers, @JsonKey(name: 'secondaryEmailAddresses') List<EmailAddress>? secondaryEmailAddresses, @JsonKey(name: 'terms_accepted') bool? termsAccepted, @JsonKey(name: 'suspended') bool? suspended, @JsonKey(name: 'photoUploadID') String? photoUploadID, @JsonKey(name: 'covers') List<Cover?>? covers, @JsonKey(name: 'userBioData') BioData? userBioData, @JsonKey(name: 'homeAddress') Address? homeAddress, @JsonKey(name: 'workAddress') Address? workAddress, @JsonKey(name: 'referralLink') String? referralLink, @JsonKey(name: 'assistant', unknownEnumValue: Assistant.BEV) Assistant? assistant)? $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _UserProfile() when $default != null:
return $default(_that.id,_that.username,_that.primaryPhoneNumber,_that.primaryEmailAddress,_that.secondaryPhoneNumbers,_that.secondaryEmailAddresses,_that.termsAccepted,_that.suspended,_that.photoUploadID,_that.covers,_that.userBioData,_that.homeAddress,_that.workAddress,_that.referralLink,_that.assistant);case _:
return orElse();
}
}