UNPKG

4.34 kBTypeScriptView Raw
1/// <reference types="node" />
2/// <reference types="node" />
3import { Volume, TData, TMode, TFlags, TFlagsCopy, TTime, IOptions, IAppendFileOptions, IMkdirOptions, IReaddirOptions, IReadFileOptions, IRealpathOptions, IWriteFileOptions, IStatOptions, IRmOptions, IFStatOptions } from './volume';
4import Stats from './Stats';
5import Dirent from './Dirent';
6import { TDataOut } from './encoding';
7import { PathLike, symlink } from 'fs';
8export interface TFileHandleReadResult {
9 bytesRead: number;
10 buffer: Buffer | Uint8Array;
11}
12export interface TFileHandleWriteResult {
13 bytesWritten: number;
14 buffer: Buffer | Uint8Array;
15}
16export interface IFileHandle {
17 fd: number;
18 appendFile(data: TData, options?: IAppendFileOptions | string): Promise<void>;
19 chmod(mode: TMode): Promise<void>;
20 chown(uid: number, gid: number): Promise<void>;
21 close(): Promise<void>;
22 datasync(): Promise<void>;
23 read(buffer: Buffer | Uint8Array, offset: number, length: number, position: number): Promise<TFileHandleReadResult>;
24 readFile(options?: IReadFileOptions | string): Promise<TDataOut>;
25 stat(options?: IStatOptions): Promise<Stats>;
26 truncate(len?: number): Promise<void>;
27 utimes(atime: TTime, mtime: TTime): Promise<void>;
28 write(buffer: Buffer | Uint8Array, offset?: number, length?: number, position?: number): Promise<TFileHandleWriteResult>;
29 writeFile(data: TData, options?: IWriteFileOptions): Promise<void>;
30}
31export declare type TFileHandle = PathLike | IFileHandle;
32export interface IPromisesAPI {
33 FileHandle: any;
34 access(path: PathLike, mode?: number): Promise<void>;
35 appendFile(path: TFileHandle, data: TData, options?: IAppendFileOptions | string): Promise<void>;
36 chmod(path: PathLike, mode: TMode): Promise<void>;
37 chown(path: PathLike, uid: number, gid: number): Promise<void>;
38 copyFile(src: PathLike, dest: PathLike, flags?: TFlagsCopy): Promise<void>;
39 lchmod(path: PathLike, mode: TMode): Promise<void>;
40 lchown(path: PathLike, uid: number, gid: number): Promise<void>;
41 link(existingPath: PathLike, newPath: PathLike): Promise<void>;
42 lstat(path: PathLike, options?: IStatOptions): Promise<Stats>;
43 mkdir(path: PathLike, options?: TMode | IMkdirOptions): Promise<void>;
44 mkdtemp(prefix: string, options?: IOptions): Promise<TDataOut>;
45 open(path: PathLike, flags: TFlags, mode?: TMode): Promise<FileHandle>;
46 readdir(path: PathLike, options?: IReaddirOptions | string): Promise<TDataOut[] | Dirent[]>;
47 readFile(id: TFileHandle, options?: IReadFileOptions | string): Promise<TDataOut>;
48 readlink(path: PathLike, options?: IOptions): Promise<TDataOut>;
49 realpath(path: PathLike, options?: IRealpathOptions | string): Promise<TDataOut>;
50 rename(oldPath: PathLike, newPath: PathLike): Promise<void>;
51 rmdir(path: PathLike): Promise<void>;
52 rm(path: PathLike, options?: IRmOptions): Promise<void>;
53 stat(path: PathLike, options?: IStatOptions): Promise<Stats>;
54 symlink(target: PathLike, path: PathLike, type?: symlink.Type): Promise<void>;
55 truncate(path: PathLike, len?: number): Promise<void>;
56 unlink(path: PathLike): Promise<void>;
57 utimes(path: PathLike, atime: TTime, mtime: TTime): Promise<void>;
58 writeFile(id: TFileHandle, data: TData, options?: IWriteFileOptions): Promise<void>;
59}
60export declare class FileHandle implements IFileHandle {
61 private vol;
62 fd: number;
63 constructor(vol: Volume, fd: number);
64 appendFile(data: TData, options?: IAppendFileOptions | string): Promise<void>;
65 chmod(mode: TMode): Promise<void>;
66 chown(uid: number, gid: number): Promise<void>;
67 close(): Promise<void>;
68 datasync(): Promise<void>;
69 read(buffer: Buffer | Uint8Array, offset: number, length: number, position: number): Promise<TFileHandleReadResult>;
70 readFile(options?: IReadFileOptions | string): Promise<TDataOut>;
71 stat(options?: IFStatOptions): Promise<Stats>;
72 sync(): Promise<void>;
73 truncate(len?: number): Promise<void>;
74 utimes(atime: TTime, mtime: TTime): Promise<void>;
75 write(buffer: Buffer | Uint8Array, offset?: number, length?: number, position?: number): Promise<TFileHandleWriteResult>;
76 writeFile(data: TData, options?: IWriteFileOptions): Promise<void>;
77}
78export default function createPromisesApi(vol: Volume): null | IPromisesAPI;