Skip to main content

JsStep

Struct JsStep 

Source
pub struct JsStep { /* private fields */ }
Expand description

A JavaScript transform step powered by QuickJS (via rquickjs).

The user provides a JS function body that receives a row object and returns a transformed object (or null/undefined to filter the record out).

{
  "type": "js",
  "function": "function transform(row) { return { ...row, total: row.price * row.qty } }"
}

The function is compiled once at parse time. Each apply() call serializes the row to JS, invokes the function, and deserializes the result back.

Implementations§

Source§

impl JsStep

Source

pub fn new(name: &str, function_source: &str) -> Result<Self, OversyncError>

Create a new JS transform from a function source string.

The source must define a global transform function that accepts one argument.

Trait Implementations§

Source§

impl Debug for JsStep

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl TransformStep for JsStep

Source§

fn apply(&self, data: &mut Value) -> Result<bool, OversyncError>

Source§

fn step_name(&self) -> &str

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ParallelSend for T
where T: Send,