summaryrefslogtreecommitdiff
path: root/cli/ops/fs_events.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/ops/fs_events.rs')
-rw-r--r--cli/ops/fs_events.rs16
1 files changed, 9 insertions, 7 deletions
diff --git a/cli/ops/fs_events.rs b/cli/ops/fs_events.rs
index 8230983dd..0a6fee8ea 100644
--- a/cli/ops/fs_events.rs
+++ b/cli/ops/fs_events.rs
@@ -17,8 +17,8 @@ use std::path::PathBuf;
use tokio::sync::mpsc;
pub fn init(i: &mut Isolate, s: &State) {
- i.register_op("op_fs_events_open", s.stateful_json_op(op_fs_events_open));
- i.register_op("op_fs_events_poll", s.stateful_json_op(op_fs_events_poll));
+ i.register_op("op_fs_events_open", s.stateful_json_op2(op_fs_events_open));
+ i.register_op("op_fs_events_poll", s.stateful_json_op2(op_fs_events_poll));
}
struct FsEventsResource {
@@ -60,6 +60,7 @@ impl From<NotifyEvent> for FsEvent {
}
pub fn op_fs_events_open(
+ isolate: &mut deno_core::Isolate,
state: &State,
args: Value,
_zero_copy: Option<ZeroCopyBuf>,
@@ -91,13 +92,14 @@ pub fn op_fs_events_open(
watcher.watch(path, recursive_mode).map_err(ErrBox::from)?;
}
let resource = FsEventsResource { watcher, receiver };
- let table = &mut state.borrow_mut().resource_table;
- let rid = table.add("fsEvents", Box::new(resource));
+ let mut resource_table = isolate.resource_table.borrow_mut();
+ let rid = resource_table.add("fsEvents", Box::new(resource));
Ok(JsonOp::Sync(json!(rid)))
}
pub fn op_fs_events_poll(
- state: &State,
+ isolate: &mut deno_core::Isolate,
+ _state: &State,
args: Value,
_zero_copy: Option<ZeroCopyBuf>,
) -> Result<JsonOp, OpError> {
@@ -106,9 +108,9 @@ pub fn op_fs_events_poll(
rid: u32,
}
let PollArgs { rid } = serde_json::from_value(args)?;
- let state = state.clone();
+ let resource_table = isolate.resource_table.clone();
let f = poll_fn(move |cx| {
- let resource_table = &mut state.borrow_mut().resource_table;
+ let mut resource_table = resource_table.borrow_mut();
let watcher = resource_table
.get_mut::<FsEventsResource>(rid)
.ok_or_else(OpError::bad_resource_id)?;