Я использую плагин @ 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
.
Но здесь он работает только для имени самого интерфейса, а не для имен этих дочерних идентификаторов.
Есть идеи, как мы можем заставить эту работу работать?