file-system-access icon indicating copy to clipboard operation
file-system-access copied to clipboard

Nested entries

Open TheCymaera opened this issue 3 years ago • 6 comments

It is common for IDEs and game-engine editors to specify resources using URIs or file paths.

To access a deeply nested file, we need to call getFileHandle and getDirectoryHandle recursively. Each level is an asynchronous operation that needs to be run sequentially.

I propose that the getFileHandle, getDirectoryHandle, and removeEntry methods be overloaded to accept an array/iterable argument.

directory.getFileHandle(["path", "to", "file.txt"]);

Alternatively, file names should accept slashes as delimiters.

directory.getFileHandle("path/to/file.txt");

The options parameter should include a createRecursive flag to complement the create flag.

directory.getFileHandle(["path", "to", "file.txt"], { createRecursive: true });
// Creates:
// path/
// path/to/
// path/to/file.txt

TheCymaera avatar Jul 10 '22 13:07 TheCymaera

You can easily implement it yourself, not sure if there would be an advantage in making the spec more complicated for that?

guillaumebrunerie avatar Jan 17 '23 18:01 guillaumebrunerie

Each level makes at least one file system call to check if the file exists. This takes anywhere between .2 to 1 milliseconds on the devices I've tried. The difference adds up quickly when processing multiple files.

TheCymaera avatar Jan 18 '23 11:01 TheCymaera