UNPKG

@zenfs/core

Version:

A filesystem, anywhere

57 lines (56 loc) 1.54 kB
import { Errno, ErrnoError } from '../error.js'; /** * Implements the non-readonly methods to throw `EROFS` */ /* eslint-disable @typescript-eslint/require-await */ export function Readonly(FS) { class ReadonlyFS extends FS { metadata() { return { ...super.metadata(), readonly: true }; } async rename() { throw new ErrnoError(Errno.EROFS); } renameSync() { throw new ErrnoError(Errno.EROFS); } async createFile() { throw new ErrnoError(Errno.EROFS); } createFileSync() { throw new ErrnoError(Errno.EROFS); } async unlink() { throw new ErrnoError(Errno.EROFS); } unlinkSync() { throw new ErrnoError(Errno.EROFS); } async rmdir() { throw new ErrnoError(Errno.EROFS); } rmdirSync() { throw new ErrnoError(Errno.EROFS); } async mkdir() { throw new ErrnoError(Errno.EROFS); } mkdirSync() { throw new ErrnoError(Errno.EROFS); } async link() { throw new ErrnoError(Errno.EROFS); } linkSync() { throw new ErrnoError(Errno.EROFS); } async sync() { throw new ErrnoError(Errno.EROFS); } syncSync() { throw new ErrnoError(Errno.EROFS); } } return ReadonlyFS; } /* eslint-enable @typescript-eslint/require-await */