@alepha/file
Version: 
Helpers for creating and managing file-like objects seamlessly.
53 lines (52 loc) • 1.73 kB
TypeScript
import { FileLike, StreamLike } from "@alepha/core";
//#region src/helpers/createFile.d.ts
declare const createFile: (source: string | Buffer | ArrayBuffer | StreamLike | File, options?: {
  type?: string;
  name?: string;
  size?: number;
}) => FileLike;
declare const createFileFromWebFile: (source: File, options?: {
  type?: string;
  name?: string;
  size?: number;
}) => FileLike;
declare const createFileFromBuffer: (source: Buffer, options?: {
  type?: string;
  name?: string;
}) => FileLike;
declare const createFileFromStream: (source: StreamLike, options?: {
  type?: string;
  name?: string;
  size?: number;
}) => FileLike & {
  _buffer: null | Buffer;
};
declare const createFileFromUrl: (url: string, options?: {
  type?: string;
  name?: string;
}) => FileLike;
/**
 * Converts a stream-like object to a Buffer.
 */
declare const streamToBuffer: (streamLike: StreamLike) => Promise<Buffer>;
/**
 * Converts a Node.js Buffer to an ArrayBuffer.
 */
declare const bufferToArrayBuffer: (buffer: Buffer) => ArrayBuffer;
declare const isReadableStream: (obj: unknown) => obj is NodeJS.ReadableStream;
//#endregion
//#region src/helpers/getContentType.d.ts
/**
 * Can be used to get the content type of file based on its extension.
 *
 * Feel free to add more mime types in your project!
 */
declare const mimeMap: Record<string, string>;
/**
 * Returns the content type of file based on its filename.
 * @see {mimeMap}
 */
declare const getContentType: (filename: string) => string;
//#endregion
export { bufferToArrayBuffer, createFile, createFileFromBuffer, createFileFromStream, createFileFromUrl, createFileFromWebFile, getContentType, isReadableStream, mimeMap, streamToBuffer };
//# sourceMappingURL=index.d.ts.map