2017-01-23 2 views
1

Ich habe eine Methode, die JSON-Schema in Typescript-Schnittstelle "Zeichenfolge" konvertiert. Es sieht wie folgt aus:Ist es möglich, Typoskript-Schnittstelle als Ausgabe von einer Methode zu exportieren?

// Eingangs

var scriptSchema = { 
    type: 'object', 
    properties: { 
     src: { type: 'string' }, 
     name: { type: 'string' }, 
     author: { type: 'string' } 
    }, 
    required: ['src','name'] 
} 

// Ausgabe (als Zeichenfolge)

interface IScript { 
    src: string, 
    name: string, 
    author?: string 
} 

Ich möchte eine Datei vermeiden Erzeugung dieses Haus, wenn möglich.

Idealerweise würde ich gerne so etwas tun.

export interface IScript = JSON.parse(...) //etc, etc 

Irgendwelche Vorschläge?

Antwort

0

Nein - zumindest nicht ohne gültigen neuen TypeScript-Code auszugeben und als Post-Step zu kompilieren.

Diese Einschränkung liegt daran, dass TypeScript eine Statically Typed-Sprache ist und bei Typvalidierung und [trans] -Kompilierung alle Typinformationen enthalten muss. No Wert von der zukünftigen Ausführung eines Programms ist bei diesem verfügbar.

Es scheint, als ob das Endziel darin besteht, verschiedene TypeScript-Typen "dynamisch zu generieren". In diesem Fall ist die Verwendung separater Dateien (und einer separaten Generierungsphase) wahrscheinlich am nützlichsten.

+0

Ja das war meine Schlussfolgerung. Ich gebe diese Frage noch eine Stunde, wenn keine Wunder entdeckt werden, werde ich diese Antwort akzeptieren. – Proximo

Verwandte Themen