From f9557a4ff6b73a4af37e713bb6b2294253c7b230 Mon Sep 17 00:00:00 2001 From: dubiousjim Date: Mon, 16 Mar 2020 15:02:41 -0400 Subject: Add mode option to open/create (#4289) --- cli/js/ops/fs/open.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'cli/js/ops/fs') 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 { + const mode: number | undefined = options?.mode; return sendAsync("op_open", { path, options, + openMode, mode }); } -- cgit v1.2.3