UNPKG

@push.rocks/smartfile

Version:

High-level file representation classes (SmartFile, StreamFile, VirtualDirectory) for efficient in-memory file management in Node.js using TypeScript. Works seamlessly with @push.rocks/smartfs for filesystem operations.

73 lines (72 loc) 2.56 kB
import * as plugins from './plugins.js'; import { SmartFile } from './classes.smartfile.js'; import { StreamFile } from './classes.streamfile.js'; import { VirtualDirectory } from './classes.virtualdirectory.js'; export declare class SmartFileFactory { private smartFs; constructor(smartFs: any); /** * Creates a default factory using Node.js filesystem provider */ static nodeFs(): SmartFileFactory; /** * Get the underlying SmartFs instance */ getSmartFs(): any; /** * Creates a SmartFile from a file path on disk */ fromFilePath(filePath: string, baseArg?: string): Promise<SmartFile>; /** * Creates a SmartFile from a URL */ fromUrl(urlArg: string): Promise<SmartFile>; /** * Creates a SmartFile from a Buffer */ fromBuffer(filePath: string, contentBufferArg: Buffer, baseArg?: string): SmartFile; /** * Creates a SmartFile from a string */ fromString(filePath: string, contentStringArg: string, encodingArg?: 'utf8' | 'binary', baseArg?: string): SmartFile; /** * Creates a SmartFile from a stream */ fromStream(stream: plugins.stream.Readable, filePath: string, baseArg?: string): Promise<SmartFile>; /** * Creates a SmartFile from folded JSON */ fromFoldedJson(foldedJsonArg: string): Promise<SmartFile>; /** * Creates a StreamFile from a file path */ streamFromPath(filePath: string): Promise<StreamFile>; /** * Creates a StreamFile from a URL */ streamFromUrl(url: string): Promise<StreamFile>; /** * Creates a StreamFile from a Buffer */ streamFromBuffer(buffer: Buffer, relativeFilePath?: string): StreamFile; /** * Creates a StreamFile from a Node.js Readable stream */ streamFromStream(stream: plugins.stream.Readable, relativeFilePath?: string, multiUse?: boolean): StreamFile; /** * Creates a VirtualDirectory from a filesystem directory path */ virtualDirectoryFromPath(pathArg: string): Promise<VirtualDirectory>; /** * Creates an empty VirtualDirectory */ virtualDirectoryEmpty(): VirtualDirectory; /** * Creates a VirtualDirectory from an array of SmartFiles */ virtualDirectoryFromFileArray(files: SmartFile[]): VirtualDirectory; /** * Creates a VirtualDirectory from a transferable object */ virtualDirectoryFromTransferable(virtualDirTransferableObjectArg: plugins.smartfileInterfaces.VirtualDirTransferableObject): Promise<VirtualDirectory>; }