deno / 1.23.2 / ~ / deno.permissions.html /

Deno.Permissions

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

Methods

query( desc: PermissionDescriptor) : Promise<PermissionStatus>

Resolves to the current status of a permission.

const status = await Deno.permissions.query({ name: "read", path: "/etc" });
console.log(status.state);
request( desc: PermissionDescriptor) : Promise<PermissionStatus>

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.");
}
revoke( desc: PermissionDescriptor) : Promise<PermissionStatus>

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")