所以我有一个通过 npm 发布的外部模型/接口包,它是使用 typegoose + mongoose 构建的,所以我可以将我的接口放在一个地方,然后在多个应用程序中使用接口/模型,同时保持它们同步。
现在的问题是,我在前端制作了一些动态表来处理任何一个集合,所以我试图找到一种方法来获取键作为字符串,同时在一个地方保持所有动态。
到目前为止,我已经尝试过 ts-transformer-keys 但由于必须在编译时实现一些东西,它不能在 Angular 中工作。
我也不能将类直接用于角度,因为类扩展Typegoose
取决于mongoose
哪个会引发有关某些全局事物的错误,然后使整个应用程序崩溃。
我的类在哪里User
扩展 Typegoose 并且IUser
是该类的类型,例如:
class test extends User {}
仍然有mongo依赖错误
class test implements User{}
仍然需要手动添加所有属性
Object.keys(User)
mongoose 依赖会抛出错误
Object.keys(IUser)
不起作用,因为类型在运行时不存在;
也许是类上的一个装饰器,它遍历所有键并将构造函数名称添加到类原型中?这似乎不太可能在运行时工作。
对于未来的读者,请阅读这个 github 问题,TL;DR:typegoose 目前不支持客户端类