Typescript Transformer AST: заменить выражение на необработанный Javascript - PullRequest
0 голосов
/ 18 июня 2019

Я пишу преобразователь машинописи и хотел бы заменить некоторые выражения необработанным кодом JavaScript.Как это можно сделать?

Справочная информация: Я хочу преобразовать объявления типа TS в функции проверки, которые могут использоваться во время выполнения.Это вдохновлено машинопись - это .Разница в том, что я хотел бы использовать существующие библиотеки для выполнения тяжелой работы:

  • ts-json-schema-generator - Создать схему JSON из Typescript AST
  • ajv - проверка объекта по схеме JSON
  • ajv-pack - создание кода JS из схемы JSON для быстрой проверки объекта

EG, если это источник: type Foo = { foo: string }; const assertFoo = assertTypeFn<Foo>();, преобразователь заменит assertTypeFn<Foo>() функцией проверки.У меня уже есть генерирование JSON-схемы для типа Foo и запуск через ajv-pack для генерации кода.Теперь мне просто нужно вставить код в вывод.

...