在特定接口中禁用标识符的驼峰规则

时间:2020-04-08 15:33:40

标签: typescript eslint typescript-eslint

我使用@typescript-eslint插件使用eslint将规则添加到我的TypeScript代码中。

我启用的规则之一是camelcase

"@typescript-eslint/camelcase": ["error", { "properties": "always" }]

它允许我规范变量和接口名称。

问题是标准JSON格式使用snake_case约定来命名其标识符。因此,我所有的API请求响应都使用snake_case。

在这种情况下,我必须使用snake_case声明接口,

interface UserResponse {
  id: number
  dark_mode: boolean
  status_code: string
}

所以我的问题是:有没有办法针对在接口结尾宽度Response中定义的标识符禁用此规则?因此,我的UserResponse界面中没有棉绒错误。

@ typescript-eslint提供了一个有趣的参数allow,该参数禁用了与正则表达式匹配的特定名称的规则:

/* @typescript-eslint/camelcase: ["error", {allow: ["Response$"]}] */

interface Foo_Bar_Response {
  ...
}

在这里,短绒棉将不会触发Foo_Bar_Response中的snake_case格式,因为它以单词Response结尾。

但是在这里,它仅适用于接口本身的名称,不适用于这些子标识符的名称。

有什么主意我们如何使这项工作可行吗?

1 个答案:

答案 0 :(得分:0)

它在github https://github.com/typescript-eslint/typescript-eslint/issues/2077上是一个已解决的问题,您可以尝试在不建议的代码库上进行修复。 您还可以尝试使用以下选项禁用:基于驼峰式var的用例或项目https://eslint.org/docs/rules/camelcase

的接口props