summaryrefslogtreecommitdiff
path: root/runtime/ops/fs_events.rs
diff options
context:
space:
mode:
authorcrowlKats <13135287+crowlKats@users.noreply.github.com>2021-03-18 19:42:01 +0100
committerGitHub <noreply@github.com>2021-03-18 14:42:01 -0400
commitb59151f39eba2ddcfe9448dfecd043046d7a0852 (patch)
tree06591bbf8e26910f808f20c4bbeaf9eaf764339c /runtime/ops/fs_events.rs
parent62716422b9f57b11f3a0afb01f5011b63702226d (diff)
move runtime ops to serde ops (#9828)
Diffstat (limited to 'runtime/ops/fs_events.rs')
-rw-r--r--runtime/ops/fs_events.rs30
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);