UNPKG

@zenfs/core

Version:

A filesystem, anywhere

32 lines (31 loc) 1.4 kB
import type { FileSystem } from '../internal/filesystem.js'; import type { InodeLike } from '../internal/inode.js'; import type { Mixin } from './shared.js'; /** * @internal */ export interface ReadonlyMixin { rename(oldPath: string, newPath: string): Promise<never>; renameSync(oldPath: string, newPath: string): never; createFile(path: string, flag: string, mode: number): Promise<never>; createFileSync(path: string, flag: string, mode: number): never; unlink(path: string): Promise<never>; unlinkSync(path: string): never; rmdir(path: string): Promise<never>; rmdirSync(path: string): never; mkdir(path: string, mode: number): Promise<never>; mkdirSync(path: string, mode: number): never; link(srcpath: string, dstpath: string): Promise<never>; linkSync(srcpath: string, dstpath: string): never; touch(path: string, metadata: Readonly<InodeLike>): Promise<never>; touchSync(path: string, metadata: Readonly<InodeLike>): never; sync(): Promise<never>; syncSync(): never; write(path: string, buffer: Uint8Array, offset: number): Promise<never>; writeSync(path: string, buffer: Uint8Array, offset: number): never; } /** * Implements the non-readonly methods to throw `EROFS` * @category Internals */ export declare function Readonly<T extends abstract new (...args: any[]) => FileSystem>(FS: T): Mixin<T, ReadonlyMixin>;