summaryrefslogtreecommitdiff
path: root/cli/js/ops/fs/open.ts
diff options
context:
space:
mode:
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
});
}