我有一个函数factory
:
function factory(events) {
for(const key in events) {
const { before, after } = events[key]
}
}
参数events
通常为:
{
only: {
before(){}
after(){}
},
except: {
before(){}
after(){}
},
}
[only
,except
键可以是任何值,但值始终(必须)是{before, after}
类型,其中before
,after
都是功能。
如何使用JSDoc在我的events
函数中为factory
自变量的这种结构编写文档?
我唯一想到的解决方案是使events
成为数组,然后可以像这样使用typedef
:
/**
* @typedef event
* @property {function} before
* @property {function} after
*/
/**
* @typedef eventTuple
* @property {string} key
* @property {event} event
*/
/**
* @param {[eventTuple]} events
*/
function factory(events) {
for(const { key, event } of events) {
const { before, after } = event
}
}
但是我真的想保留原始结构。
是否可以在我的原始结构中记录此event
类型定义?
我主要担心它在VSCode中的工作,该代码从JSDoc中提取了这些类型定义。