Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2021-04-10 07:35:09 +0300
committerMichaël Zasso <targos@protonmail.com>2021-04-14 13:24:23 +0300
commitcb2bdc632a802eed7ee8c5c9388811de73029602 (patch)
treec452958d128a945938e4e51ea23792433e2950c5 /typings
parentee669a0d29e567c58633300bcd71d06879f58e87 (diff)
typings: add types for internalBinding('fs')
PR-URL: https://github.com/nodejs/node/pull/38198 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Bradley Farias <bradley.meck@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'typings')
-rw-r--r--typings/internalBinding/fs.d.ts258
1 files changed, 258 insertions, 0 deletions
diff --git a/typings/internalBinding/fs.d.ts b/typings/internalBinding/fs.d.ts
new file mode 100644
index 00000000000..a7f086c258d
--- /dev/null
+++ b/typings/internalBinding/fs.d.ts
@@ -0,0 +1,258 @@
+declare namespace InternalFSBinding {
+ class FSReqCallback<ResultType = unknown> {
+ constructor(bigint?: boolean);
+ oncomplete: ((error: Error) => void) | ((error: null, result: ResultType) => void);
+ context: any;
+ }
+
+ interface FSSyncContext {
+ fd?: number;
+ path?: string;
+ dest?: string;
+ errno?: string;
+ message?: string;
+ syscall?: string;
+ error?: Error;
+ }
+
+ type Buffer = Uint8Array;
+ type StringOrBuffer = string | Buffer;
+
+ const kUsePromises: symbol;
+
+ class FileHandle {
+ constructor(fd: number, offset: number, length: number);
+ fd: number;
+ getAsyncId(): number;
+ close(): Promise<void>;
+ onread: () => void;
+ stream: unknown;
+ }
+
+ class StatWatcher {
+ constructor(useBigint: boolean);
+ initialized: boolean;
+ start(path: string, interval: number): number;
+ getAsyncId(): number;
+ close(): void;
+ ref(): void;
+ unref(): void;
+ onchange: (status: number, eventType: string, filename: string | Buffer) => void;
+ }
+
+ function access(path: StringOrBuffer, mode: number, req: FSReqCallback): void;
+ function access(path: StringOrBuffer, mode: number, req: undefined, ctx: FSSyncContext): void;
+ function access(path: StringOrBuffer, mode: number, usePromises: typeof kUsePromises): Promise<void>;
+
+ function chmod(path: string, mode: number, req: FSReqCallback): void;
+ function chmod(path: string, mode: number, req: undefined, ctx: FSSyncContext): void;
+ function chmod(path: string, mode: number, usePromises: typeof kUsePromises): Promise<void>;
+
+ function chown(path: string, uid: number, gid: number, req: FSReqCallback): void;
+ function chown(path: string, uid: number, gid: number, req: undefined, ctx: FSSyncContext): void;
+ function chown(path: string, uid: number, gid: number, usePromises: typeof kUsePromises): Promise<void>;
+
+ function close(fd: number, req: FSReqCallback): void;
+ function close(fd: number, req: undefined, ctx: FSSyncContext): void;
+
+ function copyFile(src: StringOrBuffer, dest: StringOrBuffer, mode: number, req: FSReqCallback): void;
+ function copyFile(src: StringOrBuffer, dest: StringOrBuffer, mode: number, req: undefined, ctx: FSSyncContext): void;
+ function copyFile(src: StringOrBuffer, dest: StringOrBuffer, mode: number, usePromises: typeof kUsePromises): Promise<void>;
+
+ function fchmod(fd: number, mode: number, req: FSReqCallback): void;
+ function fchmod(fd: number, mode: number, req: undefined, ctx: FSSyncContext): void;
+ function fchmod(fd: number, mode: number, usePromises: typeof kUsePromises): Promise<void>;
+
+ function fchown(fd: number, uid: number, gid: number, req: FSReqCallback): void;
+ function fchown(fd: number, uid: number, gid: number, req: undefined, ctx: FSSyncContext): void;
+ function fchown(fd: number, uid: number, gid: number, usePromises: typeof kUsePromises): Promise<void>;
+
+ function fdatasync(fd: number, req: FSReqCallback): void;
+ function fdatasync(fd: number, req: undefined, ctx: FSSyncContext): void;
+ function fdatasync(fd: number, usePromises: typeof kUsePromises): Promise<void>;
+
+ function fstat(fd: number, useBigint: boolean, req: FSReqCallback<Float64Array | BigUint64Array>): void;
+ function fstat(fd: number, useBigint: true, req: FSReqCallback<BigUint64Array>): void;
+ function fstat(fd: number, useBigint: false, req: FSReqCallback<Float64Array>): void;
+ function fstat(fd: number, useBigint: boolean, req: undefined, ctx: FSSyncContext): Float64Array | BigUint64Array;
+ function fstat(fd: number, useBigint: true, req: undefined, ctx: FSSyncContext): BigUint64Array;
+ function fstat(fd: number, useBigint: false, req: undefined, ctx: FSSyncContext): Float64Array;
+ function fstat(fd: number, useBigint: boolean, usePromises: typeof kUsePromises): Promise<Float64Array | BigUint64Array>;
+ function fstat(fd: number, useBigint: true, usePromises: typeof kUsePromises): Promise<BigUint64Array>;
+ function fstat(fd: number, useBigint: false, usePromises: typeof kUsePromises): Promise<Float64Array>;
+
+ function fsync(fd: number, req: FSReqCallback): void;
+ function fsync(fd: number, req: undefined, ctx: FSSyncContext): void;
+ function fsync(fd: number, usePromises: typeof kUsePromises): Promise<void>;
+
+ function ftruncate(fd: number, len: number, req: FSReqCallback): void;
+ function ftruncate(fd: number, len: number, req: undefined, ctx: FSSyncContext): void;
+ function ftruncate(fd: number, len: number, usePromises: typeof kUsePromises): Promise<void>;
+
+ function futimes(fd: number, atime: number, mtime: number, req: FSReqCallback): void;
+ function futimes(fd: number, atime: number, mtime: number, req: undefined, ctx: FSSyncContext): void;
+ function futimes(fd: number, atime: number, mtime: number, usePromises: typeof kUsePromises): Promise<void>;
+
+ function internalModuleReadJSON(path: string): [] | [string, boolean];
+ function internalModuleStat(path: string): number;
+
+ function lchown(path: string, uid: number, gid: number, req: FSReqCallback): void;
+ function lchown(path: string, uid: number, gid: number, req: undefined, ctx: FSSyncContext): void;
+ function lchown(path: string, uid: number, gid: number, usePromises: typeof kUsePromises): Promise<void>;
+
+ function link(existingPath: string, newPath: string, req: FSReqCallback): void;
+ function link(existingPath: string, newPath: string, req: undefined, ctx: FSSyncContext): void;
+ function link(existingPath: string, newPath: string, usePromises: typeof kUsePromises): Promise<void>;
+
+ function lstat(path: StringOrBuffer, useBigint: boolean, req: FSReqCallback<Float64Array | BigUint64Array>): void;
+ function lstat(path: StringOrBuffer, useBigint: true, req: FSReqCallback<BigUint64Array>): void;
+ function lstat(path: StringOrBuffer, useBigint: false, req: FSReqCallback<Float64Array>): void;
+ function lstat(path: StringOrBuffer, useBigint: boolean, req: undefined, ctx: FSSyncContext): Float64Array | BigUint64Array;
+ function lstat(path: StringOrBuffer, useBigint: true, req: undefined, ctx: FSSyncContext): BigUint64Array;
+ function lstat(path: StringOrBuffer, useBigint: false, req: undefined, ctx: FSSyncContext): Float64Array;
+ function lstat(path: StringOrBuffer, useBigint: boolean, usePromises: typeof kUsePromises): Promise<Float64Array | BigUint64Array>;
+ function lstat(path: StringOrBuffer, useBigint: true, usePromises: typeof kUsePromises): Promise<BigUint64Array>;
+ function lstat(path: StringOrBuffer, useBigint: false, usePromises: typeof kUsePromises): Promise<Float64Array>;
+
+ function lutimes(path: string, atime: number, mtime: number, req: FSReqCallback): void;
+ function lutimes(path: string, atime: number, mtime: number, req: undefined, ctx: FSSyncContext): void;
+ function lutimes(path: string, atime: number, mtime: number, usePromises: typeof kUsePromises): Promise<void>;
+
+ function mkdtemp(prefix: string, encoding: unknown, req: FSReqCallback<string>): void;
+ function mkdtemp(prefix: string, encoding: unknown, req: undefined, ctx: FSSyncContext): string;
+ function mkdtemp(prefix: string, encoding: unknown, usePromises: typeof kUsePromises): Promise<string>;
+
+ function mkdir(path: string, mode: number, recursive: boolean, req: FSReqCallback<void | string>): void;
+ function mkdir(path: string, mode: number, recursive: true, req: FSReqCallback<string>): void;
+ function mkdir(path: string, mode: number, recursive: false, req: FSReqCallback<void>): void;
+ function mkdir(path: string, mode: number, recursive: boolean, req: undefined, ctx: FSSyncContext): void | string;
+ function mkdir(path: string, mode: number, recursive: true, req: undefined, ctx: FSSyncContext): string;
+ function mkdir(path: string, mode: number, recursive: false, req: undefined, ctx: FSSyncContext): void;
+ function mkdir(path: string, mode: number, recursive: boolean, usePromises: typeof kUsePromises): Promise<void | string>;
+ function mkdir(path: string, mode: number, recursive: true, usePromises: typeof kUsePromises): Promise<string>;
+ function mkdir(path: string, mode: number, recursive: false, usePromises: typeof kUsePromises): Promise<void>;
+
+ function open(path: StringOrBuffer, flags: number, mode: number, req: FSReqCallback<number>): void;
+ function open(path: StringOrBuffer, flags: number, mode: number, req: undefined, ctx: FSSyncContext): number;
+
+ function openFileHandle(path: StringOrBuffer, flags: number, mode: number, usePromises: typeof kUsePromises): Promise<FileHandle>;
+
+ function read(fd: number, buffer: ArrayBufferView, offset: number, length: number, position: number, req: FSReqCallback<number>): void;
+ function read(fd: number, buffer: ArrayBufferView, offset: number, length: number, position: number, req: undefined, ctx: FSSyncContext): number;
+ function read(fd: number, buffer: ArrayBufferView, offset: number, length: number, position: number, usePromises: typeof kUsePromises): Promise<number>;
+
+ function readBuffers(fd: number, buffers: ArrayBufferView[], position: number, req: FSReqCallback<number>): void;
+ function readBuffers(fd: number, buffers: ArrayBufferView[], position: number, req: undefined, ctx: FSSyncContext): number;
+ function readBuffers(fd: number, buffers: ArrayBufferView[], position: number, usePromises: typeof kUsePromises): Promise<number>;
+
+ function readdir(path: StringOrBuffer, encoding: unknown, withFileTypes: boolean, req: FSReqCallback<string[] | [string[], number[]]>): void;
+ function readdir(path: StringOrBuffer, encoding: unknown, withFileTypes: true, req: FSReqCallback<[string[], number[]]>): void;
+ function readdir(path: StringOrBuffer, encoding: unknown, withFileTypes: false, req: FSReqCallback<string[]>): void;
+ function readdir(path: StringOrBuffer, encoding: unknown, withFileTypes: boolean, req: undefined, ctx: FSSyncContext): string[] | [string[], number[]];
+ function readdir(path: StringOrBuffer, encoding: unknown, withFileTypes: true, req: undefined, ctx: FSSyncContext): [string[], number[]];
+ function readdir(path: StringOrBuffer, encoding: unknown, withFileTypes: false, req: undefined, ctx: FSSyncContext): string[];
+ function readdir(path: StringOrBuffer, encoding: unknown, withFileTypes: boolean, usePromises: typeof kUsePromises): Promise<string[] | [string[], number[]]>;
+ function readdir(path: StringOrBuffer, encoding: unknown, withFileTypes: true, usePromises: typeof kUsePromises): Promise<[string[], number[]]>;
+ function readdir(path: StringOrBuffer, encoding: unknown, withFileTypes: false, usePromises: typeof kUsePromises): Promise<string[]>;
+
+ function readlink(path: StringOrBuffer, encoding: unknown, req: FSReqCallback<string | Buffer>): void;
+ function readlink(path: StringOrBuffer, encoding: unknown, req: undefined, ctx: FSSyncContext): string | Buffer;
+ function readlink(path: StringOrBuffer, encoding: unknown, usePromises: typeof kUsePromises): Promise<string | Buffer>;
+
+ function realpath(path: StringOrBuffer, encoding: unknown, req: FSReqCallback<string | Buffer>): void;
+ function realpath(path: StringOrBuffer, encoding: unknown, req: undefined, ctx: FSSyncContext): string | Buffer;
+ function realpath(path: StringOrBuffer, encoding: unknown, usePromises: typeof kUsePromises): Promise<string | Buffer>;
+
+ function rename(oldPath: string, newPath: string, req: FSReqCallback): void;
+ function rename(oldPath: string, newPath: string, req: undefined, ctx: FSSyncContext): void;
+ function rename(oldPath: string, newPath: string, usePromises: typeof kUsePromises): Promise<void>;
+
+ function rmdir(path: string, req: FSReqCallback): void;
+ function rmdir(path: string, req: undefined, ctx: FSSyncContext): void;
+ function rmdir(path: string, usePromises: typeof kUsePromises): Promise<void>;
+
+ function stat(path: StringOrBuffer, useBigint: boolean, req: FSReqCallback<Float64Array | BigUint64Array>): void;
+ function stat(path: StringOrBuffer, useBigint: true, req: FSReqCallback<BigUint64Array>): void;
+ function stat(path: StringOrBuffer, useBigint: false, req: FSReqCallback<Float64Array>): void;
+ function stat(path: StringOrBuffer, useBigint: boolean, req: undefined, ctx: FSSyncContext): Float64Array | BigUint64Array;
+ function stat(path: StringOrBuffer, useBigint: true, req: undefined, ctx: FSSyncContext): BigUint64Array;
+ function stat(path: StringOrBuffer, useBigint: false, req: undefined, ctx: FSSyncContext): Float64Array;
+ function stat(path: StringOrBuffer, useBigint: boolean, usePromises: typeof kUsePromises): Promise<Float64Array | BigUint64Array>;
+ function stat(path: StringOrBuffer, useBigint: true, usePromises: typeof kUsePromises): Promise<BigUint64Array>;
+ function stat(path: StringOrBuffer, useBigint: false, usePromises: typeof kUsePromises): Promise<Float64Array>;
+
+ function symlink(target: StringOrBuffer, path: StringOrBuffer, type: number, req: FSReqCallback): void;
+ function symlink(target: StringOrBuffer, path: StringOrBuffer, type: number, req: undefined, ctx: FSSyncContext): void;
+ function symlink(target: StringOrBuffer, path: StringOrBuffer, type: number, usePromises: typeof kUsePromises): Promise<void>;
+
+ function unlink(path: string, req: FSReqCallback): void;
+ function unlink(path: string, req: undefined, ctx: FSSyncContext): void;
+ function unlink(path: string, usePromises: typeof kUsePromises): Promise<void>;
+
+ function utimes(path: string, atime: number, mtime: number, req: FSReqCallback): void;
+ function utimes(path: string, atime: number, mtime: number, req: undefined, ctx: FSSyncContext): void;
+ function utimes(path: string, atime: number, mtime: number, usePromises: typeof kUsePromises): Promise<void>;
+
+ function writeBuffer(fd: number, buffer: ArrayBufferView, offset: number, length: number, position: number | null, req: FSReqCallback<number>): void;
+ function writeBuffer(fd: number, buffer: ArrayBufferView, offset: number, length: number, position: number | null, req: undefined, ctx: FSSyncContext): number;
+ function writeBuffer(fd: number, buffer: ArrayBufferView, offset: number, length: number, position: number | null, usePromises: typeof kUsePromises): Promise<number>;
+
+ function writeBuffers(fd: number, buffers: ArrayBufferView[], position: number, req: FSReqCallback<number>): void;
+ function writeBuffers(fd: number, buffers: ArrayBufferView[], position: number, req: undefined, ctx: FSSyncContext): number;
+ function writeBuffers(fd: number, buffers: ArrayBufferView[], position: number, usePromises: typeof kUsePromises): Promise<number>;
+
+ function writeString(fd: number, value: string, pos: unknown, encoding: unknown, req: FSReqCallback<number>): void;
+ function writeString(fd: number, value: string, pos: unknown, encoding: unknown, req: undefined, ctx: FSSyncContext): number;
+ function writeString(fd: number, value: string, pos: unknown, encoding: unknown, usePromises: typeof kUsePromises): Promise<number>;
+}
+
+declare function InternalBinding(binding: 'fs'): {
+ FSReqCallback: typeof InternalFSBinding.FSReqCallback;
+
+ FileHandle: typeof InternalFSBinding.FileHandle;
+
+ kUsePromises: typeof InternalFSBinding.kUsePromises;
+
+ statValues: Float64Array;
+ bigintStatValues: BigUint64Array;
+
+ kFsStatsFieldsNumber: number;
+ StatWatcher: typeof InternalFSBinding.StatWatcher;
+
+ access: typeof InternalFSBinding.access;
+ chmod: typeof InternalFSBinding.chmod;
+ chown: typeof InternalFSBinding.chown;
+ close: typeof InternalFSBinding.close;
+ copyFile: typeof InternalFSBinding.copyFile;
+ fchmod: typeof InternalFSBinding.fchmod;
+ fchown: typeof InternalFSBinding.fchown;
+ fdatasync: typeof InternalFSBinding.fdatasync;
+ fstat: typeof InternalFSBinding.fstat;
+ fsync: typeof InternalFSBinding.fsync;
+ ftruncate: typeof InternalFSBinding.ftruncate;
+ futimes: typeof InternalFSBinding.futimes;
+ internalModuleReadJSON: typeof InternalFSBinding.internalModuleReadJSON;
+ internalModuleStat: typeof InternalFSBinding.internalModuleStat;
+ lchown: typeof InternalFSBinding.lchown;
+ link: typeof InternalFSBinding.link;
+ lstat: typeof InternalFSBinding.lstat;
+ lutimes: typeof InternalFSBinding.lutimes;
+ mkdtemp: typeof InternalFSBinding.mkdtemp;
+ mkdir: typeof InternalFSBinding.mkdir;
+ open: typeof InternalFSBinding.open;
+ openFileHandle: typeof InternalFSBinding.openFileHandle;
+ read: typeof InternalFSBinding.read;
+ readBuffers: typeof InternalFSBinding.readBuffers;
+ readdir: typeof InternalFSBinding.readdir;
+ readlink: typeof InternalFSBinding.readlink;
+ realpath: typeof InternalFSBinding.realpath;
+ rename: typeof InternalFSBinding.rename;
+ rmdir: typeof InternalFSBinding.rmdir;
+ stat: typeof InternalFSBinding.stat;
+ symlink: typeof InternalFSBinding.symlink;
+ unlink: typeof InternalFSBinding.unlink;
+ utimes: typeof InternalFSBinding.utimes;
+ writeBuffer: typeof InternalFSBinding.writeBuffer;
+ writeBuffers: typeof InternalFSBinding.writeBuffers;
+ writeString: typeof InternalFSBinding.writeString;
+};