diff options
Diffstat (limited to 'cli/js/ops/fs/open.ts')
-rw-r--r-- | cli/js/ops/fs/open.ts | 14 |
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 }); } |