0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-31 09:14:20 -04:00
denoland-deno/js/chown.ts

38 lines
1.1 KiB
TypeScript
Raw Normal View History

2019-05-07 21:58:58 -04:00
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
import { sendSync, sendAsync, msg, flatbuffers } from "./dispatch_flatbuffers";
2019-05-07 21:58:58 -04:00
function req(
path: string,
uid: number,
gid: number
): [flatbuffers.Builder, msg.Any, flatbuffers.Offset] {
const builder = flatbuffers.createBuilder();
const path_ = builder.createString(path);
const inner = msg.Chown.createChown(builder, path_, uid, gid);
return [builder, msg.Any.Chown, inner];
}
/**
* Change owner of a regular file or directory synchronously. Unix only at the moment.
* @param path path to the file
* @param uid user id of the new owner
* @param gid group id of the new owner
*/
export function chownSync(path: string, uid: number, gid: number): void {
sendSync(...req(path, uid, gid));
2019-05-07 21:58:58 -04:00
}
/**
* Change owner of a regular file or directory asynchronously. Unix only at the moment.
* @param path path to the file
* @param uid user id of the new owner
* @param gid group id of the new owner
*/
export async function chown(
path: string,
uid: number,
gid: number
): Promise<void> {
await sendAsync(...req(path, uid, gid));
2019-05-07 21:58:58 -04:00
}