015 when clauses

✓ 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 |> _
input.kz

Expected Output

Processed: 20
Processed: 60
Alert: High value detected! Result was: 60

Test Configuration

MUST_RUN