меня есть репозиторий typeorm, который сам репозиторий тайпорма инжектит под каким то токеном(под вот таким getRepositoryToken(Entity)), я же хочу под этим токеном заинжектить свой токен. Но по сути получаю такое, что токены тайпорма не оверрайдятся моими, можно как то задать приоритет токенам или зарегать мои репозитории после инициализации тайпорма?
Токен заинжектить под токеном?
решил?
@KaufmanEndy , у меня немножко похожий кейс. В том плане что тоже провайдеры создаю В модуль передаю конфиг некого сервиса. Внутри конфига есть свойство , которое содержит массив. Из элементов этого массива нужно создать провайдеры Пример: ts static forRoot(option: ModuleOption) { const provider = [] for (let item of option.array) { provider.push( { provide: 'generatedtoken', useValue: item.name }) } return provider } Выше пример работает четко по задумке. Но вся проблема в forRootAsync: ts static forRootAsync(options: ModuleAsyncOptions) { const createSomeStuff = { provide: 'OPTION_TOKEN', useFactory: options.useFactory } } А вот выше я уже не могу получить нужное мне свойство. Как мне создать провайдеры на основе элементов свойства конфига модуля?
а тут прикол в том что, в несте нет оверрайда токенов, юзается только самый первый, ну ты можешь перетереть то что лежало под старым токеном providers:[{provide:'overrider',useFactory:(rep)=>Object.assign(rep,{NOVAI DATA}),inject:[getRepositoryToken(Entity)]}]
да если класс то прототип подменить
ага, гдет в истории писал, ща не под рукою код
Обсуждают сегодня