maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>({
  1. TResult accountCreated(
    1. UEventDetailsAccountCreated value
    )?,
  2. TResult emailUpdated(
    1. UEventDetailsEmailUpdated value
    )?,
  3. TResult emailConfirmed(
    1. UEventDetailsEmailConfirmed value
    )?,
  4. TResult passwordUpdated(
    1. UEventDetailsPasswordUpdated value
    )?,
  5. TResult handleUpdated(
    1. UEventDetailsHandleUpdated value
    )?,
  6. TResult unknown(
    1. UEventDetailsUnknown value
    )?,
  7. required TResult orElse(),
})

A variant of map that fallback to returning orElse.

It is equivalent to doing:

switch (sealedClass) {
  case final Subclass value:
    return ...;
  case _:
    return orElse();
}

Implementation

@optionalTypeArgs TResult maybeMap<TResult extends Object?>({TResult Function( UEventDetailsAccountCreated value)?  accountCreated,TResult Function( UEventDetailsEmailUpdated value)?  emailUpdated,TResult Function( UEventDetailsEmailConfirmed value)?  emailConfirmed,TResult Function( UEventDetailsPasswordUpdated value)?  passwordUpdated,TResult Function( UEventDetailsHandleUpdated value)?  handleUpdated,TResult Function( UEventDetailsUnknown value)?  unknown,required TResult orElse(),}){
final _that = this;
switch (_that) {
case UEventDetailsAccountCreated() when accountCreated != null:
return accountCreated(_that);case UEventDetailsEmailUpdated() when emailUpdated != null:
return emailUpdated(_that);case UEventDetailsEmailConfirmed() when emailConfirmed != null:
return emailConfirmed(_that);case UEventDetailsPasswordUpdated() when passwordUpdated != null:
return passwordUpdated(_that);case UEventDetailsHandleUpdated() when handleUpdated != null:
return handleUpdated(_that);case UEventDetailsUnknown() when unknown != null:
return unknown(_that);case _:
  return orElse();

}
}