Перегоняет шарповые веб-DTOшки в TypeScript-овые определения в ходе сборки C#-проекта. Умеет в модули, .NET Core, Fluent-конфигурацию, глубокую кастомизацию. Да и вообще крут.
Ну то есть типа берёте вот такую фиговину:
public class User
{
public string FirstName { get; set; }
public string Email { get; set; }
public UserType Type { get; set; }
}
Делаете Install-Package Reinforced.Typings
в консоли NuGet, следуете инструкции (если у вас .NET Core). Налепляете атрибут [TsInterface]
на ваш класс и тыкаете ребилд.
Результат в project.ts
:
export interface IUser
{
FirstName: string;
Email: string;
Type: MyApp.UserType;
}
Если посидеть полчаса и почитать доку - можно заставить сгенерить, например, прослойку для вызова API из клиентского приложения, руководствуясь контроллерами в MVC-аппликухе.