@zenfs/core
Version:
A filesystem, anywhere
57 lines (56 loc) • 1.54 kB
JavaScript
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 */