Deno.Permissions

class Permissions {
query(desc: PermissionDescriptor): Promise<PermissionStatus>;
request(desc: PermissionDescriptor): Promise<PermissionStatus>;
revoke(desc: PermissionDescriptor): Promise<PermissionStatus>;
}

§Methods

§

Resolves to the current status of a permission.

const status = await Deno.permissions.query({ name: "read", path: "/etc" });
console.log(status.state);
§

Requests the permission, and resolves to the state of the permission.

const status = await Deno.permissions.request({ name: "env" });
if (status.state === "granted") {
  console.log("'env' permission is granted.");
} else {
  console.log("'env' permission is denied.");
}
§

Revokes a permission, and resolves to the state of the permission.

import { assert } from "https://deno.land/std/testing/asserts.ts";

const status = await Deno.permissions.revoke({ name: "run" });
assert(status.state !== "granted")