123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391 |
- import { Link, Superblock } from '../core';
- import Stats from './Stats';
- import Dirent from './Dirent';
- import StatFs from './StatFs';
- import { TSetTimeout } from '../setTimeoutUnref';
- import { Writable } from 'stream';
- import { constants } from '../constants';
- import { EventEmitter } from 'events';
- import { TDataOut } from '../encoding';
- import * as misc from './types/misc';
- import * as opts from './types/options';
- import { FsCallbackApi, WritevCallback } from './types/FsCallbackApi';
- import { ToTreeOptions } from '../print';
- import type { PathLike, symlink } from './types/misc';
- import type { FsPromisesApi, FsSynchronousApi } from './types';
- import { Dir } from './Dir';
- import { DirectoryJSON, NestedDirectoryJSON } from '../core/json';
- import { TFileId } from '../core/types';
- export interface IError extends Error {
- code?: string;
- }
- export type TData = TDataOut | ArrayBufferView | DataView;
- export type TFlags = string | number;
- export type TMode = string | number;
- export type TTime = number | string | Date;
- export type TFlagsCopy = typeof constants.COPYFILE_EXCL | typeof constants.COPYFILE_FICLONE | typeof constants.COPYFILE_FICLONE_FORCE;
- export interface IAppendFileOptions extends opts.IFileOptions {
- }
- export interface IWatchFileOptions {
- persistent?: boolean;
- interval?: number;
- }
- export interface IWatchOptions extends opts.IOptions {
- persistent?: boolean;
- recursive?: boolean;
- }
- export declare function pathToSteps(path: PathLike): string[];
- export declare function dataToStr(data: TData, encoding?: string): string;
- export declare function toUnixTimestamp(time: any): any;
- /**
- * `Volume` represents a file system.
- */
- export declare class Volume implements FsCallbackApi, FsSynchronousApi {
- readonly _core: Superblock;
- static readonly fromJSON: (json: DirectoryJSON, cwd?: string) => Volume;
- static readonly fromNestedJSON: (json: NestedDirectoryJSON, cwd?: string) => Volume;
- StatWatcher: new () => StatWatcher;
- ReadStream: new (...args: any[]) => misc.IReadStream;
- WriteStream: new (...args: any[]) => IWriteStream;
- FSWatcher: new () => FSWatcher;
- realpath: {
- (path: PathLike, callback: misc.TCallback<TDataOut>): void;
- (path: PathLike, options: opts.IRealpathOptions | string, callback: misc.TCallback<TDataOut>): void;
- native: {
- (path: PathLike, callback: misc.TCallback<TDataOut>): void;
- (path: PathLike, options: opts.IRealpathOptions | string, callback: misc.TCallback<TDataOut>): void;
- };
- };
- realpathSync: {
- (path: PathLike, options?: opts.IRealpathOptions | string): TDataOut;
- native: (path: PathLike, options?: opts.IRealpathOptions | string) => TDataOut;
- };
- private promisesApi;
- get promises(): FsPromisesApi;
- constructor(_core?: Superblock);
- private wrapAsync;
- toTree(opts?: ToTreeOptions): string;
- reset(): void;
- toJSON(paths?: PathLike | PathLike[], json?: {}, isRelative?: boolean, asBuffer?: boolean): DirectoryJSON<string | null>;
- fromJSON(json: DirectoryJSON, cwd?: string): void;
- fromNestedJSON(json: NestedDirectoryJSON, cwd?: string): void;
- mountSync(mountpoint: string, json: DirectoryJSON): void;
- openSync: (path: PathLike, flags: TFlags, mode?: TMode) => number;
- open: {
- (path: PathLike, flags: TFlags, /* ... */ callback: misc.TCallback<number>): void;
- (path: PathLike, flags: TFlags, mode: TMode, callback: misc.TCallback<number>): void;
- };
- closeSync: (fd: number) => void;
- close: (fd: number, callback: misc.TCallback<void>) => void;
- readSync: (fd: number, buffer: Buffer | ArrayBufferView | DataView, offset: number, length: number, position: number | null) => number;
- read: (fd: number, buffer: Buffer | ArrayBufferView | DataView, offset: number, length: number, position: number | null, callback: (err?: Error | null, bytesRead?: number, buffer?: Buffer | ArrayBufferView | DataView) => void) => void;
- readv: {
- (fd: number, buffers: ArrayBufferView[], callback: misc.TCallback2<number, ArrayBufferView[]>): void;
- (fd: number, buffers: ArrayBufferView[], position: number | null, callback: misc.TCallback2<number, ArrayBufferView[]>): void;
- };
- readvSync: (fd: number, buffers: ArrayBufferView[], position?: number | null) => number;
- private readonly _readfile;
- readFileSync: (file: TFileId, options?: opts.IReadFileOptions | string) => TDataOut;
- readFile: {
- (id: TFileId, callback: misc.TCallback<TDataOut>): any;
- (id: TFileId, options: opts.IReadFileOptions | string, callback: misc.TCallback<TDataOut>): any;
- };
- private _write;
- writeSync: {
- (fd: number, buffer: Buffer | ArrayBufferView | DataView, offset?: number, length?: number, position?: number | null): number;
- (fd: number, str: string, position?: number, encoding?: BufferEncoding): number;
- };
- write: {
- (fd: number, buffer: Buffer | ArrayBufferView | DataView, callback: (...args: any[]) => void): any;
- (fd: number, buffer: Buffer | ArrayBufferView | DataView, offset: number, callback: (...args: any[]) => void): any;
- (fd: number, buffer: Buffer | ArrayBufferView | DataView, offset: number, length: number, callback: (...args: any[]) => void): any;
- (fd: number, buffer: Buffer | ArrayBufferView | DataView, offset: number, length: number, position: number, callback: (...args: any[]) => void): any;
- (fd: number, str: string, callback: (...args: any[]) => void): any;
- (fd: number, str: string, position: number, callback: (...args: any[]) => void): any;
- (fd: number, str: string, position: number, encoding: BufferEncoding, callback: (...args: any[]) => void): any;
- };
- private writevBase;
- writev: {
- (fd: number, buffers: ArrayBufferView[], callback: WritevCallback): void;
- (fd: number, buffers: ArrayBufferView[], position: number | null, callback: WritevCallback): void;
- };
- writevSync: (fd: number, buffers: ArrayBufferView[], position?: number | null) => number;
- writeFileSync: (id: TFileId, data: TData, options?: opts.IWriteFileOptions) => void;
- writeFile: {
- (id: TFileId, data: TData, callback: misc.TCallback<void>): void;
- (id: TFileId, data: TData, options: opts.IWriteFileOptions | string, callback: misc.TCallback<void>): void;
- };
- private _copyFile;
- copyFileSync: (src: PathLike, dest: PathLike, flags?: TFlagsCopy) => void;
- copyFile: {
- (src: PathLike, dest: PathLike, callback: misc.TCallback<void>): any;
- (src: PathLike, dest: PathLike, flags: TFlagsCopy, callback: misc.TCallback<void>): any;
- };
- private readonly _cp;
- private isSrcSubdir;
- private cpFileSync;
- private cpDirSync;
- private cpSymlinkSync;
- linkSync: (existingPath: PathLike, newPath: PathLike) => void;
- link: (existingPath: PathLike, newPath: PathLike, callback: misc.TCallback<void>) => void;
- unlinkSync: (path: PathLike) => void;
- unlink: (path: PathLike, callback: misc.TCallback<void>) => void;
- /**
- * `type` argument works only on Windows.
- * @param target
- * @param path
- * @param type
- */
- symlinkSync: (target: PathLike, path: PathLike, type?: symlink.Type) => void;
- symlink: {
- (target: PathLike, path: PathLike, callback: misc.TCallback<void>): any;
- (target: PathLike, path: PathLike, type: symlink.Type, callback: misc.TCallback<void>): any;
- };
- private readonly _lstat;
- lstatSync: {
- (path: PathLike): Stats<number>;
- (path: PathLike, options: {
- throwIfNoEntry?: true | undefined;
- }): Stats<number>;
- (path: PathLike, options: {
- bigint: false;
- throwIfNoEntry?: true | undefined;
- }): Stats<number>;
- (path: PathLike, options: {
- bigint: true;
- throwIfNoEntry?: true | undefined;
- }): Stats<bigint>;
- (path: PathLike, options: {
- throwIfNoEntry: false;
- }): Stats<number> | undefined;
- (path: PathLike, options: {
- bigint: false;
- throwIfNoEntry: false;
- }): Stats<number> | undefined;
- (path: PathLike, options: {
- bigint: true;
- throwIfNoEntry: false;
- }): Stats<bigint> | undefined;
- };
- lstat(path: PathLike, callback: misc.TCallback<Stats>): void;
- lstat(path: PathLike, options: opts.IStatOptions, callback: misc.TCallback<Stats>): void;
- private _stat;
- statSync(path: PathLike): Stats<number>;
- statSync(path: PathLike, options: {
- throwIfNoEntry?: true;
- }): Stats<number>;
- statSync(path: PathLike, options: {
- throwIfNoEntry: false;
- }): Stats<number> | undefined;
- statSync(path: PathLike, options: {
- bigint: false;
- throwIfNoEntry?: true;
- }): Stats<number>;
- statSync(path: PathLike, options: {
- bigint: true;
- throwIfNoEntry?: true;
- }): Stats<bigint>;
- statSync(path: PathLike, options: {
- bigint: false;
- throwIfNoEntry: false;
- }): Stats<number> | undefined;
- statSync(path: PathLike, options: {
- bigint: true;
- throwIfNoEntry: false;
- }): Stats<bigint> | undefined;
- stat(path: PathLike, callback: misc.TCallback<Stats>): void;
- stat(path: PathLike, options: opts.IStatOptions, callback: misc.TCallback<Stats>): void;
- private fstatBase;
- fstatSync(fd: number): Stats<number>;
- fstatSync(fd: number, options: {
- bigint: false;
- }): Stats<number>;
- fstatSync(fd: number, options: {
- bigint: true;
- }): Stats<bigint>;
- fstat(fd: number, callback: misc.TCallback<Stats>): void;
- fstat(fd: number, options: opts.IFStatOptions, callback: misc.TCallback<Stats>): void;
- renameSync: (oldPath: PathLike, newPath: PathLike) => void;
- rename: (oldPath: PathLike, newPath: PathLike, callback: misc.TCallback<void>) => void;
- private _exists;
- existsSync: (path: PathLike) => boolean;
- exists: (path: PathLike, callback: (exists: boolean) => void) => void;
- private _access;
- accessSync: (path: PathLike, mode?: number) => void;
- access: {
- (path: PathLike, callback: misc.TCallback<void>): any;
- (path: PathLike, mode: number, callback: misc.TCallback<void>): any;
- };
- appendFileSync: (id: TFileId, data: TData, options?: IAppendFileOptions | string) => void;
- appendFile: {
- (id: TFileId, data: TData, callback: misc.TCallback<void>): any;
- (id: TFileId, data: TData, options: IAppendFileOptions | string, callback: misc.TCallback<void>): any;
- };
- private readonly _readdir;
- readdirSync: (path: PathLike, options?: opts.IReaddirOptions | string) => TDataOut[] | Dirent[];
- readdir: {
- (path: PathLike, callback: misc.TCallback<TDataOut[] | Dirent[]>): any;
- (path: PathLike, options: opts.IReaddirOptions | string, callback: misc.TCallback<TDataOut[] | Dirent[]>): any;
- };
- private readonly _readlink;
- readlinkSync: (path: PathLike, options?: opts.IOptions) => TDataOut;
- readlink: {
- (path: PathLike, callback: misc.TCallback<TDataOut>): any;
- (path: PathLike, options: opts.IOptions, callback: misc.TCallback<TDataOut>): any;
- };
- private readonly _fsync;
- fsyncSync: (fd: number) => void;
- fsync: (fd: number, callback: misc.TCallback<void>) => void;
- private readonly _fdatasync;
- fdatasyncSync: (fd: number) => void;
- fdatasync: (fd: number, callback: misc.TCallback<void>) => void;
- private readonly _ftruncate;
- ftruncateSync: (fd: number, len?: number) => void;
- ftruncate: {
- (fd: number, callback: misc.TCallback<void>): any;
- (fd: number, len: number, callback: misc.TCallback<void>): any;
- };
- private readonly _truncate;
- /**
- * `id` should be a file descriptor or a path. `id` as file descriptor will
- * not be supported soon.
- */
- truncateSync: (id: TFileId, len?: number) => void;
- truncate: {
- (id: TFileId, callback: misc.TCallback<void>): any;
- (id: TFileId, len: number, callback: misc.TCallback<void>): any;
- };
- private readonly _futimes;
- futimesSync: (fd: number, atime: TTime, mtime: TTime) => void;
- futimes: (fd: number, atime: TTime, mtime: TTime, callback: misc.TCallback<void>) => void;
- private readonly _utimes;
- utimesSync: (path: PathLike, atime: TTime, mtime: TTime) => void;
- utimes: (path: PathLike, atime: TTime, mtime: TTime, callback: misc.TCallback<void>) => void;
- lutimesSync: (path: PathLike, atime: TTime, mtime: TTime) => void;
- lutimes: (path: PathLike, atime: TTime, mtime: TTime, callback: misc.TCallback<void>) => void;
- mkdirSync: {
- (path: PathLike, options: opts.IMkdirOptions & {
- recursive: true;
- }): string | undefined;
- (path: PathLike, options?: TMode | (opts.IMkdirOptions & {
- recursive?: false;
- })): void;
- (path: PathLike, options?: TMode | opts.IMkdirOptions): string | undefined;
- };
- mkdir: {
- (path: PathLike, callback: misc.TCallback<void>): any;
- (path: PathLike, mode: TMode | (opts.IMkdirOptions & {
- recursive?: false;
- }), callback: misc.TCallback<void>): any;
- (path: PathLike, mode: opts.IMkdirOptions & {
- recursive: true;
- }, callback: misc.TCallback<string>): any;
- (path: PathLike, mode: TMode | opts.IMkdirOptions, callback: misc.TCallback<string>): any;
- };
- private readonly _mkdtemp;
- mkdtempSync: (prefix: string, options?: opts.IOptions) => TDataOut;
- mkdtemp: {
- (prefix: string, callback: misc.TCallback<string>): any;
- (prefix: string, options: opts.IOptions, callback: misc.TCallback<string>): any;
- };
- rmdirSync: (path: PathLike, options?: opts.IRmdirOptions) => void;
- rmdir: {
- (path: PathLike, callback: misc.TCallback<void>): any;
- (path: PathLike, options: opts.IRmdirOptions, callback: misc.TCallback<void>): any;
- };
- rmSync: (path: PathLike, options?: opts.IRmOptions) => void;
- rm: {
- (path: PathLike, callback: misc.TCallback<void>): void;
- (path: PathLike, options: opts.IRmOptions, callback: misc.TCallback<void>): void;
- };
- private readonly _fchmod;
- fchmodSync: (fd: number, mode: TMode) => void;
- fchmod: (fd: number, mode: TMode, callback: misc.TCallback<void>) => void;
- private readonly _chmod;
- chmodSync: (path: PathLike, mode: TMode) => void;
- chmod: (path: PathLike, mode: TMode, callback: misc.TCallback<void>) => void;
- private readonly _lchmod;
- lchmodSync: (path: PathLike, mode: TMode) => void;
- lchmod: (path: PathLike, mode: TMode, callback: misc.TCallback<void>) => void;
- private readonly _fchown;
- fchownSync: (fd: number, uid: number, gid: number) => void;
- fchown: (fd: number, uid: number, gid: number, callback: misc.TCallback<void>) => void;
- private readonly _chown;
- chownSync: (path: PathLike, uid: number, gid: number) => void;
- chown: (path: PathLike, uid: number, gid: number, callback: misc.TCallback<void>) => void;
- private readonly _lchown;
- lchownSync: (path: PathLike, uid: number, gid: number) => void;
- lchown: (path: PathLike, uid: number, gid: number, callback: misc.TCallback<void>) => void;
- private statWatchers;
- watchFile(path: PathLike, listener: (curr: Stats, prev: Stats) => void): StatWatcher;
- watchFile(path: PathLike, options: IWatchFileOptions, listener: (curr: Stats, prev: Stats) => void): StatWatcher;
- unwatchFile(path: PathLike, listener?: (curr: Stats, prev: Stats) => void): void;
- createReadStream(path: misc.PathLike, options?: opts.IReadStreamOptions | string): misc.IReadStream;
- createWriteStream(path: PathLike, options?: opts.IWriteStreamOptions | string): IWriteStream;
- watch(path: PathLike, options?: IWatchOptions | string, listener?: (eventType: string, filename: string) => void): FSWatcher;
- cpSync: (src: string | URL, dest: string | URL, options?: opts.ICpOptions) => void;
- cp: {
- (src: string | URL, dest: string | URL, callback: misc.TCallback<void>): any;
- (src: string | URL, dest: string | URL, options: opts.ICpOptions, callback: misc.TCallback<void>): any;
- };
- private _statfs;
- statfsSync(path: PathLike): StatFs<number>;
- statfsSync(path: PathLike, options: {
- bigint: false;
- }): StatFs<number>;
- statfsSync(path: PathLike, options: {
- bigint: true;
- }): StatFs<bigint>;
- statfs(path: PathLike, callback: misc.TCallback<StatFs>): void;
- statfs(path: PathLike, options: opts.IStafsOptions, callback: misc.TCallback<StatFs>): void;
- openAsBlob: (path: PathLike, options?: opts.IOpenAsBlobOptions) => Promise<Blob>;
- glob: FsCallbackApi['glob'];
- globSync: FsSynchronousApi['globSync'];
- private readonly _globSync;
- private readonly _opendir;
- opendirSync: (path: PathLike, options?: opts.IOpendirOptions | string) => Dir;
- opendir: {
- (path: PathLike, callback: misc.TCallback<Dir>): any;
- (path: PathLike, options: opts.IOpendirOptions | string, callback: misc.TCallback<Dir>): any;
- };
- }
- export declare class StatWatcher extends EventEmitter {
- vol: Volume;
- filename: string;
- interval: number;
- timeoutRef?: any;
- setTimeout: TSetTimeout;
- prev: Stats;
- constructor(vol: Volume);
- private loop;
- private hasChanged;
- private onInterval;
- start(path: string, persistent?: boolean, interval?: number): void;
- stop(): void;
- }
- export interface IWriteStream extends Writable {
- bytesWritten: number;
- path: string;
- pending: boolean;
- new (path: PathLike, options: opts.IWriteStreamOptions): any;
- open(): any;
- close(): any;
- }
- export declare class FSWatcher extends EventEmitter {
- _vol: Volume;
- _filename: string;
- _steps: string[];
- _filenameEncoded: TDataOut;
- _recursive: boolean;
- _encoding: BufferEncoding;
- _link: Link;
- _timer: any;
- private _listenerRemovers;
- constructor(vol: Volume);
- private _getName;
- private _onParentChild;
- private _emit;
- private _persist;
- start(path: PathLike, persistent?: boolean, recursive?: boolean, encoding?: BufferEncoding): void;
- close(): void;
- }
|