import { aggregateGroups } from "https://dotland.deno.dev/std@0.116.0/collections/mod.ts";
Applies the given aggregator to each group in the given Grouping, returning the results together with the respective group keys
import { aggregateGroups } from "https://deno.land/std@0.116.0/collections/mod.ts";
import { assertEquals } from "https://deno.land/std@0.116.0/testing/asserts.ts";
const foodProperties = {
'Curry': [ 'spicy', 'vegan' ],
'Omelette': [ 'creamy', 'vegetarian' ],
}
const descriptions = aggregateGroups(foodProperties,
(current, key, first, acc) => {
if (first)
return `${key} is ${current}`
return `${acc} and ${current}`
},
)
assertEquals(descriptions, {
'Curry': 'Curry is spicy and vegan',
'Omelette': 'Omelette is creamy and vegetarian',
})