From 3b595253a2e9f8badc416f85d0b09bf48f344634 Mon Sep 17 00:00:00 2001 From: Tristan Marion Date: Fri, 22 Jun 2018 15:30:35 +0200 Subject: Move `deno2` folder to `src` (#277) --- src/js/main.ts | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/js/main.ts (limited to 'src/js/main.ts') diff --git a/src/js/main.ts b/src/js/main.ts new file mode 100644 index 000000000..d2d61f419 --- /dev/null +++ b/src/js/main.ts @@ -0,0 +1,41 @@ +/// +import { deno as pb } from "./msg.pb"; +import * as ts from "typescript"; + +const globalEval = eval; +const window = globalEval("this"); + +window["denoMain"] = () => { + deno.print(`ts.version: ${ts.version}`); + const res = deno.pub("startDeno2", emptyArrayBuffer()); + //deno.print(`after`); + const resUi8 = new Uint8Array(res); + deno.print(`before`); + const msg = pb.Msg.decode(resUi8); + deno.print(`after`); + const { + startCwd: cwd, + startArgv: argv, + startDebugFlag: debugFlag, + startMainJs: mainJs, + startMainMap: mainMap + } = msg; + + deno.print(`cwd: ${cwd}`); + deno.print(`debugFlag: ${debugFlag}`); + + for (let i = 0; i < argv.length; i++) { + deno.print(`argv[${i}] ${argv[i]}`); + } +}; + +function typedArrayToArrayBuffer(ta: Uint8Array): ArrayBuffer { + return ta.buffer.slice( + ta.byteOffset, + ta.byteOffset + ta.byteLength + ) as ArrayBuffer; +} + +function emptyArrayBuffer(): ArrayBuffer { + return typedArrayToArrayBuffer(new Uint8Array([])); +} -- cgit v1.2.3