UNPKG

@synet/fs

Version:

Robust, battle-tested filesystem abstraction for Node.js

38 lines (37 loc) 1.3 kB
import { type Event, EventEmitter } from "@synet/unit"; import type { FileStats, IFileSystem } from "./filesystem.interface"; export declare enum FilesystemEventTypes { EXISTS = "file.exists", READ = "file.read", WRITE = "file.write", DELETE = "file.delete", CHMOD = "file.chmod", ENSURE_DIR = "file.ensureDir", DELETE_DIR = "file.deleteDir", READ_DIR = "file.readDir", STAT = "file.stat" } export interface FilesystemEvent extends Event { type: FilesystemEventTypes; data: { filePath: string; result?: unknown; }; } export declare class ObservableFileSystem implements IFileSystem { private baseFilesystem; private events?; private eventEmitter; constructor(baseFilesystem: IFileSystem, events?: FilesystemEventTypes[] | undefined); getEventEmitter(): EventEmitter<FilesystemEvent>; private shouldEmit; existsSync(filename: string): boolean; readFileSync(filename: string): string; writeFileSync(filename: string, data: string): void; deleteFileSync(filename: string): void; deleteDirSync(dirPath: string): void; ensureDirSync(dirPath: string): void; readDirSync(dirPath: string): string[]; chmodSync(path: string, mode: number): void; statSync(path: string): FileStats; }