У меня есть мастер-приложение, которое принимает модули плагинов, за исключением некоторых функций (аутентификации), где по какой-то причине кажется, что адски плагины мешают плагинам добавлять методы аутентификации. Несмотря на это, мне все еще нужно сделать именно это - добавить новый метод аутентификации, но через плагин.
В главном приложении есть модуль машинописного текста, который экспортирует класс Authenticator
,
export class Authenticator {
constructor(arg) { dostuff(arg); }
}
Мне нужно каким-то образом перехватить аргумент конструктора и сохранить его в моем плагине. Класс Authenticator
создается в частном коде, но, к счастью, после инициализации моего плагина - у меня есть шанс запустить некоторый код; Есть ли способ динамически изменить объект класса Authenticator
(то есть сам класс), чтобы я мог захватить аргумент, когда он фактически создается? Обратите внимание, что я не могу использовать декоратор (мне нужно изменить основное приложение), и я не могу создать экземпляр прокси вместо Authenticator (опять же, мне нужно изменить основное приложение, чтобы сделать это) , Я пытался изменить Authenticator.constructor
или Authenticator.prototype.constructor
, но, очевидно, ни один из них не работает. Есть ли другой способ?