summaryrefslogtreecommitdiff
path: root/cli/js/ops/worker_host.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/js/ops/worker_host.ts')
-rw-r--r--cli/js/ops/worker_host.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/cli/js/ops/worker_host.ts b/cli/js/ops/worker_host.ts
new file mode 100644
index 000000000..a409d2c77
--- /dev/null
+++ b/cli/js/ops/worker_host.ts
@@ -0,0 +1,29 @@
+// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
+/* eslint-disable @typescript-eslint/no-explicit-any */
+import { sendAsync, sendSync } from "./dispatch_json.ts";
+
+export function createWorker(
+ specifier: string,
+ hasSourceCode: boolean,
+ sourceCode: string,
+ name?: string
+): { id: number } {
+ return sendSync("op_create_worker", {
+ specifier,
+ hasSourceCode,
+ sourceCode,
+ name
+ });
+}
+
+export function hostTerminateWorker(id: number): void {
+ sendSync("op_host_terminate_worker", { id });
+}
+
+export function hostPostMessage(id: number, data: Uint8Array): void {
+ sendSync("op_host_post_message", { id }, data);
+}
+
+export async function hostGetMessage(id: number): Promise<any> {
+ return await sendAsync("op_host_get_message", { id });
+}