UNPKG

aubade

Version:

filesystem-based content processor

18 lines (17 loc) 629 B
export function chain(items, options) { const { breakpoint, key = 'flank', sort, transform = ({ slug, title }) => ({ slug, title }), } = options; sort && items.sort(sort); for (let idx = 0; idx < items.length; idx++) { const [back, next] = [items[idx - 1], items[idx + 1]]; if (!back && !next) continue; items[idx][key] = items[idx][key] || {}; if (back) items[idx][key].back = transform(back); if (breakpoint && breakpoint(next)) return items; if (next) items[idx][key].next = transform(next); } return items; }