@jsonjoy.com/json-pack
Version:
High-performance JSON serialization library
36 lines (35 loc) • 2.08 kB
TypeScript
import { EventEmitter } from 'events';
import type * as structs from '../structs';
import type * as misc from 'memfs/lib/node/types/misc';
import type * as opts from 'memfs/lib/node/types/options';
import type { Nfsv4FsClient } from './Nfsv4FsClient';
/**
* Implements Node.js-like FileHandle interface for NFS v4 file operations.
*/
export declare class NfsFsFileHandle extends EventEmitter implements misc.IFileHandle {
readonly path: string;
private readonly client;
private readonly stateid;
private readonly openOwner;
readonly fd: number;
private closed;
constructor(fd: number, path: string, client: Nfsv4FsClient, stateid: structs.Nfsv4Stateid, openOwner: structs.Nfsv4OpenOwner);
getAsyncId(): number;
close(): Promise<void>;
stat(options?: opts.IStatOptions): Promise<misc.IStats>;
appendFile(data: misc.TData, options?: opts.IAppendFileOptions | string): Promise<void>;
chmod(mode: misc.TMode): Promise<void>;
chown(uid: number, gid: number): Promise<void>;
datasync(): Promise<void>;
read(buffer: Buffer | Uint8Array, offset: number, length: number, position?: number | null): Promise<misc.TFileHandleReadResult>;
readFile(options?: opts.IReadFileOptions | string): Promise<misc.TDataOut>;
truncate(len?: number): Promise<void>;
utimes(atime: misc.TTime, mtime: misc.TTime): Promise<void>;
write(buffer: Buffer | ArrayBufferView | DataView, offset?: number, length?: number, position?: number | null): Promise<misc.TFileHandleWriteResult>;
writeFile(data: misc.TData, options?: opts.IWriteFileOptions): Promise<void>;
readv(buffers: ArrayBufferView[], position?: number | null): Promise<misc.TFileHandleReadvResult>;
writev(buffers: ArrayBufferView[], position?: number | null): Promise<misc.TFileHandleWritevResult>;
readableWebStream(options?: opts.IReadableWebStreamOptions): ReadableStream;
createReadStream(options?: opts.IFileHandleReadStreamOptions): misc.IReadStream;
createWriteStream(options?: opts.IFileHandleWriteStreamOptions): misc.IWriteStream;
}