summaryrefslogtreecommitdiff
path: root/std/node/_fs/_fs_appendFile.ts
diff options
context:
space:
mode:
authorAli Hasani <a.hassssani@gmail.com>2020-04-20 13:59:37 +0430
committerGitHub <noreply@github.com>2020-04-20 11:29:37 +0200
commit437e35ca52227337588148a6896040d3fc3f2d54 (patch)
treec1be28b0ceae5fd4276be087afc686b78eab5629 /std/node/_fs/_fs_appendFile.ts
parentc1ec042a0011eeba2480b892a335ca7804c59180 (diff)
Add no-async-promise-executor lint rule (#4809)
Diffstat (limited to 'std/node/_fs/_fs_appendFile.ts')
-rw-r--r--std/node/_fs/_fs_appendFile.ts49
1 files changed, 23 insertions, 26 deletions
diff --git a/std/node/_fs/_fs_appendFile.ts b/std/node/_fs/_fs_appendFile.ts
index f3b44dd7b..48b05ff80 100644
--- a/std/node/_fs/_fs_appendFile.ts
+++ b/std/node/_fs/_fs_appendFile.ts
@@ -21,34 +21,31 @@ export function appendFile(
}
validateEncoding(options);
-
let rid = -1;
- new Promise(async (resolve, reject) => {
- try {
- if (typeof pathOrRid === "number") {
- rid = pathOrRid;
- } else {
- const mode: number | undefined = isFileOptions(options)
- ? options.mode
- : undefined;
- const flag: string | undefined = isFileOptions(options)
- ? options.flag
- : undefined;
-
- if (mode) {
- //TODO rework once https://github.com/denoland/deno/issues/4017 completes
- notImplemented("Deno does not yet support setting mode on create");
- }
- const file = await Deno.open(pathOrRid, getOpenOptions(flag));
- rid = file.rid;
- }
-
- const buffer: Uint8Array = new TextEncoder().encode(data);
+ const buffer: Uint8Array = new TextEncoder().encode(data);
+ new Promise((resolve, reject) => {
+ if (typeof pathOrRid === "number") {
+ rid = pathOrRid;
+ Deno.write(rid, buffer).then(resolve).catch(reject);
+ } else {
+ const mode: number | undefined = isFileOptions(options)
+ ? options.mode
+ : undefined;
+ const flag: string | undefined = isFileOptions(options)
+ ? options.flag
+ : undefined;
- await Deno.write(rid, buffer);
- resolve();
- } catch (err) {
- reject(err);
+ if (mode) {
+ //TODO rework once https://github.com/denoland/deno/issues/4017 completes
+ notImplemented("Deno does not yet support setting mode on create");
+ }
+ Deno.open(pathOrRid, getOpenOptions(flag))
+ .then(({ rid: openedFileRid }) => {
+ rid = openedFileRid;
+ return Deno.write(openedFileRid, buffer);
+ })
+ .then(resolve)
+ .catch(reject);
}
})
.then(() => {