diff options
Diffstat (limited to 'runtime/ops/mod.rs')
-rw-r--r-- | runtime/ops/mod.rs | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/runtime/ops/mod.rs b/runtime/ops/mod.rs index c46f82af6..b05a91180 100644 --- a/runtime/ops/mod.rs +++ b/runtime/ops/mod.rs @@ -27,25 +27,29 @@ use deno_core::serde::de::DeserializeOwned; use deno_core::serde::Serialize; use deno_core::JsRuntime; use deno_core::OpState; -use deno_core::ZeroCopyBuf; use std::cell::RefCell; use std::future::Future; use std::rc::Rc; -pub fn reg_async<F, V, R, RV>(rt: &mut JsRuntime, name: &'static str, op_fn: F) -where - F: Fn(Rc<RefCell<OpState>>, V, Option<ZeroCopyBuf>) -> R + 'static, - V: DeserializeOwned, +pub fn reg_async<F, A, B, R, RV>( + rt: &mut JsRuntime, + name: &'static str, + op_fn: F, +) where + F: Fn(Rc<RefCell<OpState>>, A, B) -> R + 'static, + A: DeserializeOwned, + B: DeserializeOwned, R: Future<Output = Result<RV, AnyError>> + 'static, RV: Serialize + 'static, { rt.register_op(name, metrics_op(name, op_async(op_fn))); } -pub fn reg_sync<F, V, R>(rt: &mut JsRuntime, name: &'static str, op_fn: F) +pub fn reg_sync<F, A, B, R>(rt: &mut JsRuntime, name: &'static str, op_fn: F) where - F: Fn(&mut OpState, V, Option<ZeroCopyBuf>) -> Result<R, AnyError> + 'static, - V: DeserializeOwned, + F: Fn(&mut OpState, A, B) -> Result<R, AnyError> + 'static, + A: DeserializeOwned, + B: DeserializeOwned, R: Serialize + 'static, { rt.register_op(name, metrics_op(name, op_sync(op_fn))); |