Как избежать двойного вызова StoreModule.forRoot() при использовании ngrx в библиотеке

#angular #typescript #ngrx

Вопрос:

Я создаю угловую библиотеку, которая использует ngrx. Для библиотеки у меня есть всего пара редукторов функций, которые я могу достаточно легко инициализировать в базовом модуле библиотеки. Проблема в том, что я не знаю, следует ли вызывать StoreModule.forRoot(…) в базовом модуле библиотеки. Некоторые пользователи библиотеки уже используют ngrx, поэтому, если я это сделаю, он сломается, так как он вызывается дважды, однако некоторые пользователи его не используют, поэтому он сломается, если я его не включу. Я мог бы потребовать, чтобы все потребители, которые еще не используют ngrx, включили StoreModule.forRoot([]) в свой базовый импорт модулей, но я хотел бы избежать этого. Есть ли способ условно инициализировать модуль хранилища из библиотеки, чтобы избежать этих ошибок?