Используя StandardJS, получить ошибку для фигурных скобок в неправильной строке только для операторов 'else' - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь использовать StandardJS, чтобы помочь с моей подкладкой (также потому, что мой начальник попросил меня об этом). Это работает отлично по большей части. Однако сегодня я начал получать ошибки, которых раньше не видел, сообщая, что:

Closing curly brace does not appear on the same line as the subsequent block. (brace-style)
standard(brace-style)

Это код, вызывающий ошибку:

if (err.status === 'not found') {
  cb({ statusCode: 404 })
  return
}
else {  // THIS LINE causes the error
  cb({ statusCode: 500 })
  return
}

Почему я могу получить эту ошибкуи как мне предотвратить это?

Обратите внимание, я использую StandardJS 8.6.0 в этом проекте. Ошибка генерируется как Standard при компиляции проекта, так и в IDE VS Code с установленным расширением StandardJS. (И да, я действительно убедился, что все мои другие фигурные скобки находятся в нужных местах!)

1 Ответ

2 голосов
/ 05 ноября 2019

Как и в сообщении об ошибке, вам нужно поместить закрывающую фигурную скобку в ту же строку, что и последующий блок после else:

if (err.status === 'not found') {
  cb({ statusCode: 404 })
  return
} else {   // <--- now } is on same line as {
  cb({ statusCode: 500 })
  return
}

Из примера из документа on Standard linting:

Храните операторы else в той же строке, что и их фигурные скобки.

eslint: brace-style

// ✓ ok
if (condition) {
  // ...
} else {
  // ...
}

// ✗ avoid
if (condition) {
  // ...
}
else {
  // ...
}
...