Skip to content

Commit b8fc1e4

Browse files
committed
Switch to this:T for MessagePort and immediate subtypes
This allows more variable in non-immediate subtypes
1 parent f4e31bc commit b8fc1e4

13 files changed

+78
-105
lines changed

baselines/audioworklet.generated.d.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -682,14 +682,14 @@ interface MessageEventTargetEventMap {
682682
"messageerror": MessageEvent;
683683
}
684684

685-
interface MessageEventTarget {
685+
interface MessageEventTarget<T> {
686686
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/message_event) */
687-
onmessage: ((this: this, ev: MessageEvent) => any) | null;
687+
onmessage: ((this: MessageEventTarget<T>, ev: MessageEvent) => any) | null;
688688
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/messageerror_event) */
689-
onmessageerror: ((this: this, ev: MessageEvent) => any) | null;
690-
addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
689+
onmessageerror: ((this: MessageEventTarget<T>, ev: MessageEvent) => any) | null;
690+
addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget<T>, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
691691
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
692-
removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
692+
removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget<T>, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
693693
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
694694
}
695695

@@ -703,7 +703,7 @@ interface MessagePortEventMap extends MessageEventTargetEventMap {
703703
*
704704
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort)
705705
*/
706-
interface MessagePort extends EventTarget, MessageEventTarget {
706+
interface MessagePort extends EventTarget, MessageEventTarget<MessagePort> {
707707
/**
708708
* Disconnects the port, so that it is no longer active.
709709
*

baselines/dom.generated.d.ts

+7-9
Original file line numberDiff line numberDiff line change
@@ -16389,14 +16389,14 @@ interface MessageEventTargetEventMap {
1638916389
"messageerror": MessageEvent;
1639016390
}
1639116391

16392-
interface MessageEventTarget {
16392+
interface MessageEventTarget<T> {
1639316393
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/message_event) */
16394-
onmessage: ((this: this, ev: MessageEvent) => any) | null;
16394+
onmessage: ((this: MessageEventTarget<T>, ev: MessageEvent) => any) | null;
1639516395
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/messageerror_event) */
16396-
onmessageerror: ((this: this, ev: MessageEvent) => any) | null;
16397-
addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
16396+
onmessageerror: ((this: MessageEventTarget<T>, ev: MessageEvent) => any) | null;
16397+
addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget<T>, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1639816398
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
16399-
removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
16399+
removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget<T>, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1640016400
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1640116401
}
1640216402

@@ -16410,7 +16410,7 @@ interface MessagePortEventMap extends MessageEventTargetEventMap {
1641016410
*
1641116411
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort)
1641216412
*/
16413-
interface MessagePort extends EventTarget, MessageEventTarget {
16413+
interface MessagePort extends EventTarget, MessageEventTarget<MessagePort> {
1641416414
/**
1641516415
* Disconnects the port, so that it is no longer active.
1641616416
*
@@ -27259,16 +27259,14 @@ interface WindowSessionStorage {
2725927259
}
2726027260

2726127261
interface WorkerEventMap extends AbstractWorkerEventMap, MessageEventTargetEventMap {
27262-
"message": MessageEvent;
27263-
"messageerror": MessageEvent;
2726427262
}
2726527263

2726627264
/**
2726727265
* This Web Workers API interface represents a background task that can be easily created and can send messages back to its creator. Creating a worker is as simple as calling the Worker() constructor and specifying a script to be run in the worker thread.
2726827266
*
2726927267
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Worker)
2727027268
*/
27271-
interface Worker extends EventTarget, AbstractWorker, MessageEventTarget {
27269+
interface Worker extends EventTarget, AbstractWorker, MessageEventTarget<Worker> {
2727227270
/**
2727327271
* Clones message and transmits it to worker's global environment. transfer can be passed as a list of objects that are to be transferred rather than cloned.
2727427272
*

baselines/serviceworker.generated.d.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -3759,14 +3759,14 @@ interface MessageEventTargetEventMap {
37593759
"messageerror": MessageEvent;
37603760
}
37613761

3762-
interface MessageEventTarget {
3762+
interface MessageEventTarget<T> {
37633763
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/message_event) */
3764-
onmessage: ((this: this, ev: MessageEvent) => any) | null;
3764+
onmessage: ((this: MessageEventTarget<T>, ev: MessageEvent) => any) | null;
37653765
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/messageerror_event) */
3766-
onmessageerror: ((this: this, ev: MessageEvent) => any) | null;
3767-
addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3766+
onmessageerror: ((this: MessageEventTarget<T>, ev: MessageEvent) => any) | null;
3767+
addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget<T>, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
37683768
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3769-
removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3769+
removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget<T>, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
37703770
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
37713771
}
37723772

@@ -3780,7 +3780,7 @@ interface MessagePortEventMap extends MessageEventTargetEventMap {
37803780
*
37813781
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort)
37823782
*/
3783-
interface MessagePort extends EventTarget, MessageEventTarget {
3783+
interface MessagePort extends EventTarget, MessageEventTarget<MessagePort> {
37843784
/**
37853785
* Disconnects the port, so that it is no longer active.
37863786
*

baselines/sharedworker.generated.d.ts

+7-9
Original file line numberDiff line numberDiff line change
@@ -3648,14 +3648,14 @@ interface MessageEventTargetEventMap {
36483648
"messageerror": MessageEvent;
36493649
}
36503650

3651-
interface MessageEventTarget {
3651+
interface MessageEventTarget<T> {
36523652
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/message_event) */
3653-
onmessage: ((this: this, ev: MessageEvent) => any) | null;
3653+
onmessage: ((this: MessageEventTarget<T>, ev: MessageEvent) => any) | null;
36543654
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/messageerror_event) */
3655-
onmessageerror: ((this: this, ev: MessageEvent) => any) | null;
3656-
addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3655+
onmessageerror: ((this: MessageEventTarget<T>, ev: MessageEvent) => any) | null;
3656+
addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget<T>, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
36573657
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3658-
removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3658+
removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget<T>, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
36593659
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
36603660
}
36613661

@@ -3669,7 +3669,7 @@ interface MessagePortEventMap extends MessageEventTargetEventMap {
36693669
*
36703670
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort)
36713671
*/
3672-
interface MessagePort extends EventTarget, MessageEventTarget {
3672+
interface MessagePort extends EventTarget, MessageEventTarget<MessagePort> {
36733673
/**
36743674
* Disconnects the port, so that it is no longer active.
36753675
*
@@ -7841,16 +7841,14 @@ interface WindowOrWorkerGlobalScope {
78417841
}
78427842

78437843
interface WorkerEventMap extends AbstractWorkerEventMap, MessageEventTargetEventMap {
7844-
"message": MessageEvent;
7845-
"messageerror": MessageEvent;
78467844
}
78477845

78487846
/**
78497847
* This Web Workers API interface represents a background task that can be easily created and can send messages back to its creator. Creating a worker is as simple as calling the Worker() constructor and specifying a script to be run in the worker thread.
78507848
*
78517849
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Worker)
78527850
*/
7853-
interface Worker extends EventTarget, AbstractWorker, MessageEventTarget {
7851+
interface Worker extends EventTarget, AbstractWorker, MessageEventTarget<Worker> {
78547852
/**
78557853
* Clones message and transmits it to worker's global environment. transfer can be passed as a list of objects that are to be transferred rather than cloned.
78567854
*

baselines/ts5.5/audioworklet.generated.d.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -682,14 +682,14 @@ interface MessageEventTargetEventMap {
682682
"messageerror": MessageEvent;
683683
}
684684

685-
interface MessageEventTarget {
685+
interface MessageEventTarget<T> {
686686
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/message_event) */
687-
onmessage: ((this: this, ev: MessageEvent) => any) | null;
687+
onmessage: ((this: MessageEventTarget<T>, ev: MessageEvent) => any) | null;
688688
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/messageerror_event) */
689-
onmessageerror: ((this: this, ev: MessageEvent) => any) | null;
690-
addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
689+
onmessageerror: ((this: MessageEventTarget<T>, ev: MessageEvent) => any) | null;
690+
addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget<T>, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
691691
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
692-
removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
692+
removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget<T>, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
693693
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
694694
}
695695

@@ -703,7 +703,7 @@ interface MessagePortEventMap extends MessageEventTargetEventMap {
703703
*
704704
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort)
705705
*/
706-
interface MessagePort extends EventTarget, MessageEventTarget {
706+
interface MessagePort extends EventTarget, MessageEventTarget<MessagePort> {
707707
/**
708708
* Disconnects the port, so that it is no longer active.
709709
*

baselines/ts5.5/dom.generated.d.ts

+7-9
Original file line numberDiff line numberDiff line change
@@ -16369,14 +16369,14 @@ interface MessageEventTargetEventMap {
1636916369
"messageerror": MessageEvent;
1637016370
}
1637116371

16372-
interface MessageEventTarget {
16372+
interface MessageEventTarget<T> {
1637316373
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/message_event) */
16374-
onmessage: ((this: this, ev: MessageEvent) => any) | null;
16374+
onmessage: ((this: MessageEventTarget<T>, ev: MessageEvent) => any) | null;
1637516375
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/messageerror_event) */
16376-
onmessageerror: ((this: this, ev: MessageEvent) => any) | null;
16377-
addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
16376+
onmessageerror: ((this: MessageEventTarget<T>, ev: MessageEvent) => any) | null;
16377+
addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget<T>, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1637816378
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
16379-
removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
16379+
removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget<T>, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1638016380
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1638116381
}
1638216382

@@ -16390,7 +16390,7 @@ interface MessagePortEventMap extends MessageEventTargetEventMap {
1639016390
*
1639116391
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort)
1639216392
*/
16393-
interface MessagePort extends EventTarget, MessageEventTarget {
16393+
interface MessagePort extends EventTarget, MessageEventTarget<MessagePort> {
1639416394
/**
1639516395
* Disconnects the port, so that it is no longer active.
1639616396
*
@@ -27237,16 +27237,14 @@ interface WindowSessionStorage {
2723727237
}
2723827238

2723927239
interface WorkerEventMap extends AbstractWorkerEventMap, MessageEventTargetEventMap {
27240-
"message": MessageEvent;
27241-
"messageerror": MessageEvent;
2724227240
}
2724327241

2724427242
/**
2724527243
* This Web Workers API interface represents a background task that can be easily created and can send messages back to its creator. Creating a worker is as simple as calling the Worker() constructor and specifying a script to be run in the worker thread.
2724627244
*
2724727245
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Worker)
2724827246
*/
27249-
interface Worker extends EventTarget, AbstractWorker, MessageEventTarget {
27247+
interface Worker extends EventTarget, AbstractWorker, MessageEventTarget<Worker> {
2725027248
/**
2725127249
* Clones message and transmits it to worker's global environment. transfer can be passed as a list of objects that are to be transferred rather than cloned.
2725227250
*

baselines/ts5.5/serviceworker.generated.d.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -3759,14 +3759,14 @@ interface MessageEventTargetEventMap {
37593759
"messageerror": MessageEvent;
37603760
}
37613761

3762-
interface MessageEventTarget {
3762+
interface MessageEventTarget<T> {
37633763
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/message_event) */
3764-
onmessage: ((this: this, ev: MessageEvent) => any) | null;
3764+
onmessage: ((this: MessageEventTarget<T>, ev: MessageEvent) => any) | null;
37653765
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/messageerror_event) */
3766-
onmessageerror: ((this: this, ev: MessageEvent) => any) | null;
3767-
addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3766+
onmessageerror: ((this: MessageEventTarget<T>, ev: MessageEvent) => any) | null;
3767+
addEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget<T>, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
37683768
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3769-
removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3769+
removeEventListener<K extends keyof MessageEventTargetEventMap>(type: K, listener: (this: MessageEventTarget<T>, ev: MessageEventTargetEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
37703770
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
37713771
}
37723772

@@ -3780,7 +3780,7 @@ interface MessagePortEventMap extends MessageEventTargetEventMap {
37803780
*
37813781
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessagePort)
37823782
*/
3783-
interface MessagePort extends EventTarget, MessageEventTarget {
3783+
interface MessagePort extends EventTarget, MessageEventTarget<MessagePort> {
37843784
/**
37853785
* Disconnects the port, so that it is no longer active.
37863786
*

0 commit comments

Comments
 (0)