javascript42
Главная
Все учебники
Блог
Учебник Superstruct
Введение
Что такое Superstruct
История и развитие библиотеки
Установка и подключение
Первый пример валидации
Сравнение с альтернативами
Базовые концепции
Структура данных и схемы
Принцип работы валидации
Типы ошибок
Coerce и transform
Понимание контекста валидации
Примитивные типы
String
Number
Boolean
Date
Symbol
Null и undefined
Any и unknown
Never
Составные типы
Object
Array
Tuple
Record
Map и Set
Instance
Literal
Объединение и пересечение типов
Union
Intersection
Enums
Discriminated unions
Вложенные union типы
Модификаторы типов
Optional
Nullable
Default
Lazy
Dynamic
Refine
Кастомные валидаторы
Создание собственных структур
Функции-валидаторы
Переиспользование логики
Композиция валидаторов
Асинхронная валидация
Обработка ошибок
Структура объекта ошибки
Failures и их свойства
Кастомные сообщения об ошибках
Локализация ошибок
Стратегии обработки множественных ошибок
Coercion
Автоматическое приведение типов
Trimmed strings
Числовые преобразования
Парсинг дат
Кастомные coercion функции
Refinement
Дополнительные проверки
Min и max для чисел
Size для массивов и строк
Pattern для строк
Nonempty
Email и URL валидация
Работа с объектами
Определение структуры объекта
Partial objects
Pick и omit
Assign и extend
Nested objects
Динамические ключи
Работа с массивами
Базовая валидация массивов
Ограничения по длине
Уникальность элементов
Tuple с переменной длиной
Валидация разнородных массивов
TypeScript интеграция
Автоматический вывод типов
Infer для получения типов
Типизация схем
Утилиты типов
Расширение базовых типов
Рекурсивные структуры
Определение рекурсивных схем
Деревья и графы
Циклические зависимости
Оптимизация производительности
Функциональные паттерны
Композиция схем
Pipe и flow
Частичное применение
Мemoization валидаторов
Производительность
Оптимизация сложных схем
Ленивая валидация
Кеширование результатов
Профилирование
Сравнение с другими библиотеками
Интеграция с формами
React Hook Form
Formik
Final Form
Vanilla JavaScript формы
Server-side валидация
Работа с API
Валидация запросов
Валидация ответов
OpenAPI спецификации
GraphQL интеграция
Middleware для Express/Koa
Тестирование
Юнит-тесты для схем
Моки и фикстуры
Property-based testing
Regression тесты
Coverage метрики
Миграция данных
Версионирование схем
Обратная совместимость
Трансформация старых данных
Стратегии миграции
Отладка
Инспекция схем
Трассировка валидации
Debug режим
Визуализация структуры
Продвинутые техники
Контекстно-зависимая валидация
Cross-field validation
Метапрограммирование схем
Генерация схем из данных
Безопасность
Санитизация входных данных
Защита от injection
Ограничения размера данных
Whitelist vs blacklist подходы
Архитектурные решения
Domain-driven валидация
Слои валидации в приложении
Sharing схем между frontend и backend
Модульная организация схем
Расширения и плагины
Создание расширений
Интеграция сторонних библиотек
Публикация собственных типов