如何配置 ESLint,使其检查 JSDoc 中是否写入了必需的参数(不带括号),以及是否将可选参数写入了括号?
示例
/**
* Function params
*
* @property param1 good
* @property [param2] good
* @property param3 bad
* @property [param4] bad
*/
interface Props {
param1: boolean;
param2?: boolean;
param3?: boolean;
param4: boolean;
}
没有常用的 ESLint 规则来完成您所要求的操作。同时使用
@property
和 typeScript 通常并不是 TypeScript 开发人员通常采用的做法:
?
问题的界面可能会写得更像:
/**
* Function params
*/
interface Props {
/**
* Either a multi-line comment...
*/
param1: boolean;
/**
* Either a multi-line comment...
*/
param2?: boolean;
/** Or a single-line one. */
param3?: boolean;
/** Or a single-line one. */
param4: boolean;
}
如果您确实希望 ESLint 规则强制执行请求的行为,您可以使用typescript-eslint > 文档 > 自定义规则中描述的 API 来编写它。另请参阅 eslint-plugin-jsdoc 了解其他 JSDoc 规则的示例。