Skip to content

Commit 914f096

Browse files
author
falsandtru
committed
Add BroadcastChannel API
1 parent fe9b62d commit 914f096

File tree

3 files changed

+92
-0
lines changed

3 files changed

+92
-0
lines changed

baselines/dom.generated.d.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13828,6 +13828,26 @@ interface XMLHttpRequestEventTarget {
1382813828
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
1382913829
}
1383013830

13831+
interface BroadcastChannel extends EventTarget {
13832+
readonly name: string;
13833+
onmessage: (ev: MessageEvent) => any;
13834+
onmessageerror: (ev: MessageEvent) => any;
13835+
close(): void;
13836+
postMessage(message: any): void;
13837+
addEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, useCapture?: boolean): void;
13838+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
13839+
}
13840+
13841+
declare var BroadcastChannel: {
13842+
prototype: BroadcastChannel;
13843+
new(name: string): BroadcastChannel;
13844+
};
13845+
13846+
interface BroadcastChannelEventMap {
13847+
message: MessageEvent;
13848+
messageerror: MessageEvent;
13849+
}
13850+
1383113851
interface ErrorEventInit {
1383213852
message?: string;
1383313853
filename?: string;

baselines/webworker.generated.d.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1490,6 +1490,26 @@ interface WorkerUtils extends Object, WindowBase64 {
14901490
setTimeout(handler: any, timeout?: any, ...args: any[]): number;
14911491
}
14921492

1493+
interface BroadcastChannel extends EventTarget {
1494+
readonly name: string;
1495+
onmessage: (ev: MessageEvent) => any;
1496+
onmessageerror: (ev: MessageEvent) => any;
1497+
close(): void;
1498+
postMessage(message: any): void;
1499+
addEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, useCapture?: boolean): void;
1500+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
1501+
}
1502+
1503+
declare var BroadcastChannel: {
1504+
prototype: BroadcastChannel;
1505+
new(name: string): BroadcastChannel;
1506+
};
1507+
1508+
interface BroadcastChannelEventMap {
1509+
message: MessageEvent;
1510+
messageerror: MessageEvent;
1511+
}
1512+
14931513
interface ErrorEventInit {
14941514
message?: string;
14951515
filename?: string;

inputfiles/addedTypes.json

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,56 @@
11
[
2+
{
3+
"kind": "interface",
4+
"name": "BroadcastChannel",
5+
"extends": "EventTarget",
6+
"constructorSignatures": ["new(name: string): BroadcastChannel"],
7+
"properties": [
8+
{
9+
"readonly": true,
10+
"name": "name",
11+
"type": "string"
12+
},
13+
{
14+
"name": "onmessage",
15+
"type": "(ev: MessageEvent) => any"
16+
},
17+
{
18+
"name": "onmessageerror",
19+
"type": "(ev: MessageEvent) => any"
20+
}
21+
],
22+
"methods": [
23+
{
24+
"name": "close",
25+
"signatures": ["close(): void"]
26+
},
27+
{
28+
"name": "postMessage",
29+
"signatures": ["postMessage(message: any): void"]
30+
},
31+
{
32+
"name": "addEventListener",
33+
"signatures": [
34+
"addEventListener<K extends keyof BroadcastChannelEventMap>(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, useCapture?: boolean): void",
35+
"addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void"
36+
]
37+
}
38+
]
39+
},
40+
{
41+
"kind": "interface",
42+
"name": "BroadcastChannelEventMap",
43+
"properties": [
44+
{
45+
"name": "message",
46+
"type": "MessageEvent"
47+
},
48+
{
49+
"name": "messageerror",
50+
"type": "MessageEvent"
51+
}
52+
]
53+
},
254
{
355
"kind": "interface",
456
"name": "ErrorEventInit",

0 commit comments

Comments
 (0)