oneOf<E, T> method

E oneOf<E, T>({
  1. required List<K> keys,
  2. required E parse(
    1. K key,
    2. T e
    ),
})

Implementation

E oneOf<E, T>({
  required List<K> keys,
  required E Function(K key, T e) parse,
}) {
  for (final i in keys) {
    final result = valueTo<E?, T>(key: i, parse: (e) => parse(i, e));
    if (result != null) return result;
  }
  if (null is E) return null as E;
  throw JsonParserError(
    'No matching key found.',
    details: {'keys': keys.join(", "), 'data': toString()},
  );
}