Как сделать так, чтобы файлы скомпилированной декларации автоматизированного c компилятора машинного набора включали некоторые глобальные типы? - PullRequest
0 голосов
/ 07 апреля 2020

Я недавно возился с машинописью и строю библиотеку. На данный момент единственный способ, которым другой пакет может прочитать любой тип из моей библиотеки, - это если я экспортирую все из этой библиотеки в файл index.ts. Это связано с тем, что таким образом машинопись также будет экспортировать все печатные символы.

Однако я не хочу экспортировать каждый класс в index.ts только для экспорта типов, я хочу, чтобы пользователи могли использовать наборы, но не некоторые из классов.

Примером использования этого является абстрактный класс, который я предоставляю пользователю. Одна из функций initialize объявлена ​​abstract и требует одного параметра match типа Match. Тем не менее, Match - это класс с именем Match, но я не хочу экспортировать этот класс, я просто хочу экспортировать тип, чтобы пользователи могли написать реализацию абстрактной функции initialize и сделать

initialize(match: Match)

вместо

initialize(match: any)

, где им теперь придется использовать any, потому что я не хочу экспортировать класс Match, но не могу экспортировать тип Match.

...