Repolode
samchon

samchon/typia

TypeScript-трансформер, который на этапе сборки превращает обычные типы TypeScript в runtime-валидаторы, JSON-сериализаторы, кодеки protobuf и генераторы случайных данных.

Open source альтернатива:class-validator

Звёзды
5,963
Форки
233
Открытые issues
5
Последний коммит
вчера

Что это?

typia преобразует типы TypeScript в runtime-функции на этапе сборки. Вы пишете, например, typia.is<T>() или typia.assert<T>(), а трансформер анализирует T во время компиляции и генерирует отдельную функцию проверки — без дополнительных схем и runtime-рефлексии.

Библиотека охватывает несколько задач: runtime-валидаторы (is, assert, validate), расширенную работу с JSON с генерацией схем и более быстрыми функциями stringify и parse, генерацию сообщений Protocol Buffer с encode и decode, а также генератор случайных данных. В неё также входит модуль вызова функций LLM: он строит схемы инструментов на основе типов классов и проверяет или разбирает вывод модели.

Для typia нужен toolchain ttsc, а не обычные tsc, ts-node или tsx, поскольку стандартные инструменты не применяют трансформацию. Интеграция с бандлерами доступна через @ttsc/unplugin для Vite, Next.js, Webpack, Rollup и esbuild.

Ключевые возможности

  • 01Генерирует проверки типов на этапе сборки на основе обычных типов TypeScript, без файлов схем.
  • 02Предоставляет функции is, assert и validate для runtime-валидации.
  • 03Генерирует JSON Schema и предоставляет типобезопасные функции stringify и parse.
  • 04Кодирует и декодирует сообщения Protocol Buffer на основе типов TypeScript.
  • 05Создаёт схемы для вызова функций в инструментах LLM и проверяет вывод модели.
  • 06Включает генератор случайных данных на основе типов TypeScript.

Сценарии использования

  • Проверка тел API-запросов в бэкенде на TypeScript без отдельных схем.
  • Быстрая сериализация JSON для известных типов.
  • Создание определений инструментов для вызова функций LLM на основе классов TypeScript.
  • Генерация тестовых данных на основе существующих типов.

Быстрый старт

  1. 1

    Установите typia и набор инструментов ttsc/TypeScript

    npm i typia npm i -D ttsc typescript
  2. 2

    Соберите проект с помощью ttsc (стандартный tsc не применит трансформацию)

    npx ttsc
  3. 3

    Запустите скрипт напрямую с помощью ttsx

    npx ttsx src/index.ts

Что важно знать

  • Требуется набор инструментов ttsc; стандартные tsc, ts-node и tsx не могут применить трансформацию.
  • Для использования со сборщиком требуется отдельный пакет @ttsc/unplugin.

В подборках

Темы

Частые вопросы

Что такое typia?
TypeScript-трансформер, который на этапе сборки превращает обычные типы TypeScript в runtime-валидаторы, JSON-сериализаторы, кодеки protobuf и генераторы случайных данных. typia преобразует типы TypeScript в runtime-функции на этапе сборки. Вы пишете, например, typia.is<T>() или typia.assert<T>(), а трансформер анализирует T во время компиляции и генерирует отдельную функцию проверки — без дополнительных схем и runtime-рефлексии.
typia можно использовать бесплатно? Какая у него лицензия?
typia распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
typia всё ещё поддерживается?
Активно поддерживается. Последний коммит в typia — 6 нояб. 2026 г..
Для чего можно использовать typia?
Проверка тел API-запросов в бэкенде на TypeScript без отдельных схем. Быстрая сериализация JSON для известных типов. Создание определений инструментов для вызова функций LLM на основе классов TypeScript. Генерация тестовых данных на основе существующих типов.
Как установить typia?
Установите typia и набор инструментов ttsc/TypeScript: npm i typia npm i -D ttsc typescript Соберите проект с помощью ttsc (стандартный tsc не применит трансформацию): npx ttsc Запустите скрипт напрямую с помощью ttsx: npx ttsx src/index.ts
Где скачать typia?
Исходный код и инструкции по установке — на GitHub: https://github.com/samchon/typia

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Библиотека схем для TypeScript и ReScript: проверяет, разбирает и кодирует данные по одному описанию в JSON, формах и Protobuf.

494+1 за неделю15TypeScriptMITАктивно поддерживаетсяОбновлён 3 дня назад

Быстрая библиотека для сериализации и валидации данных в Python: кодирует и декодирует JSON, MessagePack, YAML и TOML с помощью стандартных аннотаций типов.

4,2 тыс.+14 за неделю229PythonBSD-3-ClauseАктивно поддерживаетсяОбновлён вчера

Вспомогательные библиотеки TypeScript для NestJS: генерируют типизированные SDK, документацию Swagger, E2E-тесты и агентов для вызова функций LLM на основе контроллеров.

2,2 тыс.+2 за неделю128TypeScriptMITАктивно поддерживаетсяОбновлён 18 часов назад

Декларативный язык схем, который генерирует типобезопасные модели данных и RPC-код для TypeScript, Python, Java, Go, C++ и других языков из одного файла .skir.

318+2 за неделю10TypeScriptMITАктивно поддерживаетсяОбновлён 11 дней назад