maybeMap<_T> method

_T maybeMap<_T>({
  1. required _T orElse(),
  2. _T ref(
    1. CompValueRef<T> value
    )?,
  3. _T single(
    1. CompValueSingle<T> value
    )?,
  4. _T list(
    1. CompValueList<T> value
    )?,
})

Implementation

_T maybeMap<_T>({
  required _T Function() orElse,
  _T Function(CompValueRef<T> value)? ref,
  _T Function(CompValueSingle<T> value)? single,
  _T Function(CompValueList<T> value)? list,
}) {
  final v = this;
  if (v is CompValueRef<T>) {
    return ref != null ? ref(v) : orElse.call();
  } else if (v is CompValueSingle<T>) {
    return single != null ? single(v) : orElse.call();
  } else if (v is CompValueList<T>) {
    return list != null ? list(v) : orElse.call();
  }
  throw Exception();
}