В настоящее время я работаю над SDK и хотел бы повторно экспортировать типы из сторонней библиотеки и предоставить их разработчикам. Обычно я добивался этого, используя экспорт ствола внутри модуля SDK, используя соответствующие сторонние типы.
Например:
export * from '@foo-bar/feature';
К сожалению, сторонняя библиотека, с которой я работаю, выполнила export = obj;
, что запрещает мне экспорт ствола.
Ошибка: TS2498: ... использует export = и не может использоваться с экспортом *.
Я нашел этот вопрос , который похож, однако я хотел бы добавить ограничение: я хочу, чтобы пользователи могли импортировать экспортируемые типы напрямую, используя именованный импорт, например:
// I'd like this
import { MyTypeA, MyTypeB } from './abc';
// I don't want this
import { all } from './abc';
const MyTypaA = all.MyTypeA;
Я заставил его частично работать с использованием деструктурирования объекта, однако, когда он был вынужден использовать сгенерированный файл d.ts
в транспилированном источнике, это не сработало для меня, поскольку извлеченные типы будут typeof
вместо буквального типа.
Любые идеи приветствуются - спасибо.