import { take } from '.' export default function sort( maxChunkSize: number, fn?: (a: T, b: T) => number ) { const _take = take(maxChunkSize) return function* _sort( generator: Generator ): Generator { const collection = [..._take(generator)] if (!collection.length) return yield* collection.sort(fn) yield* _sort(generator) } }