import { type Deno } from "https://deno.land/x/deno@v1.28.3/cli/tsc/dts/lib.deno.ns.d.ts";
const { PermissionOptionsObject } = Deno;
A set of options which can define the permissions within a test or worker context at a highly specific level.
Properties
Specifies if the env
permission should be requested or revoked.
If set to "inherit"
, the current env
permission will be inherited.
If set to true
, the global env
permission will be requested.
If set to false
, the global env
permission will be revoked.
Defaults to false
.
Specifies if the sys
permission should be requested or revoked.
If set to "inherit"
, the current sys
permission will be inherited.
If set to true
, the global sys
permission will be requested.
If set to false
, the global sys
permission will be revoked.
Defaults to false
.
Specifies if the hrtime
permission should be requested or revoked.
If set to "inherit"
, the current hrtime
permission will be inherited.
If set to true
, the global hrtime
permission will be requested.
If set to false
, the global hrtime
permission will be revoked.
Defaults to false
.
Specifies if the net
permission should be requested or revoked.
if set to "inherit"
, the current net
permission will be inherited.
if set to true
, the global net
permission will be requested.
if set to false
, the global net
permission will be revoked.
if set to string[]
, the net
permission will be requested with the
specified host strings with the format "<host>[:<port>]
.
Defaults to false
.
Examples:
import { assertEquals } from "https://deno.land/std/testing/asserts.ts";
Deno.test({
name: "inherit",
permissions: {
net: "inherit",
},
async fn() {
const status = await Deno.permissions.query({ name: "net" })
assertEquals(status.state, "granted");
},
});
import { assertEquals } from "https://deno.land/std/testing/asserts.ts";
Deno.test({
name: "true",
permissions: {
net: true,
},
async fn() {
const status = await Deno.permissions.query({ name: "net" });
assertEquals(status.state, "granted");
},
});
import { assertEquals } from "https://deno.land/std/testing/asserts.ts";
Deno.test({
name: "false",
permissions: {
net: false,
},
async fn() {
const status = await Deno.permissions.query({ name: "net" });
assertEquals(status.state, "denied");
},
});
import { assertEquals } from "https://deno.land/std/testing/asserts.ts";
Deno.test({
name: "localhost:8080",
permissions: {
net: ["localhost:8080"],
},
async fn() {
const status = await Deno.permissions.query({ name: "net", host: "localhost:8080" });
assertEquals(status.state, "granted");
},
});
Specifies if the ffi
permission should be requested or revoked.
If set to "inherit"
, the current ffi
permission will be inherited.
If set to true
, the global ffi
permission will be requested.
If set to false
, the global ffi
permission will be revoked.
Defaults to false
.
Specifies if the read
permission should be requested or revoked.
If set to "inherit"
, the current read
permission will be inherited.
If set to true
, the global read
permission will be requested.
If set to false
, the global read
permission will be revoked.
If set to Array<string | URL>
, the read
permission will be requested with the
specified file paths.
Defaults to false
.
Specifies if the run
permission should be requested or revoked.
If set to "inherit"
, the current run
permission will be inherited.
If set to true
, the global run
permission will be requested.
If set to false
, the global run
permission will be revoked.
Defaults to false
.
Specifies if the write
permission should be requested or revoked.
If set to "inherit"
, the current write
permission will be inherited.
If set to true
, the global write
permission will be requested.
If set to false
, the global write
permission will be revoked.
If set to Array<string | URL>
, the write
permission will be requested with the
specified file paths.
Defaults to false
.