inDirectory static method

Future<OpfsFileSystem> inDirectory(
  1. Object root
)

Loads an OpfsFileSystem in the desired root directory, which must be a Dart wrapper around a FileSystemDirectoryHandle.

Implementation

static Future<OpfsFileSystem> inDirectory(Object root) async {
  Future<FileSystemSyncAccessHandle> open(String name) async {
    final handle = await (root as FileSystemDirectoryHandle)
        .openFile(name, create: true);
    return await handle.createSyncAccessHandle();
  }

  final meta = await open('meta');
  meta.truncate(2);
  final files = {
    for (final type in FileType.values) type: await open(type.name)
  };

  return OpfsFileSystem._(meta, files);
}