pub struct MapNode { /* private fields */ }Expand description
Map node - field transformation.
Creates a new data structure by mapping fields from the input to new field names in the output. Supports:
- Field renaming
- Nested field extraction
- Default values for missing fields
§Ports
- Input: “in” - Source data
- Output: “out” - Transformed data
- Output: “error” - Emitted on errors
§Example Configuration
nodes:
transform_user:
type: std::map
config:
mappings:
- from: $.user.full_name
to: name
- from: $.user.email_address
to: email
- from: $.metadata.created_at
to: timestamp
default: "unknown"
inputs:
- from: fetch_user.out -> in
outputs:
out: -> process_user.inImplementations§
Source§impl MapNode
impl MapNode
Sourcepub fn new(mappings: Vec<FieldMapping>) -> Self
pub fn new(mappings: Vec<FieldMapping>) -> Self
Create a map node with the given field mappings.
Sourcepub fn with_mapping(self, mapping: FieldMapping) -> Self
pub fn with_mapping(self, mapping: FieldMapping) -> Self
Add a field mapping.
Sourcepub fn rename(self, from: impl Into<String>, to: impl Into<String>) -> Self
pub fn rename(self, from: impl Into<String>, to: impl Into<String>) -> Self
Add a simple rename mapping.
Sourcepub fn with_passthrough(self) -> Self
pub fn with_passthrough(self) -> Self
Enable passthrough of unmapped fields.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MapNode
impl RefUnwindSafe for MapNode
impl Send for MapNode
impl Sync for MapNode
impl Unpin for MapNode
impl UnwindSafe for MapNode
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.