UNPKG

@wocker/core

Version:
49 lines (48 loc) 2.23 kB
import FS, { EncodingOption, BufferEncodingOption } from "fs"; import { Readable } from "stream"; import { FileSystemDriver, ReadStreamOptions, WriteStreamOptions } from "../types"; import { File } from "./File"; type ReaddirOptions = FS.ObjectEncodingOptions & { recursive?: boolean | undefined; }; type ReadlineOptions = { encoding?: BufferEncoding; start?: number; end?: number; }; export declare class FileSystem { protected readonly source: string; protected readonly driver: FileSystemDriver; constructor(source: string, driver?: FileSystemDriver); path(...parts: string[]): string; cd(path: string): FileSystem; readBytes(path: string, position?: number, size?: number): Buffer<ArrayBuffer>; open(path: string, flags: FS.OpenMode, mode?: FS.Mode | null): File; basename(...parts: string[]): string; exists(...parts: string[]): boolean; stat(...parts: string[]): FS.Stats; mkdir(path?: string, options?: FS.MakeDirectoryOptions): void; readdir(path?: string, options?: { recursive?: boolean; }): string[]; /** * @deprecated */ readdirFiles(path?: string, options?: ReaddirOptions): Promise<string[]>; readFile(path: string): string | Buffer; readJSON(...paths: string[]): any; readYAML(path: string): any; writeFile(path: string, data: string | Buffer | NodeJS.ArrayBufferView, options?: FS.WriteFileOptions): void; writeJSON(path: string, data: any, options?: FS.WriteFileOptions): void; appendFile(path: string, data: string | Uint8Array, options?: FS.WriteFileOptions): void; rm(path: string, options?: FS.RmOptions): void; mv(src: string, dest: string): void; createWriteStream(path: string, options?: WriteStreamOptions): FS.WriteStream; createReadStream(path: string, options?: ReadStreamOptions): FS.ReadStream; createReadlineStream(path: string, options?: ReadlineOptions): Readable; getLinePosition(path: string, line: number): number; watch(path: string, options?: FS.WatchOptionsWithStringEncoding): FS.FSWatcher; readlink(path: string, options?: EncodingOption): string; readlink(path: string, options: BufferEncodingOption): Buffer<ArrayBuffer>; } export {};