UNPKG

zon-format

Version:

ZON: The most token-efficient serialization format for LLMs - beats CSV, TOON, JSON, and all competitors

65 lines (64 loc) 1.68 kB
/** * Enhanced Validator & Linter * * Validate ZON data and provide best practice recommendations */ import type { ZonSchema } from '../schema/schema'; export interface ValidationResult { valid: boolean; errors: ValidationError[]; warnings: ValidationWarning[]; suggestions: string[]; } export interface ValidationError { path: string; message: string; severity: 'error'; } export interface ValidationWarning { path: string; message: string; severity: 'warning'; rule: string; } export interface LintOptions { /** Maximum allowed nesting depth */ maxDepth?: number; /** Maximum allowed field count */ maxFields?: number; /** Warn on irregular schemas */ checkIrregularity?: boolean; /** Check for performance issues */ checkPerformance?: boolean; /** Validate against schema if provided */ schema?: ZonSchema; } /** * Enhanced validator with linting */ export declare class ZonValidator { /** * Validate ZON string and provide detailed feedback */ validate(zon: string, options?: LintOptions): ValidationResult; /** * Quick validation without detailed linting */ isValid(zon: string): boolean; /** * Get best practice recommendations */ lint(zon: string, options?: LintOptions): ValidationWarning[]; } /** * Global validator instance */ export declare const validator: ZonValidator; /** * Quick validation function */ export declare function validateZon(zon: string, schema?: ZonSchema): ValidationResult; /** * Lint ZON for best practices */ export declare function lintZon(zon: string, options?: LintOptions): ValidationWarning[];