summaryrefslogtreecommitdiff
path: root/cli/js/chmod.ts
blob: b6238f02dbd1caf46e4b16b9294e82e8195a71a6 (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 "./ops/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 });
}