diff --git a/src/fsa-to-node/FsaNodeFs.ts b/src/fsa-to-node/FsaNodeFs.ts index f6dd8bed1..ff1843568 100644 --- a/src/fsa-to-node/FsaNodeFs.ts +++ b/src/fsa-to-node/FsaNodeFs.ts @@ -819,7 +819,7 @@ export class FsaNodeFs extends FsaNodeCore implements FsCallbackApi, FsSynchrono const filename = pathToFilename(path); mode = mode | 0; const adapter = this.getSyncAdapter(); - adapter.call('access', { filename, mode }); + adapter.call('access', [filename, mode]); }; public readonly readFileSync: FsSynchronousApi['readFileSync'] = ( @@ -830,7 +830,7 @@ export class FsaNodeFs extends FsaNodeCore implements FsCallbackApi, FsSynchrono const flagsNum = flagsToNumber(opts.flag); const filename = this.getFileName(id); const adapter = this.getSyncAdapter(); - const uint8 = adapter.call('readFile', { filename, opts }); + const uint8 = adapter.call('readFile', [filename, opts]); const buffer = Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength); return bufferToEncoding(buffer, opts.encoding); }; @@ -846,7 +846,7 @@ export class FsaNodeFs extends FsaNodeCore implements FsCallbackApi, FsSynchrono const buf = dataToBuffer(data, opts.encoding); const filename = this.getFileName(id); const adapter = this.getSyncAdapter(); - adapter.call('writeFile', { filename, data: bufToUint8(buf), opts }); + adapter.call('writeFile', [filename, bufToUint8(buf), opts]); }; public readonly appendFileSync: FsSynchronousApi['appendFileSync'] = ( @@ -859,7 +859,7 @@ export class FsaNodeFs extends FsaNodeCore implements FsCallbackApi, FsSynchrono const filename = this.getFileName(id); const buf = dataToBuffer(data, opts.encoding); const adapter = this.getSyncAdapter(); - adapter.call('appendFile', { filename, data: bufToUint8(buf), opts }); + adapter.call('appendFile', [filename, bufToUint8(buf), opts]); }; public readonly closeSync: FsSynchronousApi['closeSync'] = (fd: number) => { @@ -887,7 +887,7 @@ export class FsaNodeFs extends FsaNodeCore implements FsCallbackApi, FsSynchrono const srcFilename = pathToFilename(src); const destFilename = pathToFilename(dest); const adapter = this.getSyncAdapter(); - adapter.call('copy', { src: srcFilename, dst: destFilename, flags }); + adapter.call('copy', [srcFilename, destFilename, flags]); }; public readonly renameSync: FsSynchronousApi['renameSync'] = ( @@ -897,7 +897,7 @@ export class FsaNodeFs extends FsaNodeCore implements FsCallbackApi, FsSynchrono const srcFilename = pathToFilename(oldPath); const destFilename = pathToFilename(newPath); const adapter = this.getSyncAdapter(); - adapter.call('move', { src: srcFilename, dst: destFilename }); + adapter.call('move', [srcFilename, destFilename]); }; public readonly rmdirSync: FsSynchronousApi['rmdirSync'] = (path: misc.PathLike, opts?: opts.IRmdirOptions): void => { diff --git a/src/fsa-to-node/index.ts b/src/fsa-to-node/index.ts index a270c79a0..80241e931 100644 --- a/src/fsa-to-node/index.ts +++ b/src/fsa-to-node/index.ts @@ -1,9 +1,3 @@ -import { FsaNodeFs } from './FsaNodeFs'; -import { FsaNodeSyncAdapterWorker } from './worker/FsaNodeSyncAdapterWorker'; -import type { IFileSystemDirectoryHandle } from '../fsa/types'; +export { FsaNodeFs } from './FsaNodeFs'; +export { FsaNodeSyncAdapterWorker } from './worker/FsaNodeSyncAdapterWorker'; -export { FsaNodeFs, FsaNodeSyncAdapterWorker }; - -export const fsaToNode = (root: IFileSystemDirectoryHandle) => { - return new FsaNodeFs(root); -}; diff --git a/src/fsa-to-node/types.ts b/src/fsa-to-node/types.ts index 23b14f1ee..77e65a6ea 100644 --- a/src/fsa-to-node/types.ts +++ b/src/fsa-to-node/types.ts @@ -9,12 +9,12 @@ export type FsLocation = [folder: string[], file: string]; */ export interface FsaNodeSyncAdapterApi { stat(location: FsLocation): FsaNodeSyncAdapterStats; - access(req: { filename: string; mode: number }): void; - readFile(req: { filename: string; opts?: opts.IReadFileOptions }): Uint8Array; - writeFile(req: { filename: string; data: Uint8Array; opts?: opts.IWriteFileOptions }): void; - appendFile(req: { filename: string; data: Uint8Array; opts?: opts.IAppendFileOptions }): void; - copy(req: { src: string; dst: string; flags?: number }): void; - move(req: { src: string; dst: string }): void; + access(req: [filename: string, mode: number]): void; + readFile(req: [filename: string, opts?: opts.IReadFileOptions]): Uint8Array; + writeFile(req: [filename: string, data: Uint8Array, opts?: opts.IWriteFileOptions]): void; + appendFile(req: [filename: string, data: Uint8Array, opts?: opts.IAppendFileOptions]): void; + copy(req: [src: string, dst: string, flags?: number]): void; + move(req: [src: string, dst: string]): void; rmdir(req: [filename: string, opts?: opts.IRmdirOptions]): void; rm(req: [filename: string, opts?: opts.IRmOptions]): void; mkdir(req: [filename: string, opts?: misc.TMode | opts.IMkdirOptions]): string | undefined; diff --git a/src/fsa-to-node/worker/FsaNodeSyncWorker.ts b/src/fsa-to-node/worker/FsaNodeSyncWorker.ts index b2cf9f90d..fabcbe870 100644 --- a/src/fsa-to-node/worker/FsaNodeSyncWorker.ts +++ b/src/fsa-to-node/worker/FsaNodeSyncWorker.ts @@ -122,24 +122,24 @@ export class FsaNodeSyncWorker { kind: handle.kind, }; }, - access: async ({ filename, mode }): Promise => { + access: async ([filename, mode]): Promise => { await this.fs.promises.access(filename, mode); }, - readFile: async ({ filename, opts }): Promise => { + readFile: async ([filename, opts]): Promise => { const buf = (await this.fs.promises.readFile(filename, { ...opts, encoding: 'buffer' })) as Buffer; const uint8 = new Uint8Array(buf, buf.byteOffset, buf.byteLength); return uint8; }, - writeFile: async ({ filename, data, opts }): Promise => { + writeFile: async ([filename, data, opts]): Promise => { await this.fs.promises.writeFile(filename, data, { ...opts, encoding: 'buffer' }); }, - appendFile: async ({ filename, data, opts }): Promise => { + appendFile: async ([filename, data, opts]): Promise => { await this.fs.promises.appendFile(filename, data, { ...opts, encoding: 'buffer' }); }, - copy: async ({ src, dst, flags }): Promise => { + copy: async ([src, dst, flags]): Promise => { await this.fs.promises.copyFile(src, dst, flags); }, - move: async ({ src, dst }): Promise => { + move: async ([src, dst]): Promise => { await this.fs.promises.rename(src, dst); }, rmdir: async ([filename, options]): Promise => {