summaryrefslogtreecommitdiff
path: root/cli/js/read_file.ts
diff options
context:
space:
mode:
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;
+}