pub enum Inode {
Show 25 variants
Null,
Bool(bool),
Int(i64),
Float(f64),
Str(String),
DurationMs(u64),
Quantity {
value: NodeId,
unit: UnitTag,
},
Array {
elements: Vec<NodeId>,
},
Table {
fields: Vec<(String, NodeId)>,
},
Secret(SecretBytes),
SecretRef {
locator: NodeId,
},
Ref(NodeId),
Env {
name: String,
default: Option<NodeId>,
},
Ident(String),
Interpolate {
parts: Vec<InterpPart>,
},
Binary {
op: BinOp,
lhs: NodeId,
rhs: NodeId,
},
Unary {
op: UnOp,
expr: NodeId,
},
Constrained {
target: NodeId,
constraint: Constraint,
},
Patch(PatchOp),
SchemaField(SchemaFieldSpec),
SchemaTable {
fields: Vec<(String, NodeId)>,
closed: bool,
},
SchemaArray {
element: NodeId,
},
Semantic {
tag: SemanticTag,
inner: NodeId,
},
ContentAddressed {
media_type: NodeId,
data: NodeId,
},
Blob {
hash: [u8; 32],
size: u64,
tainted: bool,
media_type: String,
payload: Option<Vec<u8>>,
},
}Expand description
A module node.
Every variant is a value of the Active IR after name resolution; Ident
is retained only because decoded third-party modules may still contain
one (the encoder never emits it for canonical modules produced from
active-core).
Debug is written by hand (never derived): blob payloads are summarized
by identity and secrets render as Secret(***), so logging a module can
never dump payload or secret bytes.
Variants§
Null
Bool(bool)
Int(i64)
Float(f64)
Str(String)
DurationMs(u64)
Quantity
Array
Table
Secret(SecretBytes)
A structural secret literal. Never equals anything.
SecretRef
A secret derived from a locator node (secret.env(NAME),
secret(<expr>)).
Ref(NodeId)
Env
Ident(String)
Interpolate
Fields
parts: Vec<InterpPart>Binary
Unary
Constrained
Patch(PatchOp)
SchemaField(SchemaFieldSpec)
SchemaTable
SchemaArray
Semantic
ContentAddressed
blob(media_type, data) construction site (reserved kind 24).
Blob
A materialised content-addressed blob identity.
payload is present only for untainted blobs that were materialised;
a tainted blob never carries bytes, and the codec refuses a tainted
blob entry whose payload is non-empty.
Implementations§
Source§impl Inode
impl Inode
Sourcepub const fn kind_code(&self) -> u8
pub const fn kind_code(&self) -> u8
Stable kind discriminant (wire contract, docs/spec/layout.md §5.1).
Sourcepub const fn is_secret(&self) -> bool
pub const fn is_secret(&self) -> bool
Whether this node carries secret material or a secret locator.