map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult $boolean(
    1. OptionValueBoolean value
    ),
  2. required TResult empty(
    1. OptionValueEmpty value
    ),
  3. required TResult integer(
    1. OptionValueInteger value
    ),
  4. required TResult $string(
    1. OptionValueString value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(OptionValueBoolean value) $boolean,
  required TResult Function(OptionValueEmpty value) empty,
  required TResult Function(OptionValueInteger value) integer,
  required TResult Function(OptionValueString value) $string,
}) {
  switch (getConstructor()) {
    case OptionValueBoolean.constructor:
      return $boolean.call(this as OptionValueBoolean);
    case OptionValueEmpty.constructor:
      return empty.call(this as OptionValueEmpty);
    case OptionValueInteger.constructor:
      return integer.call(this as OptionValueInteger);
    case OptionValueString.constructor:
      return $string.call(this as OptionValueString);
  }
  throw StateError('not handled type Generator');
}