Отключить правило верблюда для идентификатора в определенных интерфейсах - PullRequest
0 голосов
/ 08 апреля 2020

Я использую плагин @ typescript-eslint для добавления правил в мой код TypeScript с помощью eslint.

Одно из включенных правил - 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 нет ошибок lint.

@ typescript-eslint предоставляет интересный параметр allow , который отключает правило для указанных c имен, соответствующих регулярному выражению:

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

interface Foo_Bar_Response {
  ...
}

Здесь линтер не будет запускать формат snake_case из Foo_Bar_Response, поскольку он заканчивается словом Response.

Но здесь он работает только для имени самого интерфейса, а не для имен этих дочерних идентификаторов.

Есть идеи, как мы можем заставить эту работу работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...