pub struct RunnableLambda { /* private fields */ }Expand description
A runnable that wraps an async closure.
§Example
let double = RunnableLambda::new(|v: Value| {
Box::pin(async move {
let n = v.as_i64().unwrap_or(0) * 2;
Ok(Value::from(n))
})
});Implementations§
Trait Implementations§
Source§impl RunnableCore for RunnableLambda
impl RunnableCore for RunnableLambda
Source§fn invoke<'a>(
&'a self,
input: Value,
_config: Option<&'a RunnableConfig>,
) -> BoxFuture<'a, Result<Value, SynwireError>>
fn invoke<'a>( &'a self, input: Value, _config: Option<&'a RunnableConfig>, ) -> BoxFuture<'a, Result<Value, SynwireError>>
Invoke the runnable with a single input.
Source§fn batch<'a>(
&'a self,
inputs: Vec<Value>,
config: Option<&'a RunnableConfig>,
) -> BoxFuture<'a, Result<Vec<Value>, SynwireError>>
fn batch<'a>( &'a self, inputs: Vec<Value>, config: Option<&'a RunnableConfig>, ) -> BoxFuture<'a, Result<Vec<Value>, SynwireError>>
Invoke on multiple inputs. Default implementation calls
invoke sequentially for each input.Source§fn stream<'a>(
&'a self,
input: Value,
config: Option<&'a RunnableConfig>,
) -> BoxFuture<'a, Result<BoxStream<'a, Result<Value, SynwireError>>, SynwireError>>
fn stream<'a>( &'a self, input: Value, config: Option<&'a RunnableConfig>, ) -> BoxFuture<'a, Result<BoxStream<'a, Result<Value, SynwireError>>, SynwireError>>
Stream results. Default implementation wraps
invoke
as a single-item stream.Auto Trait Implementations§
impl Freeze for RunnableLambda
impl !RefUnwindSafe for RunnableLambda
impl Send for RunnableLambda
impl Sync for RunnableLambda
impl Unpin for RunnableLambda
impl UnsafeUnpin for RunnableLambda
impl !UnwindSafe for RunnableLambda
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more