UNPKG

fortify-schema

Version:

TypeScript interface-like schema validation system that's easier to use than Zod

43 lines (34 loc) 1.04 kB
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); }