从TypeScript接口生成Mongoose模式?
我一直在为我的应用程序中的所有类型和数据结构定义TypeScript接口,不久将面临将大多数数据结构复制为Mongoose模式定义的任务 我想知道是否有人想出了一个解决方案来自动从另一个生成一个从TypeScript接口生成Mongoose模式?,mongoose,typescript,Mongoose,Typescript,我一直在为我的应用程序中的所有类型和数据结构定义TypeScript接口,不久将面临将大多数数据结构复制为Mongoose模式定义的任务 我想知道是否有人想出了一个解决方案来自动从另一个生成一个 我希望避免维护本质上相同内容的两个副本的负担。最简单的方法是使用一些易于解析的格式,并由此生成Typescript和Mongoose接口。以下是一个JSON示例: { "name": "IThing", "type": "interface", "members": [ { "nam
我希望避免维护本质上相同内容的两个副本的负担。最简单的方法是使用一些易于解析的格式,并由此生成Typescript和Mongoose接口。以下是一个JSON示例:
{ "name": "IThing",
"type": "interface",
"members": [
{ "name": "SomeProperty",
"type": "String" },
{ "name": "DoStuff",
"type": "function",
"arguments": [
{ "name": "callback",
"type": "function",
"arguments": [],
"return": "Number" }
] }
] }
结构,甚至标记语言都可以根据需要进行更改
上述内容将在TypeScript中生成类似的内容:
interface IThing {
SomeProperty: String;
DoStuff(callback: () => Number)
}
在猫鼬中:
var IThing = new Schema({
"SomeProperty": "String"
});
IThing.methods.DoStuff = function (callback) {
// TODO
};
有点晚了,但我们刚刚构建了一个工具来完成这项工作,请查看。此CLI工具生成一个包含所有架构接口的
index.d.ts
文件,不需要重写架构。无论何时更改模式,只要重新运行该工具。谢谢您的建议。实际上,我从一个带有样本数据的JSON模型开始,并由此派生出接口。我认为后者更简洁,更容易维护,所以我可能会寻找一个解决方案,从中生成猫鼬的东西。(并对评论的延迟表示歉意,工作遇到了阻碍)没有一个typescript到schema转换程序真是太差劲了。。。无论如何,是否已经有一个库提供了建议的解决方案?已找到。这就解决了一半的问题:D仍然在寻找虚张声势的对手。我将把这个问题作为相关问题补充。也许有人想出了解决办法。。。如果它们都能自动同步,那就太好了。