summaryrefslogtreecommitdiff
path: root/cli/js/ops/permissions.ts
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-03-09 15:18:02 +0100
committerGitHub <noreply@github.com>2020-03-09 15:18:02 +0100
commit886f330ec8110a3eb72feb14353f353962179d2e (patch)
treef6b458afac30a18d5120396bed9b1e63ae6d8529 /cli/js/ops/permissions.ts
parent1b6fc87b7188118896f797e5f0dab309775def71 (diff)
reorg: move JS ops implementations to cli/js/ops/, part 2 (#4283)
Following JS ops were moved to separate files in cli/js/ops directory: - io - process - worker_host - web_worker - plugins - timers - signal - permissions
Diffstat (limited to 'cli/js/ops/permissions.ts')
-rw-r--r--cli/js/ops/permissions.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/cli/js/ops/permissions.ts b/cli/js/ops/permissions.ts
new file mode 100644
index 000000000..783b1b297
--- /dev/null
+++ b/cli/js/ops/permissions.ts
@@ -0,0 +1,24 @@
+// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
+import { sendSync } from "./dispatch_json.ts";
+
+// TODO(bartlomieju): duplicated in `cli/js/permissions.ts` as
+// `PermissionState
+export type PermissionResponse = "granted" | "denied" | "prompt";
+
+interface PermissionRequest {
+ name: string;
+ url?: string;
+ path?: string;
+}
+
+export function query(desc: PermissionRequest): PermissionResponse {
+ return sendSync("op_query_permission", desc).state;
+}
+
+export function revoke(desc: PermissionRequest): PermissionResponse {
+ return sendSync("op_revoke_permission", desc).state;
+}
+
+export function request(desc: PermissionRequest): PermissionResponse {
+ return sendSync("op_request_permission", desc).state;
+}