✓
Passing This code compiles and runs correctly.
Code
// Test when clauses - conditional tap execution
const std = @import("std");
~import "$std/taps"
~event process { value: usize }
| done { result: usize }
~event alert { result: usize }
| done {}
~proc process {
const result = value * 2;
std.debug.print("Processed: {}\n", .{result});
return .{ .done = .{ .result = result } };
}
~proc alert {
std.debug.print("Alert: High value detected! Result was: {}\n", .{result});
return .{ .done = .{} };
}
// Only fire tap when result is > 50
~tap(process -> *)
| done d when d.result > 50 |> alert(result: d.result)
| done |> _
// Test with low value (should not trigger alert)
~process(value: 10)
| done |> _
// Test with high value (should trigger alert)
~process(value: 30)
| done |> _Expected Output
Processed: 20
Processed: 60
Alert: High value detected! Result was: 60Test Configuration
MUST_RUN