2016-04-04 9 views
8

xsdスキーマのDTOクラスやExcelテーブルなど、いくつかのC#コードを生成する必要があるとき、私はいくつかのroslyn APIを使用しました。TypeScript用のコード生成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。 1時間ほどしか作業していませんが、実際には可能です。私たちは4角度と活字体を使用してMEANスタックに私たちのRESTfulなAPIを消費するためのサポートを追加するために必要な

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

、私たちは、その後、活字体のためのクライアント・ジェネレータを選択しhttp://editor.swagger.ioを使用して闊歩2.0 APIの定義のJSONバージョンに渡さ。

まず、RESTful APIを作成するためにSZ Architech(http://www.solution.zone)を使用しましたが、SwaggerUiを使用して生成されたAPIをドキュメント化し、Swagger 2.0の定義をSwaggerのコード生成をクライアントコードに使用します。

0

JAVAコードジェネレータは、活字体のためにあります:https://github.com/raynigon/TSCodeModel

それは、その唯一の世代のAPIので、適応する必要があります。 XSDスキーマなどからコードを構築することはできません。 Maven Pluginでコードを生成するために使用します。

関連する問題