diff options
Diffstat (limited to 'runtime/js/10_permissions.js')
-rw-r--r-- | runtime/js/10_permissions.js | 48 |
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); } } |