summaryrefslogtreecommitdiff
path: root/cli/tests/workers/message_port.ts
diff options
context:
space:
mode:
authorLuca Casonato <hello@lcas.dev>2021-06-22 16:30:16 +0200
committerGitHub <noreply@github.com>2021-06-22 16:30:16 +0200
commit6261c89e04b8f1a3aabc771dbc8cddad904710e9 (patch)
tree6b1814991d77b8f238e507aa2f52e93589f3c0a1 /cli/tests/workers/message_port.ts
parent0a2ced57285aa0ee4b47426382c32fb53c4e07cd (diff)
feat: transfer MessagePort between workers (#11076)
Add support for transferring `MessagePort`s between workers.
Diffstat (limited to 'cli/tests/workers/message_port.ts')
-rw-r--r--cli/tests/workers/message_port.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/cli/tests/workers/message_port.ts b/cli/tests/workers/message_port.ts
new file mode 100644
index 000000000..d78304a39
--- /dev/null
+++ b/cli/tests/workers/message_port.ts
@@ -0,0 +1,14 @@
+const channel = new MessageChannel();
+
+channel.port2.onmessage = (e) => {
+ channel.port2.postMessage(e.data === "2");
+ channel.port2.close();
+};
+
+self.postMessage("1", [channel.port1]);
+
+self.onmessage = (e) => {
+ const port1 = e.ports[0];
+ port1.postMessage(e.data === "3");
+ port1.close();
+};