summaryrefslogtreecommitdiff
path: root/cli/js/chmod.ts
blob: 5aa4ce7ea7105a9388c2e19f5b29b44f29722c77 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import { sendSync, sendAsync } from "./dispatch_json.ts";

/** Synchronously changes the permission of a specific file/directory of
 * specified path.  Ignores the process's umask.
 *
 *       Deno.chmodSync("/path/to/file", 0o666);
 *
 * Requires `allow-write` permission. */
export function chmodSync(path: string, mode: number): void {
  sendSync("op_chmod", { path, mode });
}

/** Changes the permission of a specific file/directory of specified path.
 * Ignores the process's umask.
 *
 *       await Deno.chmod("/path/to/file", 0o666);
 *
 * Requires `allow-write` permission. */
export async function chmod(path: string, mode: number): Promise<void> {
  await sendAsync("op_chmod", { path, mode });
}