summaryrefslogtreecommitdiff
path: root/cli/js/ops/worker_host.ts
blob: 11e268152b3d584c69c0f4ded018542fcbe968a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// 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,
  useDenoNamespace: boolean,
  name?: string
): { id: number } {
  return sendSync("op_create_worker", {
    specifier,
    hasSourceCode,
    sourceCode,
    name,
    useDenoNamespace,
  });
}

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 function hostGetMessage(id: number): Promise<any> {
  return sendAsync("op_host_get_message", { id });
}