Typescript 是否有一种方法可以将自定义参数传递给NestJs中的useFactory DynamicModule?

Typescript 是否有一种方法可以将自定义参数传递给NestJs中的useFactory DynamicModule?,typescript,nestjs,Typescript,Nestjs,我有一个共享库,它将为其他应用程序提供模块。因此,我需要动态自定义参数为应用程序中的每个模块生成自定义实例 我已经在官方回购协议中对此进行了发行 ,但也许这里有人能给我一些想法或者帮我解决这个问题 我已经查阅了nestjs文档,也阅读了代码和问题,但是我找不到一种从实例化过程中动态获取参数的方法来生成我想要的自定义实例 因此,基本上我需要的是提供一个可以进入实例化过程的字符串,以便返回的实例将使用该字符串来确定模块配置的范围。因此,我目前正在做的是侵入Nest的实例,将作用域注入其中,我认为这不

我有一个共享库,它将为其他应用程序提供模块。因此,我需要动态自定义参数为应用程序中的每个模块生成自定义实例

我已经在官方回购协议中对此进行了发行 ,但也许这里有人能给我一些想法或者帮我解决这个问题

我已经查阅了nestjs文档,也阅读了代码和问题,但是我找不到一种从实例化过程中动态获取参数的方法来生成我想要的自定义实例

因此,基本上我需要的是提供一个可以进入实例化过程的字符串,以便返回的实例将使用该字符串来确定模块配置的范围。因此,我目前正在做的是侵入Nest的实例,将作用域注入其中,我认为这不是最好的做法

以下是我为本期制作的代码示例:

库代码

//装饰器
导出功能可配置(范围:字符串){
返回(目标:对象,键:字符串|符号,索引?:编号)=>{
const meta=Reflect.getMetadata(可配置的_元数据,目标)|{};
让dependencies=meta.dependencies | |[];
依赖项=[…依赖项,{scope,key}];
定义数据(
可配置的元数据,
{依赖项},
目标,,
);
注入(配置\提供者\令牌)(目标、键、索引);
};
}
//浏览器服务
@可注射()
导出类ExplorerService{
构造函数(私有只读模块容器:模块容器){}
injectScopes():void{
常量提供程序=[…this.moduleContainer.values()]
.map((模块:嵌套模块)=>{
返回[…module.providers.values()];
}).减少((a,b)=>a.concat(b),[]);
providers.forEach(provider=>{
const{instance}=提供者;
if(!instance&&!instance.constructor){
返回;
}
//自定义元数据
const meta=Reflect.getMetadata(可配置的元数据,instance.constructor);
如果(元){
meta.dependentials.forEach(dep=>{
const{index,scope}=dep;
常量包装器=提供程序[实例\元数据\符号]。依赖项[索引];
const{instance:depInstance}=wrapper;
depInstance,'scope',{value:scope};
});
}
});
}
}
应用程序代码(使用库)

//应用程序中的用法
@模块({
导入:[ConfigurationModule.forRoot(factoryOptions)],
提供程序:[UserConfigProvider],
导出:[配置模块]
})
导出类AppModule{}
//用户配置提供程序
@可注射()
导出类评估配置{
建造师(
@可配置('common')
私有只读commonConfig:ConfigurationService,
@可配置(“用户”)
私有只读用户Config:ConfigurationService,
) {}
}
非常感谢我能得到的任何帮助或由此引发的任何讨论。如果缺少什么,我可以提供更多信息或上下文