summaryrefslogtreecommitdiff
path: root/cli/state.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/state.rs')
-rw-r--r--cli/state.rs26
1 files changed, 6 insertions, 20 deletions
diff --git a/cli/state.rs b/cli/state.rs
index 5f3873510..2d871d74d 100644
--- a/cli/state.rs
+++ b/cli/state.rs
@@ -16,6 +16,7 @@ use deno_core::ModuleLoadId;
use deno_core::ModuleLoader;
use deno_core::ModuleSpecifier;
use deno_core::Op;
+use deno_core::OpDispatcher;
use deno_core::ZeroCopyBuf;
use futures::future::FutureExt;
use futures::Future;
@@ -62,10 +63,7 @@ pub struct StateInner {
}
impl State {
- pub fn stateful_json_op<D>(
- &self,
- dispatcher: D,
- ) -> impl Fn(&mut deno_core::CoreIsolateState, &mut [ZeroCopyBuf]) -> Op
+ pub fn stateful_json_op<D>(&self, dispatcher: D) -> impl OpDispatcher
where
D: Fn(&State, Value, &mut [ZeroCopyBuf]) -> Result<JsonOp, OpError>,
{
@@ -73,10 +71,7 @@ impl State {
self.core_op(json_op(self.stateful_op(dispatcher)))
}
- pub fn stateful_json_op2<D>(
- &self,
- dispatcher: D,
- ) -> impl Fn(&mut deno_core::CoreIsolateState, &mut [ZeroCopyBuf]) -> Op
+ pub fn stateful_json_op2<D>(&self, dispatcher: D) -> impl OpDispatcher
where
D: Fn(
&mut deno_core::CoreIsolateState,
@@ -92,13 +87,7 @@ impl State {
/// Wrap core `OpDispatcher` to collect metrics.
// TODO(ry) this should be private. Is called by stateful_json_op or
// stateful_minimal_op
- pub fn core_op<D>(
- &self,
- dispatcher: D,
- ) -> impl Fn(&mut deno_core::CoreIsolateState, &mut [ZeroCopyBuf]) -> Op
- where
- D: Fn(&mut deno_core::CoreIsolateState, &mut [ZeroCopyBuf]) -> Op,
- {
+ pub fn core_op(&self, dispatcher: impl OpDispatcher) -> impl OpDispatcher {
let state = self.clone();
move |isolate_state: &mut deno_core::CoreIsolateState,
@@ -109,7 +98,7 @@ impl State {
let bytes_sent_zero_copy =
zero_copy[1..].iter().map(|b| b.len()).sum::<usize>() as u64;
- let op = dispatcher(isolate_state, zero_copy);
+ let op = dispatcher.dispatch(isolate_state, zero_copy);
match op {
Op::Sync(buf) => {
@@ -152,10 +141,7 @@ impl State {
}
}
- pub fn stateful_minimal_op2<D>(
- &self,
- dispatcher: D,
- ) -> impl Fn(&mut deno_core::CoreIsolateState, &mut [ZeroCopyBuf]) -> Op
+ pub fn stateful_minimal_op2<D>(&self, dispatcher: D) -> impl OpDispatcher
where
D: Fn(
&mut deno_core::CoreIsolateState,