Expand description
§PathTemplate
A config field naming a write destination — where a value lands in the message context — expressed as JSONLogic.
Split from Template because a destination needs a different resolved
form than a value does. Every write in this crate goes through the
*_parts tree walkers, which take a pre-split &[Arc<str>]; the dotted
string is carried alongside because Change::path
records it on the audit trail. Splitting per write cost measurable
throughput on the map hot path, which is why the split has always been
precomputed at engine construction.
That precompute is preserved exactly: a destination authored the static way
— "data.output" — folds to a constant, and its (dotted, parts) pair is
computed once at compile time and handed back as two refcount bumps. Only a
destination that actually reads the message pays to split per write.
Structs§
- Context
Root - Rooted at the whole message context: the authored path names its own root,
as in
data.user.name,metadata.progressortemp_data.i. - Data
Root - Rooted inside
data: the authored"orders"meansdata.orders. Whatparse_json,parse_xml,publish_jsonandpublish_xmlcalltarget. - Param
Ctx - What a built-in needs to resolve its parameters from inside an arena scope.
- Path
Template - A config field naming a write destination, expressed as JSONLogic.
Traits§
- Path
Root - Where a resolved path string is rooted.
Type Aliases§
- Resolved
Path - A resolved write destination: the dotted path, and its pre-split parts.