summaryrefslogtreecommitdiff
path: root/cli/js/read_file.ts
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2019-10-04 20:28:51 -0400
committerGitHub <noreply@github.com>2019-10-04 20:28:51 -0400
commitb81e5db17aa8b3088d6034ddf86b79c69410f012 (patch)
tree579e4c23d60d1b0d038156bc28a04f74ea87b2f0 /cli/js/read_file.ts
parent9049213867d30f7df090a83b6baf3e0717a4d2d2 (diff)
Merge deno_cli_snapshots into deno_cli (#3064)
Diffstat (limited to 'cli/js/read_file.ts')
-rw-r--r--cli/js/read_file.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/cli/js/read_file.ts b/cli/js/read_file.ts
new file mode 100644
index 000000000..de6630cc0
--- /dev/null
+++ b/cli/js/read_file.ts
@@ -0,0 +1,29 @@
+// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
+import { open, openSync } from "./files.ts";
+import { readAll, readAllSync } from "./buffer.ts";
+
+/** Read the entire contents of a file synchronously.
+ *
+ * const decoder = new TextDecoder("utf-8");
+ * const data = Deno.readFileSync("hello.txt");
+ * console.log(decoder.decode(data));
+ */
+export function readFileSync(filename: string): Uint8Array {
+ const file = openSync(filename);
+ const contents = readAllSync(file);
+ file.close();
+ return contents;
+}
+
+/** Read the entire contents of a file.
+ *
+ * const decoder = new TextDecoder("utf-8");
+ * const data = await Deno.readFile("hello.txt");
+ * console.log(decoder.decode(data));
+ */
+export async function readFile(filename: string): Promise<Uint8Array> {
+ const file = await open(filename);
+ const contents = await readAll(file);
+ file.close();
+ return contents;
+}