summaryrefslogtreecommitdiff
path: root/runtime/js/10_permissions.js
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/js/10_permissions.js')
-rw-r--r--runtime/js/10_permissions.js48
1 files changed, 33 insertions, 15 deletions
diff --git a/runtime/js/10_permissions.js b/runtime/js/10_permissions.js
index c2ce6cef0..7c4af8ed0 100644
--- a/runtime/js/10_permissions.js
+++ b/runtime/js/10_permissions.js
@@ -183,48 +183,66 @@
}
query(desc) {
+ try {
+ return PromiseResolve(this.querySync(desc));
+ } catch (error) {
+ return PromiseReject(error);
+ }
+ }
+
+ querySync(desc) {
if (!isValidDescriptor(desc)) {
- return PromiseReject(
- new TypeError(
- `The provided value "${desc?.name}" is not a valid permission name.`,
- ),
+ throw new TypeError(
+ `The provided value "${desc?.name}" is not a valid permission name.`,
);
}
formDescriptor(desc);
const state = opQuery(desc);
- return PromiseResolve(cache(desc, state));
+ return cache(desc, state);
}
revoke(desc) {
+ try {
+ return PromiseResolve(this.revokeSync(desc));
+ } catch (error) {
+ return PromiseReject(error);
+ }
+ }
+
+ revokeSync(desc) {
if (!isValidDescriptor(desc)) {
- return PromiseReject(
- new TypeError(
- `The provided value "${desc?.name}" is not a valid permission name.`,
- ),
+ throw new TypeError(
+ `The provided value "${desc?.name}" is not a valid permission name.`,
);
}
formDescriptor(desc);
const state = opRevoke(desc);
- return PromiseResolve(cache(desc, state));
+ return cache(desc, state);
}
request(desc) {
+ try {
+ return PromiseResolve(this.requestSync(desc));
+ } catch (error) {
+ return PromiseReject(error);
+ }
+ }
+
+ requestSync(desc) {
if (!isValidDescriptor(desc)) {
- return PromiseReject(
- new TypeError(
- `The provided value "${desc?.name}" is not a valid permission name.`,
- ),
+ throw new TypeError(
+ `The provided value "${desc?.name}" is not a valid permission name.`,
);
}
formDescriptor(desc);
const state = opRequest(desc);
- return PromiseResolve(cache(desc, state));
+ return cache(desc, state);
}
}