summaryrefslogtreecommitdiff
path: root/cli/js/compiler_util.ts
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-03-08 13:09:22 +0100
committerGitHub <noreply@github.com>2020-03-08 13:09:22 +0100
commit1b6f8318750d319d689f7eeef9e7e1f2e56b94a6 (patch)
treeb2e182b77cfbcd25ee893113de9f61509e16e787 /cli/js/compiler_util.ts
parentb9037c86ed8d1d55a59a1c1298fa12bbfcae6873 (diff)
reorg: move JS ops implementations to cli/js/ops/, part 1 (#4264)
Following JS ops were moved to separate files in cli/js/ops directory: - compiler - dispatch_json - dispatch_minimal - errors - fetch - fs_events - os - random - repl - resources - runtime_compiler - runtime - tty
Diffstat (limited to 'cli/js/compiler_util.ts')
-rw-r--r--cli/js/compiler_util.ts26
1 files changed, 5 insertions, 21 deletions
diff --git a/cli/js/compiler_util.ts b/cli/js/compiler_util.ts
index 57ba9589b..3cc661d6c 100644
--- a/cli/js/compiler_util.ts
+++ b/cli/js/compiler_util.ts
@@ -5,9 +5,8 @@ import { CompilerOptions } from "./compiler_api.ts";
import { buildBundle } from "./compiler_bundler.ts";
import { ConfigureResponse, Host } from "./compiler_host.ts";
import { SourceFile } from "./compiler_sourcefile.ts";
-import { sendSync } from "./dispatch_json.ts";
-import { atob, TextDecoder, TextEncoder } from "./web/text_encoding.ts";
-import { core } from "./core.ts";
+import { atob, TextEncoder } from "./web/text_encoding.ts";
+import * as compilerOps from "./ops/compiler.ts";
import * as util from "./util.ts";
import { assert } from "./util.ts";
import { writeFileSync } from "./write_file.ts";
@@ -70,36 +69,21 @@ function cache(
if (emittedFileName.endsWith(".map")) {
// Source Map
- sendSync("op_cache", {
- extension: ".map",
- moduleId,
- contents
- });
+ compilerOps.cache(".map", moduleId, contents);
} else if (
emittedFileName.endsWith(".js") ||
emittedFileName.endsWith(".json")
) {
// Compiled JavaScript
- sendSync("op_cache", {
- extension: ".js",
- moduleId,
- contents
- });
+ compilerOps.cache(".js", moduleId, contents);
} else {
assert(false, `Trying to cache unhandled file type "${emittedFileName}"`);
}
}
-const encoder = new TextEncoder();
-const decoder = new TextDecoder();
-
/** Retrieve an asset from Rust. */
export function getAsset(name: string): string {
- const opId = core.ops()["op_fetch_asset"];
- // We really don't want to depend on JSON dispatch during snapshotting, so
- // this op exchanges strings with Rust as raw byte arrays.
- const sourceCodeBytes = core.dispatch(opId, encoder.encode(name));
- return decoder.decode(sourceCodeBytes!);
+ return compilerOps.getAsset(name);
}
/** Generates a `writeFile` function which can be passed to the compiler `Host`