【发布时间】:2020-12-14 11:53:57
【问题描述】:
我让猫鼬为我创建了一个模型(类),我想让这个类有智能感知。问题是我不知道如何将某物标记为类,以及如何键入该类的构造函数。
查看 JSDocs 的文档,他们只指定如何在声明中键入一个类,而不是在它已经被实例化时。 @class 和 @constructor 标签似乎没有任何作用。
现在我通过将它标记为一个函数(它在引擎盖下,但在 VSC 中拥有正确的颜色仍然很棒)并定义参数来获得我的智能感知:
/**
* @typedef QPE_Opts
* @type {object}
* @prop {string} id - Id of the user
* ...
*/
/**
* @type {function(QPE_Opts) : mongoose.Model<mongoose.Document, {}> }}
*/
const Queue_PoolEntry = mongoose.model('Queue_PoolEntry', Queue_PoolEntrySchema);
解决方案
解决方案(正在查看未提供足够信息的 JsDocs 文档,感谢@Graham P Heath 提供the better docs):
/**
* @type {function(new:mongoose.Model<mongoose.Document, {}>, QPE_Opts ) }}
*/
【问题讨论】:
标签: javascript types jsdoc