// GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) // Source: File System Access (https://wicg.github.io/file-system-access/) enum FileSystemPermissionMode { "read", "readwrite" }; dictionary FileSystemPermissionDescriptor : PermissionDescriptor { required FileSystemHandle handle; FileSystemPermissionMode mode = "read"; }; dictionary FileSystemHandlePermissionDescriptor { FileSystemPermissionMode mode = "read"; }; enum FileSystemHandleKind { "file", "directory", }; [Exposed=(Window,Worker), SecureContext, Serializable] interface FileSystemHandle { readonly attribute FileSystemHandleKind kind; readonly attribute USVString name; Promise isSameEntry(FileSystemHandle other); Promise queryPermission(optional FileSystemHandlePermissionDescriptor descriptor = {}); Promise requestPermission(optional FileSystemHandlePermissionDescriptor descriptor = {}); }; dictionary FileSystemCreateWritableOptions { boolean keepExistingData = false; }; [Exposed=(Window,Worker), SecureContext, Serializable] interface FileSystemFileHandle : FileSystemHandle { Promise getFile(); Promise createWritable(optional FileSystemCreateWritableOptions options = {}); }; dictionary FileSystemGetFileOptions { boolean create = false; }; dictionary FileSystemGetDirectoryOptions { boolean create = false; }; dictionary FileSystemRemoveOptions { boolean recursive = false; }; [Exposed=(Window,Worker), SecureContext, Serializable] interface FileSystemDirectoryHandle : FileSystemHandle { async iterable; Promise getFileHandle(USVString name, optional FileSystemGetFileOptions options = {}); Promise getDirectoryHandle(USVString name, optional FileSystemGetDirectoryOptions options = {}); Promise removeEntry(USVString name, optional FileSystemRemoveOptions options = {}); Promise?> resolve(FileSystemHandle possibleDescendant); }; enum WriteCommandType { "write", "seek", "truncate", }; dictionary WriteParams { required WriteCommandType type; unsigned long long? size; unsigned long long? position; (BufferSource or Blob or USVString)? data; }; typedef (BufferSource or Blob or USVString or WriteParams) FileSystemWriteChunkType; [Exposed=(Window,Worker), SecureContext] interface FileSystemWritableFileStream : WritableStream { Promise write(FileSystemWriteChunkType data); Promise seek(unsigned long long position); Promise truncate(unsigned long long size); }; dictionary FilePickerAcceptType { USVString description; record)> accept; }; dictionary FilePickerOptions { sequence types; boolean excludeAcceptAllOption = false; }; dictionary OpenFilePickerOptions : FilePickerOptions { boolean multiple = false; }; dictionary SaveFilePickerOptions : FilePickerOptions { }; dictionary DirectoryPickerOptions { }; [SecureContext] partial interface Window { Promise> showOpenFilePicker(optional OpenFilePickerOptions options = {}); Promise showSaveFilePicker(optional SaveFilePickerOptions options = {}); Promise showDirectoryPicker(optional DirectoryPickerOptions options = {}); }; partial interface DataTransferItem { Promise getAsFileSystemHandle(); }; [SecureContext] partial interface StorageManager { Promise getDirectory(); };