Skip to main content

parse_condition

Function parse_condition 

Source
pub fn parse_condition(
    condition: &str,
    context: &ExecutionContext,
) -> Result<bool, String>
Expand description

Parse and evaluate a single condition expression against the execution context.

Grammar (simplified):

condition  := operand  operator  operand
            | "!" operand
operand    := variable | literal
variable   := identifier ("." identifier)*
operator   := "==" | "!=" | ">" | ">=" | "<" | "<="
            | "contains" | "startswith" | "endswith"
literal    := number [unit] | bool | quoted-string

Examples:

  • "output.size > 1MB"
  • "duration >= 60s"
  • "codec == av1"
  • "output.status == completed"
  • "count > 0"
  • "!failed"