diff options
author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2020-12-17 16:37:57 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-17 17:37:57 +0100 |
commit | ffb5f7a4e1d5d4ac488058ca3ec3c0805587fe44 (patch) | |
tree | dc7b79a699732680fa309d97e5b4c2bc5f486a4a /runtime/js/40_read_file.js | |
parent | 55dc467b419b8e5897b1c832b04d63e383253d84 (diff) |
refactor: Rename runtime/rt to runtime/js (#8806)
Diffstat (limited to 'runtime/js/40_read_file.js')
-rw-r--r-- | runtime/js/40_read_file.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/runtime/js/40_read_file.js b/runtime/js/40_read_file.js new file mode 100644 index 000000000..9a36f335b --- /dev/null +++ b/runtime/js/40_read_file.js @@ -0,0 +1,43 @@ +// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. + +((window) => { + const { open, openSync } = window.__bootstrap.files; + const { readAll, readAllSync } = window.__bootstrap.buffer; + + function readFileSync(path) { + const file = openSync(path); + const contents = readAllSync(file); + file.close(); + return contents; + } + + async function readFile(path) { + const file = await open(path); + const contents = await readAll(file); + file.close(); + return contents; + } + + function readTextFileSync(path) { + const file = openSync(path); + const contents = readAllSync(file); + file.close(); + const decoder = new TextDecoder(); + return decoder.decode(contents); + } + + async function readTextFile(path) { + const file = await open(path); + const contents = await readAll(file); + file.close(); + const decoder = new TextDecoder(); + return decoder.decode(contents); + } + + window.__bootstrap.readFile = { + readFile, + readFileSync, + readTextFileSync, + readTextFile, + }; +})(this); |