From 6b78729ba8c21f6b3ba5a4621fc363d8772e177f Mon Sep 17 00:00:00 2001 From: dubiousjim Date: Mon, 6 Jul 2020 07:15:13 -0400 Subject: feat: Deno.chown() make uid, gid args optional (#4612) --- cli/js/lib.deno.ns.d.ts | 18 +++++++++++------- cli/js/ops/fs/chown.ts | 10 +++++++--- 2 files changed, 18 insertions(+), 10 deletions(-) (limited to 'cli/js') diff --git a/cli/js/lib.deno.ns.d.ts b/cli/js/lib.deno.ns.d.ts index cd82b4adf..82b3fc829 100644 --- a/cli/js/lib.deno.ns.d.ts +++ b/cli/js/lib.deno.ns.d.ts @@ -1080,10 +1080,14 @@ declare namespace Deno { * Throws Error (not implemented) if executed on Windows * * @param path path to the file - * @param uid user id (UID) of the new owner - * @param gid group id (GID) of the new owner + * @param uid user id (UID) of the new owner, or `null` for no change + * @param gid group id (GID) of the new owner, or `null` for no change */ - export function chownSync(path: string | URL, uid: number, gid: number): void; + export function chownSync( + path: string | URL, + uid: number | null, + gid: number | null + ): void; /** Change owner of a regular file or directory. This functionality * is not available on Windows. @@ -1097,13 +1101,13 @@ declare namespace Deno { * Throws Error (not implemented) if executed on Windows * * @param path path to the file - * @param uid user id (UID) of the new owner - * @param gid group id (GID) of the new owner + * @param uid user id (UID) of the new owner, or `null` for no change + * @param gid group id (GID) of the new owner, or `null` for no change */ export function chown( path: string | URL, - uid: number, - gid: number + uid: number | null, + gid: number | null ): Promise; export interface RemoveOptions { diff --git a/cli/js/ops/fs/chown.ts b/cli/js/ops/fs/chown.ts index f24ab5e55..3afe07f16 100644 --- a/cli/js/ops/fs/chown.ts +++ b/cli/js/ops/fs/chown.ts @@ -2,15 +2,19 @@ import { sendSync, sendAsync } from "../dispatch_json.ts"; import { pathFromURL } from "../../util.ts"; -export function chownSync(path: string | URL, uid: number, gid: number): void { +export function chownSync( + path: string | URL, + uid: number | null, + gid: number | null +): void { path = pathFromURL(path); sendSync("op_chown", { path, uid, gid }); } export async function chown( path: string | URL, - uid: number, - gid: number + uid: number | null, + gid: number | null ): Promise { path = pathFromURL(path); await sendAsync("op_chown", { path, uid, gid }); -- cgit v1.2.3