diff options
author | Aaron O'Mullan <aaron.omullan@gmail.com> | 2021-04-05 18:40:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-05 18:40:24 +0200 |
commit | 2aed322dd507a8568b6ee6f4897e9a8e3220f763 (patch) | |
tree | e9a45c0b7688a9881ea9ce132b92554ef2955ad6 /runtime/ops/fs_events.rs | |
parent | 284e6c303956e8ca20af63b4ecc045438a260fe6 (diff) |
refactor: convert ops to use serde_v8 (#10009)
This commit rewrites most of the ops to use "serde_v8" instead
of "json" serialization.
Diffstat (limited to 'runtime/ops/fs_events.rs')
-rw-r--r-- | runtime/ops/fs_events.rs | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/runtime/ops/fs_events.rs b/runtime/ops/fs_events.rs index fed28a3d2..a64f31a33 100644 --- a/runtime/ops/fs_events.rs +++ b/runtime/ops/fs_events.rs @@ -3,8 +3,6 @@ use crate::permissions::Permissions; use deno_core::error::bad_resource_id; use deno_core::error::AnyError; -use deno_core::serde_json::json; -use deno_core::serde_json::Value; use deno_core::AsyncRefCell; use deno_core::CancelFuture; use deno_core::CancelHandle; @@ -93,7 +91,7 @@ fn op_fs_events_open( state: &mut OpState, args: OpenArgs, _zero_copy: Option<ZeroCopyBuf>, -) -> Result<Value, AnyError> { +) -> Result<ResourceId, AnyError> { let (sender, receiver) = mpsc::channel::<Result<FsEvent, AnyError>>(16); let sender = std::sync::Mutex::new(sender); let mut watcher: RecommendedWatcher = @@ -122,30 +120,25 @@ fn op_fs_events_open( cancel: Default::default(), }; let rid = state.resource_table.add(resource); - Ok(json!(rid)) -} - -#[derive(Deserialize)] -pub struct PollArgs { - rid: ResourceId, + Ok(rid) } async fn op_fs_events_poll( state: Rc<RefCell<OpState>>, - args: PollArgs, + rid: ResourceId, _zero_copy: Option<ZeroCopyBuf>, -) -> Result<Value, AnyError> { +) -> Result<Option<FsEvent>, AnyError> { let resource = state .borrow() .resource_table - .get::<FsEventsResource>(args.rid) + .get::<FsEventsResource>(rid) .ok_or_else(bad_resource_id)?; let mut receiver = RcRef::map(&resource, |r| &r.receiver).borrow_mut().await; let cancel = RcRef::map(resource, |r| &r.cancel); let maybe_result = receiver.recv().or_cancel(cancel).await?; match maybe_result { - Some(Ok(value)) => Ok(json!({ "value": value, "done": false })), + Some(Ok(value)) => Ok(Some(value)), Some(Err(err)) => Err(err), - None => Ok(json!({ "done": true })), + None => Ok(None), } } |