blob: 43f12b70566789b5a68a452968114011865f3c1f [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';
import 'file_system_access.dart';
import 'streams.dart';
import 'webidl.dart';
typedef FileSystemWriteChunkType = JSAny;
typedef FileSystemHandleKind = String;
typedef WriteCommandType = String;
@JS('FileSystemHandle')
@staticInterop
class FileSystemHandle {}
extension FileSystemHandleExtension on FileSystemHandle {
external JSPromise queryPermission(
[FileSystemHandlePermissionDescriptor descriptor]);
external JSPromise requestPermission(
[FileSystemHandlePermissionDescriptor descriptor]);
external JSPromise isSameEntry(FileSystemHandle other);
external FileSystemHandleKind get kind;
external String get name;
}
@JS()
@staticInterop
@anonymous
class FileSystemCreateWritableOptions {
external factory FileSystemCreateWritableOptions({bool keepExistingData});
}
extension FileSystemCreateWritableOptionsExtension
on FileSystemCreateWritableOptions {
external set keepExistingData(bool value);
external bool get keepExistingData;
}
@JS('FileSystemFileHandle')
@staticInterop
class FileSystemFileHandle implements FileSystemHandle {}
extension FileSystemFileHandleExtension on FileSystemFileHandle {
external JSPromise getFile();
external JSPromise createWritable([FileSystemCreateWritableOptions options]);
external JSPromise createSyncAccessHandle();
}
@JS()
@staticInterop
@anonymous
class FileSystemGetFileOptions {
external factory FileSystemGetFileOptions({bool create});
}
extension FileSystemGetFileOptionsExtension on FileSystemGetFileOptions {
external set create(bool value);
external bool get create;
}
@JS()
@staticInterop
@anonymous
class FileSystemGetDirectoryOptions {
external factory FileSystemGetDirectoryOptions({bool create});
}
extension FileSystemGetDirectoryOptionsExtension
on FileSystemGetDirectoryOptions {
external set create(bool value);
external bool get create;
}
@JS()
@staticInterop
@anonymous
class FileSystemRemoveOptions {
external factory FileSystemRemoveOptions({bool recursive});
}
extension FileSystemRemoveOptionsExtension on FileSystemRemoveOptions {
external set recursive(bool value);
external bool get recursive;
}
@JS('FileSystemDirectoryHandle')
@staticInterop
class FileSystemDirectoryHandle implements FileSystemHandle {}
extension FileSystemDirectoryHandleExtension on FileSystemDirectoryHandle {
external JSPromise getFileHandle(
String name, [
FileSystemGetFileOptions options,
]);
external JSPromise getDirectoryHandle(
String name, [
FileSystemGetDirectoryOptions options,
]);
external JSPromise removeEntry(
String name, [
FileSystemRemoveOptions options,
]);
external JSPromise resolve(FileSystemHandle possibleDescendant);
}
@JS()
@staticInterop
@anonymous
class WriteParams {
external factory WriteParams({
required WriteCommandType type,
int? size,
int? position,
JSAny? data,
});
}
extension WriteParamsExtension on WriteParams {
external set type(WriteCommandType value);
external WriteCommandType get type;
external set size(int? value);
external int? get size;
external set position(int? value);
external int? get position;
external set data(JSAny? value);
external JSAny? get data;
}
@JS('FileSystemWritableFileStream')
@staticInterop
class FileSystemWritableFileStream implements WritableStream {}
extension FileSystemWritableFileStreamExtension
on FileSystemWritableFileStream {
external JSPromise write(FileSystemWriteChunkType data);
external JSPromise seek(int position);
external JSPromise truncate(int size);
}
@JS()
@staticInterop
@anonymous
class FileSystemReadWriteOptions {
external factory FileSystemReadWriteOptions({int at});
}
extension FileSystemReadWriteOptionsExtension on FileSystemReadWriteOptions {
external set at(int value);
external int get at;
}
@JS('FileSystemSyncAccessHandle')
@staticInterop
class FileSystemSyncAccessHandle {}
extension FileSystemSyncAccessHandleExtension on FileSystemSyncAccessHandle {
external int read(
AllowSharedBufferSource buffer, [
FileSystemReadWriteOptions options,
]);
external int write(
AllowSharedBufferSource buffer, [
FileSystemReadWriteOptions options,
]);
external void truncate(int newSize);
external int getSize();
external void flush();
external void close();
}