2016-04-04 33 views
8

Quando ho avuto bisogno di generare un codice C#, ad esempio classi DTO da schema xsd, o una tabella excel, ho usato alcune API di Roslyn.Esiste API di generazione del codice per TypeScript?

C'è qualcosa di simile al dattiloscritto?

+0

Vedo che l'hai etichettato come T4 - T4 funziona bene con qualsiasi tipo di linguaggio poiché è fondamentalmente solo testo. Roslyn è solo VB.NET e C#. –

+0

È possibile controllare questo https://www.codeproject.com/Tips/1166380/Generating-TypeScript-Code-with-CatFactory –

risposta

5

Prova ts-simple-ast. Ho lavorato solo per circa un'ora, ma sembra davvero capace.

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

Dopo aver lavorato più a lungo con questa libreria posso confermare il suo vero affare. Ancora alcuni bug, ma sicuramente ha molte promesse. L'autore ha davvero fatto un ottimo lavoro – NSjonas

0

Quando abbiamo avuto bisogno di aggiungere il supporto per consumare le nostre API RESTful a una pila media utilizzando angolare 4 e tipografico, abbiamo usato http://editor.swagger.io e passati nella versione JSON di una definizione API Swagger 2.0, quindi selezionato generatore client per dattiloscritto .

Naturalmente abbiamo truffato un po ', nel senso che abbiamo usato SZ Architech (http://www.solution.zone) per creare le API RESTful, in primo luogo, che utilizza SwaggerUi per documentare le API generate, e ci permette di copiare solo la definizione Swagger 2.0 usa la generazione del codice di Swagger per il codice cliente.

0

C'è un generatore di codice Java per tipografico: https://github.com/raynigon/TSCodeModel

Deve essere adattata dalla sua soltanto l'API generazione. È un codice di build unableto da XSD Schema o simile. Lo uso per generare codice con il mio plug-in Maven.