FsaNodeSyncWorker.d.ts 1.2 KB

1234567891011121314151617181920
  1. import { AsyncCallback, SyncMessenger } from './SyncMessenger';
  2. import { FsaNodeFs } from '../FsaNodeFs';
  3. import type * as fsa from '../../fsa/types';
  4. import type { FsaNodeWorkerMsg } from './types';
  5. import type { FsaNodeSyncAdapterApi } from '../types';
  6. export declare class FsaNodeSyncWorker {
  7. protected readonly sab: SharedArrayBuffer;
  8. protected readonly messenger: SyncMessenger;
  9. protected root: fsa.IFileSystemDirectoryHandle;
  10. protected fs: FsaNodeFs;
  11. start(): void;
  12. protected onPostMessage: (msg: FsaNodeWorkerMsg) => void;
  13. protected readonly onRequest: AsyncCallback;
  14. protected getDir(path: string[], create: boolean, funcName?: string): Promise<fsa.IFileSystemDirectoryHandle>;
  15. protected getFile(path: string[], name: string, funcName?: string, create?: boolean): Promise<fsa.IFileSystemFileHandle>;
  16. protected getFileOrDir(path: string[], name: string, funcName?: string, create?: boolean): Promise<fsa.IFileSystemFileHandle | fsa.IFileSystemDirectoryHandle>;
  17. protected handlers: {
  18. [K in keyof FsaNodeSyncAdapterApi]: (request: Parameters<FsaNodeSyncAdapterApi[K]>[0]) => Promise<ReturnType<FsaNodeSyncAdapterApi[K]>>;
  19. };
  20. }