Skip to content

Commit a6be967

Browse files
committed
Consistently use Promise<void> instead of Promise<undefined>
lib.dom.d.ts ubiquitously uses Promise<void> for promises not resolving to undefined. It has done this for a long time. When the generator was written, there were 0 or 1 (I can't quite tell) places where this type of promise occured outside of a function return value. However, Web Streams are now widely supported, and they have properties that are promises that resolve to no value. These are currently typed as Promise<undefined>. This commit changes them to be typed as Promise<void>, to align with the rest of lib.dom.d.ts. There are 5 readonly properties that are impacted by this change.
1 parent 13115c8 commit a6be967

6 files changed

+27
-27
lines changed

baselines/audioworklet.generated.d.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -832,7 +832,7 @@ declare var ReadableStreamDefaultReader: {
832832

833833
interface ReadableStreamGenericReader {
834834
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/closed) */
835-
readonly closed: Promise<undefined>;
835+
readonly closed: Promise<void>;
836836
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/cancel) */
837837
cancel(reason?: any): Promise<void>;
838838
}
@@ -1121,11 +1121,11 @@ declare var WritableStreamDefaultController: {
11211121
*/
11221122
interface WritableStreamDefaultWriter<W = any> {
11231123
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/closed) */
1124-
readonly closed: Promise<undefined>;
1124+
readonly closed: Promise<void>;
11251125
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/desiredSize) */
11261126
readonly desiredSize: number | null;
11271127
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/ready) */
1128-
readonly ready: Promise<undefined>;
1128+
readonly ready: Promise<void>;
11291129
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/abort) */
11301130
abort(reason?: any): Promise<void>;
11311131
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/close) */

baselines/dom.generated.d.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -18564,7 +18564,7 @@ declare var ReadableStreamDefaultReader: {
1856418564

1856518565
interface ReadableStreamGenericReader {
1856618566
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/closed) */
18567-
readonly closed: Promise<undefined>;
18567+
readonly closed: Promise<void>;
1856818568
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/cancel) */
1856918569
cancel(reason?: any): Promise<void>;
1857018570
}
@@ -25448,7 +25448,7 @@ interface WebTransport {
2544825448
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/incomingUnidirectionalStreams) */
2544925449
readonly incomingUnidirectionalStreams: ReadableStream;
2545025450
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/ready) */
25451-
readonly ready: Promise<undefined>;
25451+
readonly ready: Promise<void>;
2545225452
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/close) */
2545325453
close(closeInfo?: WebTransportCloseInfo): void;
2545425454
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/createBidirectionalStream) */
@@ -26055,11 +26055,11 @@ declare var WritableStreamDefaultController: {
2605526055
*/
2605626056
interface WritableStreamDefaultWriter<W = any> {
2605726057
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/closed) */
26058-
readonly closed: Promise<undefined>;
26058+
readonly closed: Promise<void>;
2605926059
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/desiredSize) */
2606026060
readonly desiredSize: number | null;
2606126061
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/ready) */
26062-
readonly ready: Promise<undefined>;
26062+
readonly ready: Promise<void>;
2606326063
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/abort) */
2606426064
abort(reason?: any): Promise<void>;
2606526065
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/close) */

baselines/serviceworker.generated.d.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ interface ExtendableMessageEventInit extends ExtendableEventInit {
194194

195195
interface FetchEventInit extends ExtendableEventInit {
196196
clientId?: string;
197-
handled?: Promise<undefined>;
197+
handled?: Promise<void>;
198198
preloadResponse?: Promise<any>;
199199
replacesClientId?: string;
200200
request: Request;
@@ -2475,7 +2475,7 @@ interface FetchEvent extends ExtendableEvent {
24752475
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/clientId) */
24762476
readonly clientId: string;
24772477
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/handled) */
2478-
readonly handled: Promise<undefined>;
2478+
readonly handled: Promise<void>;
24792479
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/preloadResponse) */
24802480
readonly preloadResponse: Promise<any>;
24812481
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/request) */
@@ -4576,7 +4576,7 @@ declare var ReadableStreamDefaultReader: {
45764576

45774577
interface ReadableStreamGenericReader {
45784578
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/closed) */
4579-
readonly closed: Promise<undefined>;
4579+
readonly closed: Promise<void>;
45804580
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/cancel) */
45814581
cancel(reason?: any): Promise<void>;
45824582
}
@@ -7793,7 +7793,7 @@ interface WebTransport {
77937793
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/incomingUnidirectionalStreams) */
77947794
readonly incomingUnidirectionalStreams: ReadableStream;
77957795
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/ready) */
7796-
readonly ready: Promise<undefined>;
7796+
readonly ready: Promise<void>;
77977797
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/close) */
77987798
close(closeInfo?: WebTransportCloseInfo): void;
77997799
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/createBidirectionalStream) */
@@ -8087,11 +8087,11 @@ declare var WritableStreamDefaultController: {
80878087
*/
80888088
interface WritableStreamDefaultWriter<W = any> {
80898089
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/closed) */
8090-
readonly closed: Promise<undefined>;
8090+
readonly closed: Promise<void>;
80918091
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/desiredSize) */
80928092
readonly desiredSize: number | null;
80938093
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/ready) */
8094-
readonly ready: Promise<undefined>;
8094+
readonly ready: Promise<void>;
80958095
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/abort) */
80968096
abort(reason?: any): Promise<void>;
80978097
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/close) */

baselines/sharedworker.generated.d.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -4410,7 +4410,7 @@ declare var ReadableStreamDefaultReader: {
44104410

44114411
interface ReadableStreamGenericReader {
44124412
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/closed) */
4413-
readonly closed: Promise<undefined>;
4413+
readonly closed: Promise<void>;
44144414
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/cancel) */
44154415
cancel(reason?: any): Promise<void>;
44164416
}
@@ -7608,7 +7608,7 @@ interface WebTransport {
76087608
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/incomingUnidirectionalStreams) */
76097609
readonly incomingUnidirectionalStreams: ReadableStream;
76107610
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/ready) */
7611-
readonly ready: Promise<undefined>;
7611+
readonly ready: Promise<void>;
76127612
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/close) */
76137613
close(closeInfo?: WebTransportCloseInfo): void;
76147614
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/createBidirectionalStream) */
@@ -7920,11 +7920,11 @@ declare var WritableStreamDefaultController: {
79207920
*/
79217921
interface WritableStreamDefaultWriter<W = any> {
79227922
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/closed) */
7923-
readonly closed: Promise<undefined>;
7923+
readonly closed: Promise<void>;
79247924
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/desiredSize) */
79257925
readonly desiredSize: number | null;
79267926
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/ready) */
7927-
readonly ready: Promise<undefined>;
7927+
readonly ready: Promise<void>;
79287928
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/abort) */
79297929
abort(reason?: any): Promise<void>;
79307930
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/close) */

baselines/webworker.generated.d.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ interface ExtendableMessageEventInit extends ExtendableEventInit {
209209

210210
interface FetchEventInit extends ExtendableEventInit {
211211
clientId?: string;
212-
handled?: Promise<undefined>;
212+
handled?: Promise<void>;
213213
preloadResponse?: Promise<any>;
214214
replacesClientId?: string;
215215
request: Request;
@@ -2675,7 +2675,7 @@ interface FetchEvent extends ExtendableEvent {
26752675
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/clientId) */
26762676
readonly clientId: string;
26772677
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/handled) */
2678-
readonly handled: Promise<undefined>;
2678+
readonly handled: Promise<void>;
26792679
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/preloadResponse) */
26802680
readonly preloadResponse: Promise<any>;
26812681
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/FetchEvent/request) */
@@ -4851,7 +4851,7 @@ declare var ReadableStreamDefaultReader: {
48514851

48524852
interface ReadableStreamGenericReader {
48534853
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/closed) */
4854-
readonly closed: Promise<undefined>;
4854+
readonly closed: Promise<void>;
48554855
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamBYOBReader/cancel) */
48564856
cancel(reason?: any): Promise<void>;
48574857
}
@@ -8232,7 +8232,7 @@ interface WebTransport {
82328232
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/incomingUnidirectionalStreams) */
82338233
readonly incomingUnidirectionalStreams: ReadableStream;
82348234
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/ready) */
8235-
readonly ready: Promise<undefined>;
8235+
readonly ready: Promise<void>;
82368236
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/close) */
82378237
close(closeInfo?: WebTransportCloseInfo): void;
82388238
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebTransport/createBidirectionalStream) */
@@ -8565,11 +8565,11 @@ declare var WritableStreamDefaultController: {
85658565
*/
85668566
interface WritableStreamDefaultWriter<W = any> {
85678567
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/closed) */
8568-
readonly closed: Promise<undefined>;
8568+
readonly closed: Promise<void>;
85698569
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/desiredSize) */
85708570
readonly desiredSize: number | null;
85718571
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/ready) */
8572-
readonly ready: Promise<undefined>;
8572+
readonly ready: Promise<void>;
85738573
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/abort) */
85748574
abort(reason?: any): Promise<void>;
85758575
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/close) */

src/build/emitter.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,10 @@ export function emitWebIdl(
347347
}
348348
if (!obj.type)
349349
throw new Error("Missing 'type' field in " + JSON.stringify(obj));
350-
const type = convertDomTypeToTsTypeWorker(obj);
350+
let type = convertDomTypeToTsTypeWorker(obj);
351+
if (type === "Promise<undefined>") {
352+
type = "Promise<void>";
353+
}
351354
return obj.nullable ? makeNullable(type) : type;
352355
}
353356

@@ -356,9 +359,6 @@ export function emitWebIdl(
356359
if (type === "undefined") {
357360
return "void";
358361
}
359-
if (type === "Promise<undefined>") {
360-
return "Promise<void>";
361-
}
362362
if (type === "undefined | PromiseLike<undefined>") {
363363
return "void | PromiseLike<void>";
364364
}

0 commit comments

Comments
 (0)