diff options
author | Aaron O'Mullan <aaron.omullan@gmail.com> | 2021-08-15 13:29:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-15 13:29:19 +0200 |
commit | 2ca454b402d48c1808f8233c5adedc11b714c63c (patch) | |
tree | 592f9e877e9b0ae92be80383ab723cc290e4b01e /ext/web/message_port.rs | |
parent | 18ff6bb053d600c277613628a256fe5fdd4dda67 (diff) |
refactor(ops): return BadResource errors in ResourceTable calls (#11710)
* refactor(ops): return BadResource errors in ResourceTable calls
Instead of relying on callers to map Options to Results via `.ok_or_else(bad_resource_id)` at over 176 different call sites ...
Diffstat (limited to 'ext/web/message_port.rs')
-rw-r--r-- | ext/web/message_port.rs | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/ext/web/message_port.rs b/ext/web/message_port.rs index f73d0486a..4af99d501 100644 --- a/ext/web/message_port.rs +++ b/ext/web/message_port.rs @@ -2,7 +2,6 @@ use std::borrow::Cow; use std::cell::RefCell; use std::rc::Rc; -use deno_core::error::bad_resource_id; use deno_core::error::type_error; use deno_core::error::AnyError; use deno_core::ZeroCopyBuf; @@ -141,7 +140,7 @@ fn deserialize_js_transferables( let resource = state .resource_table .take::<MessagePortResource>(id) - .ok_or_else(|| type_error("Invalid message port transfer"))?; + .map_err(|_| type_error("Invalid message port transfer"))?; resource.cancel.cancel(); let resource = Rc::try_unwrap(resource) .map_err(|_| type_error("Message port is not ready for transfer"))?; @@ -192,10 +191,7 @@ pub fn op_message_port_post_message( } } - let resource = state - .resource_table - .get::<MessagePortResource>(rid) - .ok_or_else(bad_resource_id)?; + let resource = state.resource_table.get::<MessagePortResource>(rid)?; resource.port.send(state, data) } @@ -208,8 +204,8 @@ pub async fn op_message_port_recv_message( let resource = { let state = state.borrow(); match state.resource_table.get::<MessagePortResource>(rid) { - Some(resource) => resource, - None => return Ok(None), + Ok(resource) => resource, + Err(_) => return Ok(None), } }; let cancel = RcRef::map(resource.clone(), |r| &r.cancel); |