{"version":3,"file":"stream.mjs","sources":["../../../../src/lib/stream.ts"],"sourcesContent":["import { type ReadableStream as WebReadableStream } from \"stream/web\";\n\nexport const streamToBuffer = async (\n    stream: ReadableStream<Uint8Array> | WebReadableStream<Uint8Array>,\n): Promise<Buffer> => {\n    const buffers: Buffer[] = [];\n    let totalLength = 0;\n\n    for await (const chunk of stream) {\n        buffers.push(Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength));\n        totalLength += chunk.byteLength;\n    }\n\n    return Buffer.concat(buffers, totalLength);\n};\n\nexport const streamToRaw = async (\n    stream: ReadableStream<Uint8Array> | WebReadableStream<Uint8Array>,\n): Promise<string> => {\n    let base64 = \"\";\n    for await (const chunk of stream) {\n        base64 += Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength).toString(\"utf-8\");\n    }\n    return base64;\n};\n\nexport const objectToStream = (data: unknown) => {\n    const encoder = new TextEncoder();\n\n    const stream = new ReadableStream<Uint8Array>({\n        start(controller) {\n            controller.enqueue(encoder.encode(JSON.stringify(data)));\n            controller.close();\n        },\n    });\n    return stream;\n};\n"],"names":[],"mappings":"MAgBa,WAAW,GAAG,OACvB,MAAkE,KACjD;IACjB,IAAI,MAAM,GAAG,EAAE;AACf,IAAA,WAAW,MAAM,KAAK,IAAI,MAAM,EAAE;QAC9B,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC7F;AACA,IAAA,OAAO,MAAM;AACjB;AAEO,MAAM,cAAc,GAAG,CAAC,IAAa,KAAI;AAC5C,IAAA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE;AAEjC,IAAA,MAAM,MAAM,GAAG,IAAI,cAAc,CAAa;AAC1C,QAAA,KAAK,CAAC,UAAU,EAAA;AACZ,YAAA,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,UAAU,CAAC,KAAK,EAAE;QACtB,CAAC;AACJ,KAAA,CAAC;AACF,IAAA,OAAO,MAAM;AACjB;;;;"}