summaryrefslogtreecommitdiff
path: root/cli/js/ops/fs/open.ts
diff options
context:
space:
mode:
authordubiousjim <dubiousjim@gmail.com>2020-03-16 15:02:41 -0400
committerGitHub <noreply@github.com>2020-03-16 15:02:41 -0400
commitf9557a4ff6b73a4af37e713bb6b2294253c7b230 (patch)
tree0a4e05e6fb709e1c4ebb4bc21c2b50685049e6f4 /cli/js/ops/fs/open.ts
parent8077ade7413db72572b8685c883f078335e0561b (diff)
Add mode option to open/create (#4289)
Diffstat (limited to 'cli/js/ops/fs/open.ts')
-rw-r--r--cli/js/ops/fs/open.ts14
1 files changed, 11 insertions, 3 deletions
diff --git a/cli/js/ops/fs/open.ts b/cli/js/ops/fs/open.ts
index 4c9281909..2ac5c715c 100644
--- a/cli/js/ops/fs/open.ts
+++ b/cli/js/ops/fs/open.ts
@@ -8,26 +8,34 @@ export interface OpenOptions {
truncate?: boolean;
create?: boolean;
createNew?: boolean;
+ /** Permissions to use if creating the file (defaults to `0o666`, before
+ * the process's umask).
+ * It's an error to specify mode without also setting create or createNew to `true`.
+ * Ignored on Windows. */
+ mode?: number;
}
export type OpenMode = "r" | "r+" | "w" | "w+" | "a" | "a+" | "x" | "x+";
export function openSync(
path: string,
- mode: OpenMode | undefined,
+ openMode: OpenMode | undefined,
options: OpenOptions | undefined
): number {
- return sendSync("op_open", { path, options, mode });
+ const mode: number | undefined = options?.mode;
+ return sendSync("op_open", { path, options, openMode, mode });
}
export async function open(
path: string,
- mode: OpenMode | undefined,
+ openMode: OpenMode | undefined,
options: OpenOptions | undefined
): Promise<number> {
+ const mode: number | undefined = options?.mode;
return sendAsync("op_open", {
path,
options,
+ openMode,
mode
});
}