Skip to main content

find_invalid_expressions

Function find_invalid_expressions 

Source
pub fn find_invalid_expressions(s: &str) -> Vec<InvalidExpression>
Expand description

Find every ${...} in s that does not parse as an expression.

The counterpart to find_expressions, which keeps the occurrences that do parse. ${ always opens an expression, so an occurrence that fails to parse is a mistake rather than prose, and a caller reports each one it gets back.

ยงExamples

use rite_model::expression::find_invalid_expressions;

assert!(find_invalid_expressions("${artifact.ksr | sha256}").is_empty());

let found = find_invalid_expressions("sign ${nonsense.x} now");
assert_eq!(found.len(), 1);
assert_eq!(found[0].text, "${nonsense.x}");