如何覆盖/替换jsdoc属性?

时间:2020-03-06 15:37:50

标签: javascript visual-studio-code jsdoc

我正在创建一个快速路由处理程序,并且我想扩展express.Request接口以记录参数和查询属性应该是什么。我希望jsdoc与VsCode intellisense一起使用。

首先,我从express导入RequestResponse

/**
 * @typedef {import('express').Request} Request
 * @typedef {import('express').Response} Response
 */

然后我为paramsquery创建2种类型。

/**
 * @typedef {{
 *   module: string
 * }} params
 */

/**
 * @typedef {{
 *   field: string
 *   skip: number
 *   limit: number
 * }} query
 */

作为函数的参数,我扩展了表达式Request并覆盖了queryparams

/**
 * @param {Request & {params: params, query: query}} req
 * @param {Response} res
 */
async function search(req, res)

问题出在这里……我只对params有智慧,而对query没有知觉。

req.parmas个智能提示的屏幕截图 Screenshot of req.params intellisense

req.query个智能提示的屏幕截图 enter image description here

当我将鼠标悬停在req参数上时,我得到以下智能提示。

req intellisense

我正确使用了“扩展”功能吗?如何扩展Request类型并为queryparams获得智能感知?

0 个答案:

没有答案