diff options
Diffstat (limited to 'cli/state.rs')
-rw-r--r-- | cli/state.rs | 26 |
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, |