export async function* splitAsync( iterable: AsyncIterable , separator: T ): AsyncIterableIterator>> { let buffer: Array> = [] for await (const element of iterable) { if (element === separator) { yield buffer buffer = [] } else { buffer.push(element) } } yield buffer }