typescript 我如何安全地修复ESLint 'no-fallthrough'错误,因为故意省略了break/return/throw的switch case?

sgtfey8w  于 2022-12-05  发布在  TypeScript
关注(0)|答案(1)|浏览(303)

对于我的应用程序,我想使用switch case模式。有些情况需要OR逻辑,这意味着为了简洁,在代码中有故意的漏洞。但是,ESLint不喜欢这样,并抛出错误。我尝试根据文档添加注解,但没有帮助。要重现,请尝试以下操作:

switch(num) {
  case 1:
    /*
      I also have comments in my code that explain functionality to non-developers.
    */
  case 2:
    return "if one or two";
  case 3:
    return "if three only";
}

使用默认设置的ESLint将引发:

Error: Expected a 'break' statement before 'case'.  no-fallthrough

如何通知ESLint在此代码块中预期出现异常?

我知道有不同的设计方法,例如,使用if语句和早期返回模式,这是我常用的方法。然而,我希望系统的这一部分对非开发人员是可读的。我希望TypeScript和Jest能保持良好的状态。

doinxwow

doinxwow1#

将其添加到eslint配置文件中,

...
'rules': {'no-fallthrough': ['error', {'commentPattern': 'break[\\s\\w]*omitted'}] 
...

在代码中:

switch(foo) {
    case 1:
        doSomething();
        // break omitted

    case 2:
        doSomething();
}

您可以在这里阅读更多详细信息。

相关问题