playground

Посмотрите, как работает проверка.

Здесь работает настоящий рантайм t12n прямо в браузере. Тип User ниже фиксированный (его схема обычно выводится на сборке), но данные можно менять — отредактируйте, нажмите «Проверить» и смотрите результат. При несовпадении получите ту же ValidationError с путём, что и в реальном приложении.

Типread-only

type User = {
  id: number
  name: string
  email: string
  role: 'admin' | 'user'
  address: { zip: string }
}
Данные
Выведенная схема
{ kind: 'object', properties: {
  id:      { kind: 'number' },
  name:    { kind: 'string' },
  email:   { kind: 'string' },
  role:    { kind: 'enum', values: ['admin', 'user'] },
  address: { kind: 'object', properties: { zip: { kind: 'string' } } },
} }
Консоль
Нажмите «Проверить» — результат появится здесь (и в консоли браузера).