diff options
Diffstat (limited to 'cli/js/read_file.ts')
-rw-r--r-- | cli/js/read_file.ts | 29 |
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; +} |