Skip to main content
Module

x/appwrite/src/inputFile.ts

[READ-ONLY] Official Appwrite Deno SDK 🦕
Go to Latest
File
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>; // Content of file as a stream size: number; // Total final size of the file content filename: string; // File name
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; }}