All files / src/fsa index.ts

100% Statements 17/17
100% Branches 1/1
100% Functions 2/2
100% Lines 15/15

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 381x   1x   1x 1x 1x 1x 1x 1x 1x         1x         7x                       1x 2x 2x 2x    
import { CoreFileSystemDirectoryHandle } from './CoreFileSystemDirectoryHandle';
import { CoreFsaContext } from './types';
import { Superblock } from '../core/Superblock';
 
export * from './types';
export * from './CoreFileSystemHandle';
export * from './CoreFileSystemDirectoryHandle';
export * from './CoreFileSystemFileHandle';
export * from './CoreFileSystemSyncAccessHandle';
export * from './CoreFileSystemWritableFileStream';
export * from './CorePermissionStatus';
 
/**
 * Creates a File System Access API implementation on top of a Superblock.
 */
export const coreToFsa = (
  core: Superblock,
  dirPath: string = '/',
  ctx?: Partial<CoreFsaContext>,
): CoreFileSystemDirectoryHandle => {
  return new CoreFileSystemDirectoryHandle(core, dirPath, ctx);
};
 
/**
 * Create a new instance of an in-memory File System Access API
 * implementation rooted at the root directory of the filesystem.
 *
 * @param ctx Optional context for the File System Access API.
 * @returns A File System Access API implementation `dir` rooted at
 *     the root directory of the filesystem, as well as the `core`
 *     file system itself.
 */
export const fsa = (ctx?: Partial<CoreFsaContext>) => {
  const core = new Superblock();
  const dir = new CoreFileSystemDirectoryHandle(core, '/', ctx);
  return { dir, core };
};