Warp/node_modules/@docsearch/react/dist/esm/utils/groupBy.js

17 lines
431 B
JavaScript
Raw Permalink Normal View History

2024-01-05 12:14:38 +00:00
export function groupBy(values, predicate, maxResultsPerGroup) {
return values.reduce(function (acc, item) {
var key = predicate(item);
if (!acc.hasOwnProperty(key)) {
acc[key] = [];
} // We limit each section to show 5 hits maximum.
// This acts as a frontend alternative to `distinct`.
if (acc[key].length < (maxResultsPerGroup || 5)) {
acc[key].push(item);
}
return acc;
}, {});
}