UNPKG

fortify-schema

Version:

A modern TypeScript validation library designed around familiar interface syntax and powerful conditional validation. Experience schema validation that feels natural to TypeScript developers while unlocking advanced runtime validation capabilities.

47 lines (36 loc) โ€ข 1.34 kB
/** * Debug object constant parsing */ import { Interface } from "../../schema/mode/interfaces/Interface"; // Simple test to debug object parsing const DebugSchema = Interface({ config: "any?", // Simple object simpleObj: 'when config.simple.$exists() *? any : ={"key":"value"}', // Object with null objWithNull: 'when config.null.$exists() *? any : ={"name":"test","value":null}', // Complex object complexObj: 'when config.complex.$exists() *? any : ={"theme":"dark","lang":"en","count":42}', }); console.log("๐Ÿงช Testing object constant parsing..."); const result = DebugSchema.safeParse({ config: {}, // No properties exist, so all should use defaults simpleObj: "wrong", objWithNull: "wrong", complexObj: "wrong", }); if (result.success) { console.log("โœ… Success:", result.data); } else { console.log("โŒ Errors:", result.errors); } // Let's also test the parser directly import { ConditionalParser } from "../../schema/mode/interfaces/conditional/parser/ConditionalParser"; console.log("\n๐Ÿ” Direct parser test:"); try { const parser = new ConditionalParser(); const ast = parser.parse('when config.test.$exists() *? any : ={"theme":"dark","lang":"en"}'); console.log("Parsed AST:", JSON.stringify(ast, null, 2)); } catch (error) { console.log("Parser error:", error.message); }