import * as validators from './validators'; import { ValidationSchema, ValidationResult } from './types'; export function validate(schema: ValidationSchema): ValidationResult { const errors: Record = {}; let success = true; for (const key in schema) { const [value, validatorName] = schema[key]; const validator = (validators as any)[validatorName]; if (!validator || !validator(value)) { success = false; errors[key] = `${key} failed ${validatorName}`; } } return { success, errors }; }