0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-02-09 15:42:18 -05:00
denoland-deno/js/dispatch.ts

35 lines
975 B
TypeScript
Raw Normal View History

2019-01-22 04:03:30 +09:00
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
import * as minimal from "./dispatch_minimal";
import * as flatbuffers from "./dispatch_flatbuffers";
import * as json from "./dispatch_json";
// These consts are shared with Rust. Update with care.
export const OP_FLATBUFFER = 44;
export const OP_READ = 1;
export const OP_WRITE = 2;
export const OP_EXIT = 3;
export const OP_IS_TTY = 4;
export const OP_ENV = 5;
export const OP_EXEC_PATH = 6;
export const OP_UTIME = 7;
2019-08-24 05:13:50 -07:00
export const OP_SET_ENV = 8;
export const OP_HOME_DIR = 9;
export const OP_START = 10;
2019-05-03 00:06:43 -04:00
export function asyncMsgFromRust(opId: number, ui8: Uint8Array): void {
switch (opId) {
case OP_FLATBUFFER:
flatbuffers.asyncMsgFromRust(opId, ui8);
break;
case OP_WRITE:
case OP_READ:
minimal.asyncMsgFromRust(opId, ui8);
break;
case OP_UTIME:
json.asyncMsgFromRust(opId, ui8);
break;
default:
throw Error("bad opId");
}
}