79 lines
4.2 KiB
TypeScript
79 lines
4.2 KiB
TypeScript
|
/// <reference types="node" />
|
||
|
/// <reference types="node" />
|
||
|
import { Volume, TData, TMode, TFlags, TFlagsCopy, TTime, IOptions, IAppendFileOptions, IMkdirOptions, IReaddirOptions, IReadFileOptions, IRealpathOptions, IWriteFileOptions, IStatOptions, IRmOptions, IFStatOptions } from "./volume";
|
||
|
import Stats from "./Stats";
|
||
|
import Dirent from "./Dirent";
|
||
|
import { TDataOut } from "./encoding";
|
||
|
import { PathLike, symlink } from "fs";
|
||
|
export interface TFileHandleReadResult {
|
||
|
bytesRead: number;
|
||
|
buffer: Buffer | Uint8Array;
|
||
|
}
|
||
|
export interface TFileHandleWriteResult {
|
||
|
bytesWritten: number;
|
||
|
buffer: Buffer | Uint8Array;
|
||
|
}
|
||
|
export interface IFileHandle {
|
||
|
fd: number;
|
||
|
appendFile(data: TData, options?: IAppendFileOptions | string): Promise<void>;
|
||
|
chmod(mode: TMode): Promise<void>;
|
||
|
chown(uid: number, gid: number): Promise<void>;
|
||
|
close(): Promise<void>;
|
||
|
datasync(): Promise<void>;
|
||
|
read(buffer: Buffer | Uint8Array, offset: number, length: number, position: number): Promise<TFileHandleReadResult>;
|
||
|
readFile(options?: IReadFileOptions | string): Promise<TDataOut>;
|
||
|
stat(options?: IStatOptions): Promise<Stats>;
|
||
|
truncate(len?: number): Promise<void>;
|
||
|
utimes(atime: TTime, mtime: TTime): Promise<void>;
|
||
|
write(buffer: Buffer | Uint8Array, offset?: number, length?: number, position?: number): Promise<TFileHandleWriteResult>;
|
||
|
writeFile(data: TData, options?: IWriteFileOptions): Promise<void>;
|
||
|
}
|
||
|
export declare type TFileHandle = PathLike | IFileHandle;
|
||
|
export interface IPromisesAPI {
|
||
|
FileHandle: any;
|
||
|
access(path: PathLike, mode?: number): Promise<void>;
|
||
|
appendFile(path: TFileHandle, data: TData, options?: IAppendFileOptions | string): Promise<void>;
|
||
|
chmod(path: PathLike, mode: TMode): Promise<void>;
|
||
|
chown(path: PathLike, uid: number, gid: number): Promise<void>;
|
||
|
copyFile(src: PathLike, dest: PathLike, flags?: TFlagsCopy): Promise<void>;
|
||
|
lchmod(path: PathLike, mode: TMode): Promise<void>;
|
||
|
lchown(path: PathLike, uid: number, gid: number): Promise<void>;
|
||
|
link(existingPath: PathLike, newPath: PathLike): Promise<void>;
|
||
|
lstat(path: PathLike, options?: IStatOptions): Promise<Stats>;
|
||
|
mkdir(path: PathLike, options?: TMode | IMkdirOptions): Promise<void>;
|
||
|
mkdtemp(prefix: string, options?: IOptions): Promise<TDataOut>;
|
||
|
open(path: PathLike, flags: TFlags, mode?: TMode): Promise<FileHandle>;
|
||
|
readdir(path: PathLike, options?: IReaddirOptions | string): Promise<TDataOut[] | Dirent[]>;
|
||
|
readFile(id: TFileHandle, options?: IReadFileOptions | string): Promise<TDataOut>;
|
||
|
readlink(path: PathLike, options?: IOptions): Promise<TDataOut>;
|
||
|
realpath(path: PathLike, options?: IRealpathOptions | string): Promise<TDataOut>;
|
||
|
rename(oldPath: PathLike, newPath: PathLike): Promise<void>;
|
||
|
rmdir(path: PathLike): Promise<void>;
|
||
|
rm(path: PathLike, options?: IRmOptions): Promise<void>;
|
||
|
stat(path: PathLike, options?: IStatOptions): Promise<Stats>;
|
||
|
symlink(target: PathLike, path: PathLike, type?: symlink.Type): Promise<void>;
|
||
|
truncate(path: PathLike, len?: number): Promise<void>;
|
||
|
unlink(path: PathLike): Promise<void>;
|
||
|
utimes(path: PathLike, atime: TTime, mtime: TTime): Promise<void>;
|
||
|
writeFile(id: TFileHandle, data: TData, options?: IWriteFileOptions): Promise<void>;
|
||
|
}
|
||
|
export declare class FileHandle implements IFileHandle {
|
||
|
private vol;
|
||
|
fd: number;
|
||
|
constructor(vol: Volume, fd: number);
|
||
|
appendFile(data: TData, options?: IAppendFileOptions | string): Promise<void>;
|
||
|
chmod(mode: TMode): Promise<void>;
|
||
|
chown(uid: number, gid: number): Promise<void>;
|
||
|
close(): Promise<void>;
|
||
|
datasync(): Promise<void>;
|
||
|
read(buffer: Buffer | Uint8Array, offset: number, length: number, position: number): Promise<TFileHandleReadResult>;
|
||
|
readFile(options?: IReadFileOptions | string): Promise<TDataOut>;
|
||
|
stat(options?: IFStatOptions): Promise<Stats>;
|
||
|
sync(): Promise<void>;
|
||
|
truncate(len?: number): Promise<void>;
|
||
|
utimes(atime: TTime, mtime: TTime): Promise<void>;
|
||
|
write(buffer: Buffer | Uint8Array, offset?: number, length?: number, position?: number): Promise<TFileHandleWriteResult>;
|
||
|
writeFile(data: TData, options?: IWriteFileOptions): Promise<void>;
|
||
|
}
|
||
|
export default function createPromisesApi(vol: Volume): null | IPromisesAPI;
|