问题描述
const object = {
healthcheck: [
{ method: 'get',name: 'test' }
],users: [
{ method: 'get',name: 'auth' }
],};
所以我有一个带有键的对象,每个键可以是任何字符串,每个键都是一个对象数组,其中的方法和名称作为键。
如何使用 JSDoc 在对象内部提供带有动态键的智能感知?
谢谢! ?
解决方法
您可以通过以下语法输入提示动态键:{[key: string]: any}
,因此在您的情况下,这应该会得到您正在寻找的结果:
/**
* @typedef {{
* [key: string]: [{
* method: string,* name: string
* }]
* }} MyObject
*/
/**
* @type {MyObject}
*/
const object = {
healthcheck: [
{ method: 'get',name: 'test' }
],users: [
{ method: 'get',name: 'auth' }
],}
typedef 是为了方便在你的代码中的各个地方使用类型,但是如果你需要智能感知来显示类型的完整形状,你可以直接使用类型:
/**
* @param {{
* [key: string]: [{
* method: string,* name: string
* }]
* }} routes
*/
const xt = routes => {}