2016-04-04 2 views
8

Когда мне нужно было сгенерировать некоторый код C#, например классы DTO из схемы xsd или таблицу excel, я использовал некоторые API roslyn.Есть ли API для генерации кода для TypeScript?

Есть ли что-то похожее на машинопись?

+0

Я вижу, что вы отметили его как T4 - T4 отлично работает на любом языке, поскольку в основном это простой текст. Roslyn - только VB.NET и C#. –

+0

Вы можете проверить это https://www.codeproject.com/Tips/1166380/Generating-TypeScript-Code-with-CatFactory –

ответ

5

Попробуйте ts-simple-ast. Только работала с ним около часа, но кажется действительно способной.

import Ast, {Scope,SourceFile} from "ts-simple-ast"; 

const ast = new Ast(); 
const sourceFile = ast.addSourceFileFromStructure(`./target/path`, {}); 


const classDeclaration = this.sourceFile.addClass({ 
    name: this.className 
}); 

const constr = classDeclaration.addConstructor({}); 
const param = constr.addParameter({ 
    name: 'myProp', 
    type: string 
}); 

constr.setBodyText('this.myProp = myProp'); 

classDeclaration.addProperty({ 
    name: "myProp", 
    type: "string", 
    initializer: 'hello world!', 
    scope: Scope.Public 
}); 
sourceFile.formatText(); 
console.log(sourceFile.getText()); 
+0

После продолжительной работы с этой библиотекой я могу подтвердить ее реальную сделку. Все еще некоторые ошибки, но, безусловно, имеет много обещаний. Автор действительно проделал большую работу – NSjonas

0

Когда нам нужно добавить поддержку для потребления нашего RESTful API, чтобы стек MEAN используя угловую 4 и машинопись, мы использовали http://editor.swagger.io и прошли в версии JSON из определения API Куража 2.0, то выбранный генератор клиента для машинописи ,

Конечно, мы немного обманули, поскольку мы использовали SZ Architech (http://www.solution.zone) для создания API RESTful, который использует SwaggerUi для документирования сгенерированных API-интерфейсов и позволяет нам просто скопировать определение Swagger 2.0 на используйте генерацию кода Swagger для кода клиента.

0

Существует генератор кода Java для Машинописи: https://github.com/raynigon/TSCodeModel

Она должна быть адаптирована с момента его только поколение API. Он не может создать код из схемы XSD или аналогичный. Я использую его для генерации кода с моим плагином Maven.