import { readableStreamFromReader } from "https://deno.land/std/streams/conversion.ts";
const _bufferToString = (buffer: Uint8Array): ReadableStream<Uint8Array> => { return new ReadableStream({ start(controller) { controller.enqueue(buffer); controller.close(); } });};
export class InputFile { stream: ReadableStream<Uint8Array>; size: number; filename: string;
static fromPath = (filePath: string, filename: string): InputFile => { const file = Deno.openSync(filePath); const stream = readableStreamFromReader(file); const size = Deno.statSync(filePath).size; return new InputFile(stream, filename, size); };
static fromBuffer = (buffer: Uint8Array, filename: string): InputFile => { const stream = _bufferToString(buffer); const size = buffer.byteLength; return new InputFile(stream, filename, size); };
static fromPlainText = (content: string, filename: string): InputFile => { const buffer = new TextEncoder().encode(content); const stream = _bufferToString(buffer); const size = buffer.byteLength; return new InputFile(stream, filename, size); };
constructor(stream: ReadableStream<Uint8Array>, filename: string, size: number) { this.stream = stream; this.filename = filename; this.size = size; }}