blob: 7d71b64f2f0b91d63fc9a4c08e4c6017d0e1d21d [file] [log] [blame]
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Generated from Web IDL definitions.
import 'dart:js_interop';
typedef ErrorCallback = JSFunction;
typedef FileSystemEntryCallback = JSFunction;
typedef FileSystemEntriesCallback = JSFunction;
typedef FileCallback = JSFunction;
@JS('FileSystemEntry')
@staticInterop
class FileSystemEntry {}
extension FileSystemEntryExtension on FileSystemEntry {
external void getParent([
FileSystemEntryCallback successCallback,
ErrorCallback errorCallback,
]);
external bool get isFile;
external bool get isDirectory;
external String get name;
external String get fullPath;
external FileSystem get filesystem;
}
@JS('FileSystemDirectoryEntry')
@staticInterop
class FileSystemDirectoryEntry implements FileSystemEntry {}
extension FileSystemDirectoryEntryExtension on FileSystemDirectoryEntry {
external FileSystemDirectoryReader createReader();
external void getFile([
String? path,
FileSystemFlags options,
FileSystemEntryCallback successCallback,
ErrorCallback errorCallback,
]);
external void getDirectory([
String? path,
FileSystemFlags options,
FileSystemEntryCallback successCallback,
ErrorCallback errorCallback,
]);
}
@JS()
@staticInterop
@anonymous
class FileSystemFlags {
external factory FileSystemFlags({
bool create,
bool exclusive,
});
}
extension FileSystemFlagsExtension on FileSystemFlags {
external set create(bool value);
external bool get create;
external set exclusive(bool value);
external bool get exclusive;
}
@JS('FileSystemDirectoryReader')
@staticInterop
class FileSystemDirectoryReader {}
extension FileSystemDirectoryReaderExtension on FileSystemDirectoryReader {
external void readEntries(
FileSystemEntriesCallback successCallback, [
ErrorCallback errorCallback,
]);
}
@JS('FileSystemFileEntry')
@staticInterop
class FileSystemFileEntry implements FileSystemEntry {}
extension FileSystemFileEntryExtension on FileSystemFileEntry {
external void file(
FileCallback successCallback, [
ErrorCallback errorCallback,
]);
}
@JS('FileSystem')
@staticInterop
class FileSystem {}
extension FileSystemExtension on FileSystem {
external String get name;
external FileSystemDirectoryEntry get root;
}