Как использовать наборы @ types / core- js для метаданных Reflect - PullRequest
0 голосов
/ 09 января 2020

Я немного сбит с толку.

У меня есть приложение Angular 8, где мне нужно использовать полифилл getOwnMetadata, предоставляемый core-js, а также используемый Angular для внутреннего использования. Сам полифилл загружен - я убедился в этом, явно добавив его в файл polyfills.ts моего проекта. Я также вижу в запущенном приложении с консолью разработчика, что объект Reflect в браузере действительно расширен с помощью необходимых методов. Пока все в порядке.

Теперь я пытаюсь использовать пакет @types/core-js из NPM, чтобы на самом деле использовать эти методы в моем коде без приведения объекта Reflect к any. Определения типов, предоставленные этим пакетом, просто «не работают» для меня.

Вместо расширения пространства имен Reflect, типизации определяют пространство имен core с вложенным пространством имен core.Reflect, которое повторно объявляет стандартные методы и дополнительные методы полифилла для предложения отражения-метаданных.

Это означает, что я не могу просто вызвать Reflect.getOwnMetadata, потому что методы не определены в root Reflect пространство имен, и я также не могу вызвать core.Reflect.getOwnMetadata, потому что это, конечно, не то, где объект браузера действительно "живет" ...

Может кто-нибудь сказать мне, как это должен работать? Как я должен использовать наборы в моем сценарии?

...