diff options
author | crowlKats <13135287+crowlKats@users.noreply.github.com> | 2021-03-18 19:42:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-18 14:42:01 -0400 |
commit | b59151f39eba2ddcfe9448dfecd043046d7a0852 (patch) | |
tree | 06591bbf8e26910f808f20c4bbeaf9eaf764339c /runtime/ops/fs_events.rs | |
parent | 62716422b9f57b11f3a0afb01f5011b63702226d (diff) |
move runtime ops to serde ops (#9828)
Diffstat (limited to 'runtime/ops/fs_events.rs')
-rw-r--r-- | runtime/ops/fs_events.rs | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/runtime/ops/fs_events.rs b/runtime/ops/fs_events.rs index aafe91d71..b7220b27b 100644 --- a/runtime/ops/fs_events.rs +++ b/runtime/ops/fs_events.rs @@ -3,7 +3,6 @@ use crate::permissions::Permissions; use deno_core::error::bad_resource_id; use deno_core::error::AnyError; -use deno_core::serde_json; use deno_core::serde_json::json; use deno_core::serde_json::Value; use deno_core::AsyncRefCell; @@ -83,17 +82,17 @@ impl From<NotifyEvent> for FsEvent { } } +#[derive(Deserialize)] +pub struct OpenArgs { + recursive: bool, + paths: Vec<String>, +} + fn op_fs_events_open( state: &mut OpState, - args: Value, + args: OpenArgs, _zero_copy: &mut [ZeroCopyBuf], ) -> Result<Value, AnyError> { - #[derive(Deserialize)] - struct OpenArgs { - recursive: bool, - paths: Vec<String>, - } - let args: OpenArgs = serde_json::from_value(args)?; let (sender, receiver) = mpsc::channel::<Result<FsEvent, AnyError>>(16); let sender = std::sync::Mutex::new(sender); let mut watcher: RecommendedWatcher = @@ -125,21 +124,20 @@ fn op_fs_events_open( Ok(json!(rid)) } +#[derive(Deserialize)] +pub struct PollArgs { + rid: u32, +} + async fn op_fs_events_poll( state: Rc<RefCell<OpState>>, - args: Value, + args: PollArgs, _zero_copy: BufVec, ) -> Result<Value, AnyError> { - #[derive(Deserialize)] - struct PollArgs { - rid: u32, - } - let PollArgs { rid } = serde_json::from_value(args)?; - let resource = state .borrow() .resource_table - .get::<FsEventsResource>(rid) + .get::<FsEventsResource>(args.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); |