pub enum Projected {
Null,
Bool(bool),
Int(i64),
Float(f64),
Text(String),
DurationMs(u64),
Quantity(Box<Projected>, String),
Array(Vec<Projected>),
Record(Vec<(String, Projected)>),
Blob {
hash: [u8; 32],
size: u64,
media_type: String,
tainted: bool,
},
Env(String),
Expr(&'static str),
}Expand description
A redacted projection of a module’s value tree.
Both the JSON and the Protobuf projection render this tree. Building it once keeps the two from drifting, which matters because the redaction rules are security invariants and every renderer has to reproduce them exactly.
Variants§
Null
No value (a missing root or a dangling reference).
Bool(bool)
A boolean.
Int(i64)
A signed integer.
Float(f64)
A double-precision float.
Text(String)
Text with secret material already removed or replaced by the marker.
DurationMs(u64)
A duration in milliseconds.
Quantity(Box<Projected>, String)
A value with a unit: the inner value plus the unit’s name.
Array(Vec<Projected>)
Ordered list elements.
Record(Vec<(String, Projected)>)
A table, in canonical field order. Keys are already redacted.
Blob
A blob by identity. Payloads are never projected.
Fields
Env(String)
An environment lookup, by name.
Expr(&'static str)
A node kind that has no data projection (an operator, a schema, a patch).