2020-03-14 23:01:34 -04:00
|
|
|
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
|
|
|
|
|
|
|
import { CallbackWithError } from "./_fs_common.ts";
|
|
|
|
|
|
|
|
/**
|
|
|
|
* TODO: Also accept 'path' parameter as a Node polyfill Buffer or URL type once these
|
|
|
|
* are implemented. See https://github.com/denoland/deno/issues/3403
|
|
|
|
*/
|
|
|
|
export function chown(
|
|
|
|
path: string,
|
|
|
|
uid: number,
|
|
|
|
gid: number,
|
|
|
|
callback: CallbackWithError
|
|
|
|
): void {
|
|
|
|
new Promise(async (resolve, reject) => {
|
|
|
|
try {
|
|
|
|
await Deno.chown(path, uid, gid);
|
|
|
|
resolve();
|
|
|
|
} catch (err) {
|
|
|
|
reject(err);
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.then(() => {
|
|
|
|
callback();
|
|
|
|
})
|
2020-03-28 13:03:49 -04:00
|
|
|
.catch((err) => {
|
2020-03-14 23:01:34 -04:00
|
|
|
callback(err);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* TODO: Also accept 'path' parameter as a Node polyfill Buffer or URL type once these
|
|
|
|
* are implemented. See https://github.com/denoland/deno/issues/3403
|
|
|
|
*/
|
|
|
|
export function chownSync(path: string, uid: number, gid: number): void {
|
|
|
|
Deno.chownSync(path, uid, gid);
|
|
|
|
}
|