Skip to content

Commit a3a5512

Browse files
cawa-93sandersn
andauthored
Make the data property of MessageEvent generic (#860)
Co-authored-by: Nathan Shively-Sanders <[email protected]>
1 parent 71a0666 commit a3a5512

File tree

3 files changed

+51
-10
lines changed

3 files changed

+51
-10
lines changed

baselines/dom.generated.d.ts

100755100644
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -805,8 +805,8 @@ interface MediaTrackSupportedConstraints {
805805
width?: boolean;
806806
}
807807

808-
interface MessageEventInit extends EventInit {
809-
data?: any;
808+
interface MessageEventInit<T = any> extends EventInit {
809+
data?: T;
810810
lastEventId?: string;
811811
origin?: string;
812812
ports?: MessagePort[];
@@ -10395,11 +10395,11 @@ declare var MessageChannel: {
1039510395
};
1039610396

1039710397
/** A message received by a target object. */
10398-
interface MessageEvent extends Event {
10398+
interface MessageEvent<T = any> extends Event {
1039910399
/**
1040010400
* Returns the data of the message.
1040110401
*/
10402-
readonly data: any;
10402+
readonly data: T;
1040310403
/**
1040410404
* Returns the last event ID string, for server-sent events.
1040510405
*/
@@ -10420,7 +10420,7 @@ interface MessageEvent extends Event {
1042010420

1042110421
declare var MessageEvent: {
1042210422
prototype: MessageEvent;
10423-
new(type: string, eventInitDict?: MessageEventInit): MessageEvent;
10423+
new<T>(type: string, eventInitDict?: MessageEventInit<T>): MessageEvent<T>;
1042410424
};
1042510425

1042610426
interface MessagePortEventMap {

baselines/webworker.generated.d.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -262,8 +262,8 @@ interface KeyAlgorithm {
262262
name: string;
263263
}
264264

265-
interface MessageEventInit extends EventInit {
266-
data?: any;
265+
interface MessageEventInit<T = any> extends EventInit {
266+
data?: T;
267267
lastEventId?: string;
268268
origin?: string;
269269
ports?: MessagePort[];
@@ -2221,11 +2221,11 @@ declare var MessageChannel: {
22212221
};
22222222

22232223
/** A message received by a target object. */
2224-
interface MessageEvent extends Event {
2224+
interface MessageEvent<T = any> extends Event {
22252225
/**
22262226
* Returns the data of the message.
22272227
*/
2228-
readonly data: any;
2228+
readonly data: T;
22292229
/**
22302230
* Returns the last event ID string, for server-sent events.
22312231
*/
@@ -2246,7 +2246,7 @@ interface MessageEvent extends Event {
22462246

22472247
declare var MessageEvent: {
22482248
prototype: MessageEvent;
2249-
new(type: string, eventInitDict?: MessageEventInit): MessageEvent;
2249+
new<T>(type: string, eventInitDict?: MessageEventInit<T>): MessageEvent<T>;
22502250
};
22512251

22522252
interface MessagePortEventMap {

inputfiles/overridingTypes.json

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2696,6 +2696,29 @@
26962696
}
26972697
}
26982698
},
2699+
"MessageEvent": {
2700+
"name": "MessageEvent",
2701+
"properties": {
2702+
"property": {
2703+
"data": {
2704+
"name": "data",
2705+
"read-only": 1,
2706+
"override-type": "T"
2707+
}
2708+
}
2709+
},
2710+
"type-parameters": [
2711+
{
2712+
"name": "T",
2713+
"default": "any"
2714+
}
2715+
],
2716+
"constructor": {
2717+
"override-signatures": [
2718+
"new<T>(type: string, eventInitDict?: MessageEventInit<T>): MessageEvent<T>"
2719+
]
2720+
}
2721+
},
26992722
"Clients": {
27002723
"methods": {
27012724
"method": {
@@ -2711,6 +2734,24 @@
27112734
},
27122735
"dictionaries": {
27132736
"dictionary": {
2737+
"MessageEventInit": {
2738+
"name": "MessageEventInit",
2739+
"members": {
2740+
"member": {
2741+
"data": {
2742+
"name": "data",
2743+
"override-type": "T",
2744+
"required": 0
2745+
}
2746+
}
2747+
},
2748+
"type-parameters": [
2749+
{
2750+
"name": "T",
2751+
"default": "any"
2752+
}
2753+
]
2754+
},
27142755
"CustomEventInit": {
27152756
"name": "CustomEventInit",
27162757
"members": {

0 commit comments

Comments
 (0)