@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
TypeScript
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>;
}