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