import type { Awaitable } from "./Awaitable"; export function mapAddFields< K extends string, T extends Record, R extends any >(key: K, fn: (x: T, i: number) => Awaitable) { let i = 0; return new TransformStream & { [key in K]: R; }>({ transform: async (chunk, ctrl) => ctrl.enqueue({ ...chunk, [key]: await fn(chunk, i++) }), }); }