summaryrefslogtreecommitdiff
path: root/js/read_file.ts
diff options
context:
space:
mode:
Diffstat (limited to 'js/read_file.ts')
-rw-r--r--js/read_file.ts37
1 files changed, 10 insertions, 27 deletions
diff --git a/js/read_file.ts b/js/read_file.ts
index 3aeedec28..1ca52e276 100644
--- a/js/read_file.ts
+++ b/js/read_file.ts
@@ -1,29 +1,6 @@
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
-import * as msg from "gen/msg_generated";
-import * as flatbuffers from "./flatbuffers";
-import { assert } from "./util";
-import * as dispatch from "./dispatch";
-
-function req(
- filename: string
-): [flatbuffers.Builder, msg.Any, flatbuffers.Offset] {
- const builder = flatbuffers.createBuilder();
- const filename_ = builder.createString(filename);
- msg.ReadFile.startReadFile(builder);
- msg.ReadFile.addFilename(builder, filename_);
- const inner = msg.ReadFile.endReadFile(builder);
- return [builder, msg.Any.ReadFile, inner];
-}
-
-function res(baseRes: null | msg.Base): Uint8Array {
- assert(baseRes != null);
- assert(msg.Any.ReadFileRes === baseRes!.innerType());
- const inner = new msg.ReadFileRes();
- assert(baseRes!.inner(inner) != null);
- const dataArray = inner.dataArray();
- assert(dataArray != null);
- return new Uint8Array(dataArray!);
-}
+import { open, openSync } from "./files";
+import { readAll, readAllSync } from "./buffer";
/** Read the entire contents of a file synchronously.
*
@@ -32,7 +9,10 @@ function res(baseRes: null | msg.Base): Uint8Array {
* console.log(decoder.decode(data));
*/
export function readFileSync(filename: string): Uint8Array {
- return res(dispatch.sendSync(...req(filename)));
+ const file = openSync(filename);
+ const contents = readAllSync(file);
+ file.close();
+ return contents;
}
/** Read the entire contents of a file.
@@ -42,5 +22,8 @@ export function readFileSync(filename: string): Uint8Array {
* console.log(decoder.decode(data));
*/
export async function readFile(filename: string): Promise<Uint8Array> {
- return res(await dispatch.sendAsync(...req(filename)));
+ const file = await open(filename);
+ const contents = await readAll(file);
+ file.close();
+ return contents;
}