@wocker/core
Version:
Core of the Wocker
49 lines (48 loc) • 2.23 kB
TypeScript
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 {};