transformFlatMap = (f) =>
function transform(data, facets) {
const unitFacets = [];
const unitData = [];
for (const index of facets) {
const facet = [];
for (const d of f(Array.from(index, (i) => data[i])).flat(1)) {
facet.push(unitData.push(d) - 1);
}
unitFacets.push(facet);
}
return { data: unitData, facets: unitFacets };
}