import { Interface } from "../schema/mode/interfaces/Interface";

console.log("🔍 DEBUG: When Extension");
console.log("========================\n");

// Simple test with clean syntax
const SimpleSchema = Interface({
    role: "admin|user",
    permissions: "when:role=admin:string[]:string[]?"
});

console.log("Testing simple when condition:");
const result1 = SimpleSchema.safeParse({
    role: "admin",
    permissions: ["read", "write"]
});

console.log("Result 1 (admin):", result1.success);
if (!result1.success) {
    console.log("Errors:", result1.errors);
}

const result2 = SimpleSchema.safeParse({
    role: "user", 
    permissions: ["read"]
});

console.log("Result 2 (user):", result2.success);
if (!result2.success) {
    console.log("Errors:", result2.errors);
}

// Test without conditional field
const result3 = SimpleSchema.safeParse({
    role: "user"
    // No permissions field
});

console.log("Result 3 (no permissions):", result3.success);
if (!result3.success) {
    console.log("Errors:", result3.errors);
}
