diff options
author | Andy Finch <andyfinch7@gmail.com> | 2020-01-17 08:26:11 -0500 |
---|---|---|
committer | Ry Dahl <ry@tinyclouds.org> | 2020-01-17 08:26:11 -0500 |
commit | fe5662058e0c7767e7b2724451f9d5a3f133ffbf (patch) | |
tree | be43744898f64af6605246ba95ede55a869f7ab4 /cli/js/dispatch.ts | |
parent | d8ad81d3fb5b4b9502ea021edfc99201538553e6 (diff) |
feat: support individual async handler for each op (#3690)
Diffstat (limited to 'cli/js/dispatch.ts')
-rw-r--r-- | cli/js/dispatch.ts | 57 |
1 files changed, 6 insertions, 51 deletions
diff --git a/cli/js/dispatch.ts b/cli/js/dispatch.ts index 31c42c224..d658c5de7 100644 --- a/cli/js/dispatch.ts +++ b/cli/js/dispatch.ts @@ -85,57 +85,12 @@ export function setPluginAsyncHandler( PLUGIN_ASYNC_HANDLER_MAP.set(opId, handler); } -export function asyncMsgFromRust(opId: number, ui8: Uint8Array): void { - switch (opId) { - case OP_WRITE: - case OP_READ: - minimal.asyncMsgFromRust(opId, ui8); - break; - case OP_GET_DIR: - case OP_EXIT: - case OP_IS_TTY: - case OP_ENV: - case OP_EXEC_PATH: - case OP_UTIME: - case OP_OPEN: - case OP_SEEK: - case OP_FETCH: - case OP_REPL_START: - case OP_REPL_READLINE: - case OP_ACCEPT: - case OP_ACCEPT_TLS: - case OP_DIAL: - case OP_GLOBAL_TIMER: - case OP_HOST_GET_WORKER_CLOSED: - case OP_HOST_GET_MESSAGE: - case OP_WORKER_GET_MESSAGE: - case OP_RUN_STATUS: - case OP_MKDIR: - case OP_CHMOD: - case OP_CHOWN: - case OP_REMOVE: - case OP_COPY_FILE: - case OP_STAT: - case OP_REALPATH: - case OP_READ_DIR: - case OP_RENAME: - case OP_LINK: - case OP_SYMLINK: - case OP_READ_LINK: - case OP_TRUNCATE: - case OP_MAKE_TEMP_DIR: - case OP_DIAL_TLS: - case OP_FETCH_SOURCE_FILES: - case OP_COMPILE: - case OP_TRANSPILE: - json.asyncMsgFromRust(opId, ui8); - break; +export function getAsyncHandler(opName: string): (msg: Uint8Array) => void { + switch (opName) { + case "OP_WRITE": + case "OP_READ": + return minimal.asyncMsgFromRust; default: - const handler = PLUGIN_ASYNC_HANDLER_MAP.get(opId); - if (handler) { - handler(ui8); - } else { - throw Error("bad async opId"); - } + return json.asyncMsgFromRust; } } |