Extract

Struct Extract 

Source
pub struct Extract { /* private fields */ }

Implementations§

Source§

impl Extract

Source

pub fn new() -> Self

Creates a new Extract

It exracts matched data parts (not nested)

Source

pub fn set_export_path(self, export: bool) -> Self

Sets whether matched path should be exported with data Output data will be enriched with the path from were the data were extracted

if path is not exported extraction can be a bit faster

Source

pub fn add_matcher( &mut self, matcher: Box<dyn Matcher>, handler: Option<Arc<Mutex<dyn Handler>>>, )

Adds new matcher for data extraction

§Arguments
  • matcher - matcher which matches the path
  • handler - optinal handler to be used to process data
§Example
use streamson_lib::{strategy, matcher};
use std::sync::{Arc, Mutex};

let mut extract = strategy::Extract::new();
let matcher = matcher::Simple::new(r#"{"list"}[]"#).unwrap();
let mut extract = strategy::Extract::new();
extract.add_matcher(
    Box::new(matcher),
    None,
);

Trait Implementations§

Source§

impl Default for Extract

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Strategy for Extract

Source§

fn process(&mut self, input: &[u8]) -> Result<Vec<Output>, General>

Processes input data Read more
Source§

fn terminate(&mut self) -> Result<Vec<Output>, General>

Should be called when input data terminates Read more

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, 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.