Возможна ли динамическая генерация кода с Typescript? - PullRequest
0 голосов
/ 09 декабря 2018

Есть ли способ динамически создать класс с использованием Typescript, который можно сохранить в своем собственном файле для последующего многократного использования в других проектах?

Например, допустим, я хочуиметь класс SpecificationParser, который может читать некоторый файл спецификации JSON и создавать представление некоторой сущности.

Затем я хотел бы динамически создать класс, который будет принимать представление и преобразовывать его вКласс построителя, который будет иметь динамически созданные методы со свойствами (именование, тип, параметры ...) из одного представления.

spec: {
 a: {
     type: string,
     length: 10
 },
 b: {
     type: number,
     min: 3,
     max: 9
 }
}
          +
          |
          |
          |
 +--------v----------+     +-------------------+     +--------------------+
 |SpecificationParser|     |Representation     |     |DynamicClass        |
 +-------------------+     +-------------------+     +--------------------+
 |Parse              +----->Compile            +----->withA(value: string)|
 |                   |     |                   |     |                    |
 |                   |     |                   |     |withB(value: number)|
 +-------------------+     +-------------------+     +--------------------+

Вещи, которые я хотел бы достичь:

  • Наличие динамически созданных классов TS из файла спецификации
  • Эти классы получают преимущества от функций TS (проверка типа ...)

Есть лиинструменты из среды TS, которые позволяют это?

Если нет, то какие инструменты можно / нужно использовать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...