pub struct JsonDynamicNode { /* private fields */ }Expand description
JsonDynamic node - schemaless JSON handling.
Handles dynamic/volatile JSON payloads that don’t conform to strict schemas. Useful for:
- Accepting webhook payloads from external services
- Working with APIs that change frequently
- Late binding before converting to strict types
§Ports
- Input: “in” - Any JSON input
- Output: “out” - Processed JSON output
- Output: “error” - Emitted on errors
§Example Configuration
nodes:
handle_webhook:
type: std::json_dynamic
config:
operation: extract
fields:
- $.data.user.id
- $.data.user.email
- $.metadata.timestamp
inputs:
- from: webhook.out -> in
outputs:
out: -> validate.inImplementations§
Source§impl JsonDynamicNode
impl JsonDynamicNode
Sourcepub fn passthrough() -> Self
pub fn passthrough() -> Self
Create a passthrough node (no transformation).
Sourcepub fn set(path: impl Into<String>, value: Value) -> Self
pub fn set(path: impl Into<String>, value: Value) -> Self
Create a node that sets a specific field.
Sourcepub fn flatten(separator: impl Into<String>) -> Self
pub fn flatten(separator: impl Into<String>) -> Self
Create a node that flattens nested objects.
Sourcepub fn with_required(self, fields: Vec<String>) -> Self
pub fn with_required(self, fields: Vec<String>) -> Self
Add required field validation.
Trait Implementations§
Source§impl Debug for JsonDynamicNode
impl Debug for JsonDynamicNode
Auto Trait Implementations§
impl Freeze for JsonDynamicNode
impl RefUnwindSafe for JsonDynamicNode
impl Send for JsonDynamicNode
impl Sync for JsonDynamicNode
impl Unpin for JsonDynamicNode
impl UnwindSafe for JsonDynamicNode
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.