TypeSpec был задуман как простой язык для описания программных интерфейсов (API), использующих любые протоколы или форматы сериализации данных. Эти описания затем можно скомпилировать в код, соответствующий форматам OpenAPI, JSON-схемы или Protobuf.
Впрочем, говорится в сообщении на официальном сайте, TypeSpec — это не просто новый язык; это платформа, которая обеспечивает абстракцию, способствует повторному использованию кода и поддерживает современные инструменты быстрой разработки. Лаконичность языка позволяет определять сложные структуры данных и форматы API минимальным количеством кода. Инструменты TypeSpec выявляют многие ошибки и нарушения правил во время разработки. Наконец, TypeSpec можно расширять с помощью своих декораторов и шаблонов типов, что позволяет разрабатывать модели API, соответствующие логике любого бизнеса или приложения. Расширяемость позволяет описывать любые протоколы, форматы сериализации или метаданных, специфичные для предметной области.
Язык TypeSpec уже сейчас широко используется в Microsoft при разработке сервисов Azure.