summaryrefslogtreecommitdiff
path: root/cli/js/ops/resources.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/ops/resources.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/ops/resources.ts')
-rw-r--r--cli/js/ops/resources.ts23
1 files changed, 23 insertions, 0 deletions
diff --git a/cli/js/ops/resources.ts b/cli/js/ops/resources.ts
new file mode 100644
index 000000000..b04810989
--- /dev/null
+++ b/cli/js/ops/resources.ts
@@ -0,0 +1,23 @@
+// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
+import { sendSync } from "./dispatch_json.ts";
+
+export interface ResourceMap {
+ [rid: number]: string;
+}
+
+/** Returns a map of open _file like_ resource ids along with their string
+ * representation.
+ */
+export function resources(): ResourceMap {
+ const res = sendSync("op_resources") as Array<[number, string]>;
+ const resources: ResourceMap = {};
+ for (const resourceTuple of res) {
+ resources[resourceTuple[0]] = resourceTuple[1];
+ }
+ return resources;
+}
+
+/** Close the given resource ID. */
+export function close(rid: number): void {
+ sendSync("op_close", { rid });
+}