diff options
author | Bert Belder <bertbelder@gmail.com> | 2020-08-18 18:30:13 +0200 |
---|---|---|
committer | Bert Belder <bertbelder@gmail.com> | 2020-08-19 02:01:48 +0200 |
commit | 27f4aeb92469660fdd78a89a7b2902c08a23ca4a (patch) | |
tree | e2076aaf31f0708e5037f46d3750f93b0d637417 /cli/ops/permissions.rs | |
parent | de1007fc6a2a6c2909732dcb87a5af6c1e370b09 (diff) |
Make Rc/Arc wrapper around State/GlobalState visible (#7104)
Diffstat (limited to 'cli/ops/permissions.rs')
-rw-r--r-- | cli/ops/permissions.rs | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/cli/ops/permissions.rs b/cli/ops/permissions.rs index 571ea5b21..4cb998536 100644 --- a/cli/ops/permissions.rs +++ b/cli/ops/permissions.rs @@ -5,8 +5,9 @@ use crate::state::State; use deno_core::CoreIsolate; use deno_core::ZeroCopyBuf; use std::path::Path; +use std::rc::Rc; -pub fn init(i: &mut CoreIsolate, s: &State) { +pub fn init(i: &mut CoreIsolate, s: &Rc<State>) { i.register_op( "op_query_permission", s.stateful_json_op(op_query_permission), @@ -29,13 +30,12 @@ struct PermissionArgs { } pub fn op_query_permission( - state: &State, + state: &Rc<State>, args: Value, _zero_copy: &mut [ZeroCopyBuf], ) -> Result<JsonOp, OpError> { let args: PermissionArgs = serde_json::from_value(args)?; - let state = state.borrow(); - let permissions = &state.permissions; + let permissions = state.permissions.borrow(); let path = args.path.as_deref(); let perm = match args.name.as_ref() { "read" => permissions.query_read(&path.as_deref().map(Path::new)), @@ -51,13 +51,12 @@ pub fn op_query_permission( } pub fn op_revoke_permission( - state: &State, + state: &Rc<State>, args: Value, _zero_copy: &mut [ZeroCopyBuf], ) -> Result<JsonOp, OpError> { let args: PermissionArgs = serde_json::from_value(args)?; - let mut state = state.borrow_mut(); - let permissions = &mut state.permissions; + let mut permissions = state.permissions.borrow_mut(); let path = args.path.as_deref(); let perm = match args.name.as_ref() { "read" => permissions.revoke_read(&path.as_deref().map(Path::new)), @@ -73,13 +72,12 @@ pub fn op_revoke_permission( } pub fn op_request_permission( - state: &State, + state: &Rc<State>, args: Value, _zero_copy: &mut [ZeroCopyBuf], ) -> Result<JsonOp, OpError> { let args: PermissionArgs = serde_json::from_value(args)?; - let mut state = state.borrow_mut(); - let permissions = &mut state.permissions; + let permissions = &mut state.permissions.borrow_mut(); let path = args.path.as_deref(); let perm = match args.name.as_ref() { "read" => permissions.request_read(&path.as_deref().map(Path::new)), |