categorizeReleaseItems static method
Map<String, List<AppReleaseItem>>
categorizeReleaseItems(
- List<AppReleaseItem> releaseItems, {
- bool byTags = false,
- List<String> forbiddenList = const ['emxi lecturas', 'libro digital', 'libro físico'],
})
Implementation
static Map<String, List<AppReleaseItem>> categorizeReleaseItems(List<AppReleaseItem> releaseItems, {
bool byTags = false,
List<String> forbiddenList = const ['emxi lecturas', 'libro digital', 'libro físico']
}) {
final Map<String, List<AppReleaseItem>> categorizedItems = {};
for (final item in releaseItems) {
// Selecciona la lista de claves según el modo: tags o categorías
final List<String> keys = byTags ? (item.tags ?? []) : (item.categories);
for (final key in keys) {
if (forbiddenList.contains(key.toLowerCase())) continue;
categorizedItems.putIfAbsent(key, () => []);
categorizedItems[key]!.add(item);
}
}
return categorizedItems;
}