summaryrefslogtreecommitdiff
path: root/cli/js/ops/permissions.ts
diff options
context:
space:
mode:
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;
+}