@zkochan/pnpm
Version:
Fast, disk space efficient package manager
22 lines (14 loc) • 449 B
JavaScript
;
module.exports = (arr_, pred) => {
const arr = arr_ || [],
spans = []
let span = { label: undefined,
items: [arr.first] }
arr.forEach (x => {
const label = pred (x)
if ((span.label !== label) && span.items.length) {
spans.push (span = { label: label, items: [x] }) }
else {
span.items.push (x) } })
return spans
}