diff --git a/src/lib/dom.asynciterable.generated.d.ts b/src/lib/dom.asynciterable.generated.d.ts index 9668532471f0e..7cf84243fa61d 100644 --- a/src/lib/dom.asynciterable.generated.d.ts +++ b/src/lib/dom.asynciterable.generated.d.ts @@ -2,22 +2,77 @@ /// Window Async Iterable APIs ///////////////////////////// -interface FileSystemDirectoryHandleAsyncIterator extends AsyncIteratorObject { - [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator; -} +/** + * Generic async iterable iterator type that conforms to both + * AsyncIterator and AsyncIterable protocols. + */ +type AsyncIterableIterator = AsyncIterator & { + [Symbol.asyncIterator](): AsyncIterableIterator; +}; + +// ========================== +// File System Access API +// ========================== +/** + * Represents a handle to a file or directory. + * Extend this interface based on actual implementation or spec. + */ +interface FileSystemHandle {} // Placeholder for real handle definition + +/** + * Represents a directory handle capable of returning async iterators + * for entries (key-value pairs), keys (file/directory names), and values (handles). + */ interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; - entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; - keys(): FileSystemDirectoryHandleAsyncIterator; - values(): FileSystemDirectoryHandleAsyncIterator; + /** + * Default async iterator over [name, handle] pairs. + */ + [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileSystemHandle]>; + + /** + * Returns an async iterator over [name, handle] pairs. + */ + entries(): AsyncIterableIterator<[string, FileSystemHandle]>; + + /** + * Returns an async iterator over file/directory names (keys). + */ + keys(): AsyncIterableIterator; + + /** + * Returns an async iterator over file/directory handles (values). + */ + values(): AsyncIterableIterator; } -interface ReadableStreamAsyncIterator extends AsyncIteratorObject { - [Symbol.asyncIterator](): ReadableStreamAsyncIterator; +// ========================== +// ReadableStream API +// ========================== + +/** + * Options for customizing the behavior of ReadableStream async iteration. + */ +interface ReadableStreamIteratorOptions { + /** + * If true, prevents canceling the stream when iteration ends early. + */ + preventCancel?: boolean; } +/** + * Extends ReadableStream with async iteration support via Symbol.asyncIterator + * and the `values()` method. This enables for-await-of streaming of chunks. + */ interface ReadableStream { - [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator; - values(options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator; + /** + * Returns an async iterator over stream chunks. + */ + [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): AsyncIterableIterator; + + /** + * Returns an async iterator over stream chunks. + * Functionally identical to Symbol.asyncIterator(). + */ + values(options?: ReadableStreamIteratorOptions): AsyncIterableIterator; }