summaryrefslogtreecommitdiff
path: root/cli/rt/40_write_file.js
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-12-13 19:45:53 +0100
committerGitHub <noreply@github.com>2020-12-13 19:45:53 +0100
commit2e74f164b6dcf0ecbf8dd38fba9fae550d784bd0 (patch)
tree61abe8e09d5331ace5d9de529f0e2737a8e05dbb /cli/rt/40_write_file.js
parent84ef9bd21fb48fb6b5fbc8dafc3de9f361bade3b (diff)
refactor: deno_runtime crate (#8640)
This commit moves Deno JS runtime, ops, permissions and inspector implementation to new "deno_runtime" crate located in "runtime/" directory. Details in "runtime/README.md". Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
Diffstat (limited to 'cli/rt/40_write_file.js')
-rw-r--r--cli/rt/40_write_file.js92
1 files changed, 0 insertions, 92 deletions
diff --git a/cli/rt/40_write_file.js b/cli/rt/40_write_file.js
deleted file mode 100644
index 7a9cb1f40..000000000
--- a/cli/rt/40_write_file.js
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-((window) => {
- const { stat, statSync, chmod, chmodSync } = window.__bootstrap.fs;
- const { open, openSync } = window.__bootstrap.files;
- const { writeAll, writeAllSync } = window.__bootstrap.buffer;
- const { build } = window.__bootstrap.build;
-
- function writeFileSync(
- path,
- data,
- options = {},
- ) {
- if (options.create !== undefined) {
- const create = !!options.create;
- if (!create) {
- // verify that file exists
- statSync(path);
- }
- }
-
- const openOptions = options.append
- ? { write: true, create: true, append: true }
- : { write: true, create: true, truncate: true };
- const file = openSync(path, openOptions);
-
- if (
- options.mode !== undefined &&
- options.mode !== null &&
- build.os !== "windows"
- ) {
- chmodSync(path, options.mode);
- }
-
- writeAllSync(file, data);
- file.close();
- }
-
- async function writeFile(
- path,
- data,
- options = {},
- ) {
- if (options.create !== undefined) {
- const create = !!options.create;
- if (!create) {
- // verify that file exists
- await stat(path);
- }
- }
-
- const openOptions = options.append
- ? { write: true, create: true, append: true }
- : { write: true, create: true, truncate: true };
- const file = await open(path, openOptions);
-
- if (
- options.mode !== undefined &&
- options.mode !== null &&
- build.os !== "windows"
- ) {
- await chmod(path, options.mode);
- }
-
- await writeAll(file, data);
- file.close();
- }
-
- function writeTextFileSync(
- path,
- data,
- options = {},
- ) {
- const encoder = new TextEncoder();
- return writeFileSync(path, encoder.encode(data), options);
- }
-
- function writeTextFile(
- path,
- data,
- options = {},
- ) {
- const encoder = new TextEncoder();
- return writeFile(path, encoder.encode(data), options);
- }
-
- window.__bootstrap.writeFile = {
- writeTextFile,
- writeTextFileSync,
- writeFile,
- writeFileSync,
- };
-})(this);