map<TResult extends Object?> method

  1. @optionalTypeArgs
TResult map<TResult extends Object?>(
  1. TResult $default(
    1. SwiftActionDefault value
    ), {
  2. required TResult spKeys(
    1. SwiftSpKeysAction value
    ),
  3. required TResult spGetValue(
    1. SwiftSpGetValueAction value
    ),
  4. required TResult setNewStringValue(
    1. SwiftSetNewStringValueAction value
    ),
  5. required TResult setNewBoolValue(
    1. SwiftSetNewBoolValueAction value
    ),
  6. required TResult setNewIntValue(
    1. SwiftSetNewIntValueAction value
    ),
  7. required TResult setNewDoubleValue(
    1. SwiftSetNewDoubleValueAction value
    ),
  8. required TResult removeSPKey(
    1. SwiftRemoveSpKeyAction value
    ),
  9. required TResult removeAllKey(
    1. SwiftRemoveSpAllKeysAction value
    ),
})

A switch-like method, using callbacks.

Callbacks receives the raw object, upcasted. It is equivalent to doing:

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

Implementation

@optionalTypeArgs
TResult map<TResult extends Object?>(
  TResult Function(SwiftActionDefault value) $default, {
  required TResult Function(SwiftSpKeysAction value) spKeys,
  required TResult Function(SwiftSpGetValueAction value) spGetValue,
  required TResult Function(SwiftSetNewStringValueAction value)
      setNewStringValue,
  required TResult Function(SwiftSetNewBoolValueAction value) setNewBoolValue,
  required TResult Function(SwiftSetNewIntValueAction value) setNewIntValue,
  required TResult Function(SwiftSetNewDoubleValueAction value)
      setNewDoubleValue,
  required TResult Function(SwiftRemoveSpKeyAction value) removeSPKey,
  required TResult Function(SwiftRemoveSpAllKeysAction value) removeAllKey,
}) {
  final _that = this;
  switch (_that) {
    case SwiftActionDefault():
      return $default(_that);
    case SwiftSpKeysAction():
      return spKeys(_that);
    case SwiftSpGetValueAction():
      return spGetValue(_that);
    case SwiftSetNewStringValueAction():
      return setNewStringValue(_that);
    case SwiftSetNewBoolValueAction():
      return setNewBoolValue(_that);
    case SwiftSetNewIntValueAction():
      return setNewIntValue(_that);
    case SwiftSetNewDoubleValueAction():
      return setNewDoubleValue(_that);
    case SwiftRemoveSpKeyAction():
      return removeSPKey(_that);
    case SwiftRemoveSpAllKeysAction():
      return removeAllKey(_that);
  }
}