maybeWhen<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
  1. TResult accountCreated(
    1. AccountCreated data
    )?,
  2. TResult emailUpdated(
    1. EmailUpdated data
    )?,
  3. TResult emailConfirmed(
    1. EmailConfirmed data
    )?,
  4. TResult passwordUpdated(
    1. PasswordUpdated data
    )?,
  5. TResult handleUpdated(
    1. HandleUpdated data
    )?,
  6. TResult unknown(
    1. Map<String, dynamic> data
    )?,
  7. 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( AccountCreated data)?  accountCreated,TResult Function( EmailUpdated data)?  emailUpdated,TResult Function( EmailConfirmed data)?  emailConfirmed,TResult Function( PasswordUpdated data)?  passwordUpdated,TResult Function( HandleUpdated data)?  handleUpdated,TResult Function( Map<String, dynamic> data)?  unknown,required TResult orElse(),}) {final _that = this;
switch (_that) {
case UEventDetailsAccountCreated() when accountCreated != null:
return accountCreated(_that.data);case UEventDetailsEmailUpdated() when emailUpdated != null:
return emailUpdated(_that.data);case UEventDetailsEmailConfirmed() when emailConfirmed != null:
return emailConfirmed(_that.data);case UEventDetailsPasswordUpdated() when passwordUpdated != null:
return passwordUpdated(_that.data);case UEventDetailsHandleUpdated() when handleUpdated != null:
return handleUpdated(_that.data);case UEventDetailsUnknown() when unknown != null:
return unknown(_that.data);case _:
  return orElse();

}
}