getFieldsGroupListByPrefix<K, V> method

Map<K, List<V>> getFieldsGroupListByPrefix<K, V>(
  1. String groupPrefix, {
  2. Map<String, String?>? fields,
  3. String keyDelimiter = '_',
  4. String keyPart(
    1. String key
    )?,
  5. K keyAs(
    1. String key
    )?,
  6. V? valueAs(
    1. String key
    )?,
  7. bool filter(
    1. K key,
    2. V? value
    )?,
})
inherited

Implementation

Map<K, List<V>> getFieldsGroupListByPrefix<K, V>(
  String groupPrefix, {
  Map<String, String?>? fields,
  String keyDelimiter = '_',
  String Function(String key)? keyPart,
  K Function(String key)? keyAs,
  V? Function(String key)? valueAs,
  bool Function(K key, V? value)? filter,
}) {
  var entries = getFieldsGroupEntriesByPrefix<K, V>(groupPrefix,
      fields: fields,
      keyDelimiter: keyDelimiter,
      keyPart: keyPart,
      keyAs: keyAs,
      valueAs: valueAs,
      filter: filter);

  var groups = entries.groupListsBy((e) => e.key);

  var map = groups.map(
      (k, l) => MapEntry(k, l.map((e) => e.value).whereType<V>().toList()));

  return map;
}