From e62cce80df5b5f5475adacaf05f568fb9b2a442b Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Fri, 3 Oct 2025 23:42:58 +0200 Subject: [PATCH] Use union for FileSystemDirectoryHandle --- baselines/dom.generated.d.ts | 6 +++--- baselines/serviceworker.generated.d.ts | 6 +++--- baselines/sharedworker.generated.d.ts | 6 +++--- baselines/ts5.5/dom.asynciterable.generated.d.ts | 6 +++--- .../serviceworker.asynciterable.generated.d.ts | 6 +++--- .../sharedworker.asynciterable.generated.d.ts | 6 +++--- .../ts5.5/webworker.asynciterable.generated.d.ts | 6 +++--- baselines/ts5.6/dom.asynciterable.generated.d.ts | 6 +++--- .../serviceworker.asynciterable.generated.d.ts | 6 +++--- .../sharedworker.asynciterable.generated.d.ts | 6 +++--- .../ts5.6/webworker.asynciterable.generated.d.ts | 6 +++--- baselines/ts5.9/dom.asynciterable.generated.d.ts | 6 +++--- .../serviceworker.asynciterable.generated.d.ts | 6 +++--- .../sharedworker.asynciterable.generated.d.ts | 6 +++--- .../ts5.9/webworker.asynciterable.generated.d.ts | 6 +++--- baselines/webworker.generated.d.ts | 6 +++--- inputfiles/overridingTypes.jsonc | 14 +++++++++++++- 17 files changed, 61 insertions(+), 49 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index afc9acb2c..65f329b33 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -40739,10 +40739,10 @@ interface FileSystemDirectoryHandleAsyncIterator extends AsyncIteratorObject< } interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; - entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): FileSystemDirectoryHandleAsyncIterator; - values(): FileSystemDirectoryHandleAsyncIterator; + values(): FileSystemDirectoryHandleAsyncIterator; } interface ReadableStreamAsyncIterator extends AsyncIteratorObject { diff --git a/baselines/serviceworker.generated.d.ts b/baselines/serviceworker.generated.d.ts index b1ed5a6ff..17d8165f8 100644 --- a/baselines/serviceworker.generated.d.ts +++ b/baselines/serviceworker.generated.d.ts @@ -12056,10 +12056,10 @@ interface FileSystemDirectoryHandleAsyncIterator extends AsyncIteratorObject< } interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; - entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): FileSystemDirectoryHandleAsyncIterator; - values(): FileSystemDirectoryHandleAsyncIterator; + values(): FileSystemDirectoryHandleAsyncIterator; } interface ReadableStreamAsyncIterator extends AsyncIteratorObject { diff --git a/baselines/sharedworker.generated.d.ts b/baselines/sharedworker.generated.d.ts index c02be9081..c21022879 100644 --- a/baselines/sharedworker.generated.d.ts +++ b/baselines/sharedworker.generated.d.ts @@ -11727,10 +11727,10 @@ interface FileSystemDirectoryHandleAsyncIterator extends AsyncIteratorObject< } interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; - entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): FileSystemDirectoryHandleAsyncIterator; - values(): FileSystemDirectoryHandleAsyncIterator; + values(): FileSystemDirectoryHandleAsyncIterator; } interface ReadableStreamAsyncIterator extends AsyncIteratorObject { diff --git a/baselines/ts5.5/dom.asynciterable.generated.d.ts b/baselines/ts5.5/dom.asynciterable.generated.d.ts index 51955bc30..5808a5921 100644 --- a/baselines/ts5.5/dom.asynciterable.generated.d.ts +++ b/baselines/ts5.5/dom.asynciterable.generated.d.ts @@ -3,10 +3,10 @@ ///////////////////////////// interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileSystemHandle]>; - entries(): AsyncIterableIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): AsyncIterableIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): AsyncIterableIterator; - values(): AsyncIterableIterator; + values(): AsyncIterableIterator; } interface ReadableStream { diff --git a/baselines/ts5.5/serviceworker.asynciterable.generated.d.ts b/baselines/ts5.5/serviceworker.asynciterable.generated.d.ts index b788ec6ea..95f8eaa13 100644 --- a/baselines/ts5.5/serviceworker.asynciterable.generated.d.ts +++ b/baselines/ts5.5/serviceworker.asynciterable.generated.d.ts @@ -3,10 +3,10 @@ ///////////////////////////// interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileSystemHandle]>; - entries(): AsyncIterableIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): AsyncIterableIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): AsyncIterableIterator; - values(): AsyncIterableIterator; + values(): AsyncIterableIterator; } interface ReadableStream { diff --git a/baselines/ts5.5/sharedworker.asynciterable.generated.d.ts b/baselines/ts5.5/sharedworker.asynciterable.generated.d.ts index 36e5a04d1..9ea890162 100644 --- a/baselines/ts5.5/sharedworker.asynciterable.generated.d.ts +++ b/baselines/ts5.5/sharedworker.asynciterable.generated.d.ts @@ -3,10 +3,10 @@ ///////////////////////////// interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileSystemHandle]>; - entries(): AsyncIterableIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): AsyncIterableIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): AsyncIterableIterator; - values(): AsyncIterableIterator; + values(): AsyncIterableIterator; } interface ReadableStream { diff --git a/baselines/ts5.5/webworker.asynciterable.generated.d.ts b/baselines/ts5.5/webworker.asynciterable.generated.d.ts index 11c9e1982..019ea7fd6 100644 --- a/baselines/ts5.5/webworker.asynciterable.generated.d.ts +++ b/baselines/ts5.5/webworker.asynciterable.generated.d.ts @@ -3,10 +3,10 @@ ///////////////////////////// interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileSystemHandle]>; - entries(): AsyncIterableIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): AsyncIterableIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): AsyncIterableIterator; - values(): AsyncIterableIterator; + values(): AsyncIterableIterator; } interface ReadableStream { diff --git a/baselines/ts5.6/dom.asynciterable.generated.d.ts b/baselines/ts5.6/dom.asynciterable.generated.d.ts index 966853247..d621cfb21 100644 --- a/baselines/ts5.6/dom.asynciterable.generated.d.ts +++ b/baselines/ts5.6/dom.asynciterable.generated.d.ts @@ -7,10 +7,10 @@ interface FileSystemDirectoryHandleAsyncIterator extends AsyncIteratorObject< } interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; - entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): FileSystemDirectoryHandleAsyncIterator; - values(): FileSystemDirectoryHandleAsyncIterator; + values(): FileSystemDirectoryHandleAsyncIterator; } interface ReadableStreamAsyncIterator extends AsyncIteratorObject { diff --git a/baselines/ts5.6/serviceworker.asynciterable.generated.d.ts b/baselines/ts5.6/serviceworker.asynciterable.generated.d.ts index db0939023..b2995ddc6 100644 --- a/baselines/ts5.6/serviceworker.asynciterable.generated.d.ts +++ b/baselines/ts5.6/serviceworker.asynciterable.generated.d.ts @@ -7,10 +7,10 @@ interface FileSystemDirectoryHandleAsyncIterator extends AsyncIteratorObject< } interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; - entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): FileSystemDirectoryHandleAsyncIterator; - values(): FileSystemDirectoryHandleAsyncIterator; + values(): FileSystemDirectoryHandleAsyncIterator; } interface ReadableStreamAsyncIterator extends AsyncIteratorObject { diff --git a/baselines/ts5.6/sharedworker.asynciterable.generated.d.ts b/baselines/ts5.6/sharedworker.asynciterable.generated.d.ts index 57e7206f4..738ae7a42 100644 --- a/baselines/ts5.6/sharedworker.asynciterable.generated.d.ts +++ b/baselines/ts5.6/sharedworker.asynciterable.generated.d.ts @@ -7,10 +7,10 @@ interface FileSystemDirectoryHandleAsyncIterator extends AsyncIteratorObject< } interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; - entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): FileSystemDirectoryHandleAsyncIterator; - values(): FileSystemDirectoryHandleAsyncIterator; + values(): FileSystemDirectoryHandleAsyncIterator; } interface ReadableStreamAsyncIterator extends AsyncIteratorObject { diff --git a/baselines/ts5.6/webworker.asynciterable.generated.d.ts b/baselines/ts5.6/webworker.asynciterable.generated.d.ts index d446d4f08..6904ed9c4 100644 --- a/baselines/ts5.6/webworker.asynciterable.generated.d.ts +++ b/baselines/ts5.6/webworker.asynciterable.generated.d.ts @@ -7,10 +7,10 @@ interface FileSystemDirectoryHandleAsyncIterator extends AsyncIteratorObject< } interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; - entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): FileSystemDirectoryHandleAsyncIterator; - values(): FileSystemDirectoryHandleAsyncIterator; + values(): FileSystemDirectoryHandleAsyncIterator; } interface ReadableStreamAsyncIterator extends AsyncIteratorObject { diff --git a/baselines/ts5.9/dom.asynciterable.generated.d.ts b/baselines/ts5.9/dom.asynciterable.generated.d.ts index 966853247..d621cfb21 100644 --- a/baselines/ts5.9/dom.asynciterable.generated.d.ts +++ b/baselines/ts5.9/dom.asynciterable.generated.d.ts @@ -7,10 +7,10 @@ interface FileSystemDirectoryHandleAsyncIterator extends AsyncIteratorObject< } interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; - entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): FileSystemDirectoryHandleAsyncIterator; - values(): FileSystemDirectoryHandleAsyncIterator; + values(): FileSystemDirectoryHandleAsyncIterator; } interface ReadableStreamAsyncIterator extends AsyncIteratorObject { diff --git a/baselines/ts5.9/serviceworker.asynciterable.generated.d.ts b/baselines/ts5.9/serviceworker.asynciterable.generated.d.ts index db0939023..b2995ddc6 100644 --- a/baselines/ts5.9/serviceworker.asynciterable.generated.d.ts +++ b/baselines/ts5.9/serviceworker.asynciterable.generated.d.ts @@ -7,10 +7,10 @@ interface FileSystemDirectoryHandleAsyncIterator extends AsyncIteratorObject< } interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; - entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): FileSystemDirectoryHandleAsyncIterator; - values(): FileSystemDirectoryHandleAsyncIterator; + values(): FileSystemDirectoryHandleAsyncIterator; } interface ReadableStreamAsyncIterator extends AsyncIteratorObject { diff --git a/baselines/ts5.9/sharedworker.asynciterable.generated.d.ts b/baselines/ts5.9/sharedworker.asynciterable.generated.d.ts index 57e7206f4..738ae7a42 100644 --- a/baselines/ts5.9/sharedworker.asynciterable.generated.d.ts +++ b/baselines/ts5.9/sharedworker.asynciterable.generated.d.ts @@ -7,10 +7,10 @@ interface FileSystemDirectoryHandleAsyncIterator extends AsyncIteratorObject< } interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; - entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): FileSystemDirectoryHandleAsyncIterator; - values(): FileSystemDirectoryHandleAsyncIterator; + values(): FileSystemDirectoryHandleAsyncIterator; } interface ReadableStreamAsyncIterator extends AsyncIteratorObject { diff --git a/baselines/ts5.9/webworker.asynciterable.generated.d.ts b/baselines/ts5.9/webworker.asynciterable.generated.d.ts index d446d4f08..6904ed9c4 100644 --- a/baselines/ts5.9/webworker.asynciterable.generated.d.ts +++ b/baselines/ts5.9/webworker.asynciterable.generated.d.ts @@ -7,10 +7,10 @@ interface FileSystemDirectoryHandleAsyncIterator extends AsyncIteratorObject< } interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; - entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): FileSystemDirectoryHandleAsyncIterator; - values(): FileSystemDirectoryHandleAsyncIterator; + values(): FileSystemDirectoryHandleAsyncIterator; } interface ReadableStreamAsyncIterator extends AsyncIteratorObject { diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index b95d13d28..4abeaa26c 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -13736,10 +13736,10 @@ interface FileSystemDirectoryHandleAsyncIterator extends AsyncIteratorObject< } interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; - entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; + entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; keys(): FileSystemDirectoryHandleAsyncIterator; - values(): FileSystemDirectoryHandleAsyncIterator; + values(): FileSystemDirectoryHandleAsyncIterator; } interface ReadableStreamAsyncIterator extends AsyncIteratorObject { diff --git a/inputfiles/overridingTypes.jsonc b/inputfiles/overridingTypes.jsonc index 7d66659bf..0cf4b399c 100644 --- a/inputfiles/overridingTypes.jsonc +++ b/inputfiles/overridingTypes.jsonc @@ -2029,7 +2029,19 @@ // It's true that Blink is the only supported engine for Symbol.asyncIterator, // WebKit does support the keys/values/entries method and Gecko will soon follow. // Let's not go back and forth for this one. - "exposed": "Window Worker" + "exposed": "Window Worker", + "type": { + "1": { + "type": [ + { + "type": "FileSystemDirectoryHandle" + }, + { + "type": "FileSystemFileHandle" + } + ] + } + } } }, "MutationRecord": {