pub enum ExprValue {
Literal(Literal),
Expr(Expression),
Interpolated(Vec<StringPart>),
Object(HashMap<String, ExprValue>),
Array(Vec<ExprValue>),
}Expand description
A value that may contain deferred expressions (parsed, not yet evaluated).
This is the bridge between the resolver and runtime: the resolver parses
all ${...} patterns into structured expressions, and the runtime evaluates
them without any string parsing.
Variants§
Literal(Literal)
Fully resolved literal (no expressions)
Expr(Expression)
Single expression (entire value is one expression)
Interpolated(Vec<StringPart>)
String with embedded expressions: "Hash: ${artifact.x | sha256}"
Object(HashMap<String, ExprValue>)
Structured object with potentially deferred fields
Array(Vec<ExprValue>)
Array of values
Implementations§
Source§impl ExprValue
impl ExprValue
Sourcepub fn as_literal_string(&self) -> Option<&str>
pub fn as_literal_string(&self) -> Option<&str>
Get the value as a literal string, if it is one.
Sourcepub fn as_literal_integer(&self) -> Option<i64>
pub fn as_literal_integer(&self) -> Option<i64>
Get the value as a literal integer, if it is one.
Sourcepub fn to_display_string(&self) -> String
pub fn to_display_string(&self) -> String
Convert to a display string (for script generation, not evaluation).
For literals, returns the literal value.
For expressions, returns the expression syntax like "${artifact.ksr | sha256}".