maybeWhen<TResult extends Object?> method
TResult
maybeWhen<TResult extends Object?>(})
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()? $default, {
TResult Function()? spKeys,
TResult Function(String data)? spGetValue,
TResult Function(String key, String newValue)? setNewStringValue,
TResult Function(String key, bool newValue)? setNewBoolValue,
TResult Function(String key, int newValue)? setNewIntValue,
TResult Function(String key, double newValue)? setNewDoubleValue,
TResult Function(String key)? removeSPKey,
TResult Function()? removeAllKey,
required TResult orElse(),
}) {
final _that = this;
switch (_that) {
case SwiftActionDefault() when $default != null:
return $default();
case SwiftSpKeysAction() when spKeys != null:
return spKeys();
case SwiftSpGetValueAction() when spGetValue != null:
return spGetValue(_that.data);
case SwiftSetNewStringValueAction() when setNewStringValue != null:
return setNewStringValue(_that.key, _that.newValue);
case SwiftSetNewBoolValueAction() when setNewBoolValue != null:
return setNewBoolValue(_that.key, _that.newValue);
case SwiftSetNewIntValueAction() when setNewIntValue != null:
return setNewIntValue(_that.key, _that.newValue);
case SwiftSetNewDoubleValueAction() when setNewDoubleValue != null:
return setNewDoubleValue(_that.key, _that.newValue);
case SwiftRemoveSpKeyAction() when removeSPKey != null:
return removeSPKey(_that.key);
case SwiftRemoveSpAllKeysAction() when removeAllKey != null:
return removeAllKey();
case _:
return orElse();
}
}