import type { EdgeBatch } from './range_indexer.js' /** An EdgeBatch as JSON: chunk payloads in base64. */ export type WireBatch = Omit & { releases: (Omit & { payload: string })[] samples: (Omit & { payload: string })[] } export function toWire(batch: EdgeBatch): WireBatch { return { ...batch, releases: batch.releases.map((r) => ({ ...r, payload: r.payload.toString('base64') })), samples: batch.samples.map((s) => ({ ...s, payload: s.payload.toString('base64') })), } } export function fromWire(wire: WireBatch): EdgeBatch { return { ...wire, releases: wire.releases.map((r) => ({ ...r, payload: Buffer.from(r.payload, 'base64') })), samples: wire.samples.map((s) => ({ ...s, payload: Buffer.from(s.payload, 'base64') })), } }