Я использую плагин @ 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
интерфейсе нет ошибок, связанных с ворсом.
@ typescript-eslint предоставляет интересный параметр разрешить отключение правила для определенных имен, соответствующих регулярному выражению:
/* @typescript-eslint/camelcase: ["error", {allow: ["Response$"]}] */
interface Foo_Bar_Response {
...
}
Здесь линтер не будет запускать формат snake_case из Foo_Bar_Response
, потому что он заканчивается словом Response
.
Но здесь он работает только для имени самого интерфейса, а не для имен этих дочерних идентификаторов.
Есть идеи, как мы можем заставить эту работу работать?