maybeMap<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeMap<TResult extends Object?>(
  1. TResult $default(
    1. SwiftActionDefault value
    )?, {
  2. TResult spKeys(
    1. SwiftSpKeysAction value
    )?,
  3. TResult spGetValue(
    1. SwiftSpGetValueAction value
    )?,
  4. TResult setNewStringValue(
    1. SwiftSetNewStringValueAction value
    )?,
  5. TResult setNewBoolValue(
    1. SwiftSetNewBoolValueAction value
    )?,
  6. TResult setNewIntValue(
    1. SwiftSetNewIntValueAction value
    )?,
  7. TResult setNewDoubleValue(
    1. SwiftSetNewDoubleValueAction value
    )?,
  8. TResult removeSPKey(
    1. SwiftRemoveSpKeyAction value
    )?,
  9. TResult removeAllKey(
    1. SwiftRemoveSpAllKeysAction value
    )?,
  10. 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(SwiftActionDefault value)? $default, {
  TResult Function(SwiftSpKeysAction value)? spKeys,
  TResult Function(SwiftSpGetValueAction value)? spGetValue,
  TResult Function(SwiftSetNewStringValueAction value)? setNewStringValue,
  TResult Function(SwiftSetNewBoolValueAction value)? setNewBoolValue,
  TResult Function(SwiftSetNewIntValueAction value)? setNewIntValue,
  TResult Function(SwiftSetNewDoubleValueAction value)? setNewDoubleValue,
  TResult Function(SwiftRemoveSpKeyAction value)? removeSPKey,
  TResult Function(SwiftRemoveSpAllKeysAction value)? removeAllKey,
  required TResult orElse(),
}) {
  final _that = this;
  switch (_that) {
    case SwiftActionDefault() when $default != null:
      return $default(_that);
    case SwiftSpKeysAction() when spKeys != null:
      return spKeys(_that);
    case SwiftSpGetValueAction() when spGetValue != null:
      return spGetValue(_that);
    case SwiftSetNewStringValueAction() when setNewStringValue != null:
      return setNewStringValue(_that);
    case SwiftSetNewBoolValueAction() when setNewBoolValue != null:
      return setNewBoolValue(_that);
    case SwiftSetNewIntValueAction() when setNewIntValue != null:
      return setNewIntValue(_that);
    case SwiftSetNewDoubleValueAction() when setNewDoubleValue != null:
      return setNewDoubleValue(_that);
    case SwiftRemoveSpKeyAction() when removeSPKey != null:
      return removeSPKey(_that);
    case SwiftRemoveSpAllKeysAction() when removeAllKey != null:
      return removeAllKey(_that);
    case _:
      return orElse();
  }
}