summaryrefslogtreecommitdiff
path: root/cli/js/ops/dispatch_json.ts
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-06-21 16:34:43 +0200
committerGitHub <noreply@github.com>2020-06-21 16:34:43 +0200
commit79adc7b000a807caff01a3639b18cb91aef9bd9c (patch)
tree8592baf9a2d88aea7a55f55903739b63bd23fded /cli/js/ops/dispatch_json.ts
parent86448fd9aaa9d70078f7928c9ea1d5af2679ea08 (diff)
core: add Deno.core.dispatchByName (#6395)
This commit adds alternate dispatch method to core JS API. "Deno.core.dispatchByName()" works like "Deno.core.dispatch()", but takes op name instead of op id as a first argument.
Diffstat (limited to 'cli/js/ops/dispatch_json.ts')
-rw-r--r--cli/js/ops/dispatch_json.ts13
1 files changed, 4 insertions, 9 deletions
diff --git a/cli/js/ops/dispatch_json.ts b/cli/js/ops/dispatch_json.ts
index 6292c188a..6a91f6a4f 100644
--- a/cli/js/ops/dispatch_json.ts
+++ b/cli/js/ops/dispatch_json.ts
@@ -1,7 +1,6 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import * as util from "../util.ts";
import { core } from "../core.ts";
-import { OPS_CACHE } from "../runtime.ts";
import { ErrorKind, getErrorClass } from "../errors.ts";
// eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -61,12 +60,10 @@ export function sendSync(
args: object = {},
...zeroCopy: Uint8Array[]
): Ok {
- const opId = OPS_CACHE[opName];
- util.log("sendSync", opName, opId);
+ util.log("sendSync", opName);
const argsUi8 = encode(args);
- const resUi8 = core.dispatch(opId, argsUi8, ...zeroCopy);
+ const resUi8 = core.dispatchByName(opName, argsUi8, ...zeroCopy);
util.assert(resUi8 != null);
-
const res = decode(resUi8);
util.assert(res.promiseId == null);
return unwrapResponse(res);
@@ -77,14 +74,12 @@ export async function sendAsync(
args: object = {},
...zeroCopy: Uint8Array[]
): Promise<Ok> {
- const opId = OPS_CACHE[opName];
- util.log("sendAsync", opName, opId);
+ util.log("sendAsync", opName);
const promiseId = nextPromiseId();
args = Object.assign(args, { promiseId });
const promise = util.createResolvable<Ok>();
-
const argsUi8 = encode(args);
- const buf = core.dispatch(opId, argsUi8, ...zeroCopy);
+ const buf = core.dispatchByName(opName, argsUi8, ...zeroCopy);
if (buf) {
// Sync result.
const res = decode(buf);