function sleep(ms: number) { return new Promise((resolve) => setTimeout(resolve, ms)) } /** * @public */ export async function* delay(it: AsyncIterableIterator, ms: number) { for await (const chunk of it) { await sleep(ms) yield chunk } }