iterate-chunks.ts
1 import { MATCH, type Token } from "./search.js"; 2 3 export async function* iterateChunks( 4 iter: AsyncIterable<Token>, 5 ): AsyncIterableIterator<Uint8Array[]> { 6 let chunks: Uint8Array[] = []; 7 for await (const value of iter) { 8 if (value === MATCH) { 9 yield chunks; 10 chunks = []; 11 } else { 12 chunks.push(value); 13 } 14 } 15 16 yield chunks; 17 }