typescript 是否有一种方法可以在链接方法超过两个时对所有链接方法进行换行?

vq8itlhq  于 2023-01-03  发布在  TypeScript
关注(0)|答案(1)|浏览(65)

我有一些方法,比如:

// 1. two methods chained
first.method().anotherMethod();

// 2. three or more
second.method().anotherMethod().yetAnotherOne();
third.method().anotherMethod().yetAnotherOne().stillGoing();

第一种类型是可以的,可以保持这种方式。但我想知道是否有可能为第二种类型的所有方法断行,如:

// 1. two methods chained
first.method().anotherMethod();

// 2. three or more
second.method()
  .anotherMethod()
  .yetAnotherOne();

third.method()
  .anotherMethod()
  .yetAnotherOne()
  .stillGoing();

Eslint有newline-per-chained-call规则,但它不会强制我想要的行为。
{ "ignoreChainWithDepth": 2 }将允许我这样做:

second.method().anotherMethod()
  .yetAnotherOne();

third.method().anotherMethod()
  .yetAnotherOne()
  .stillGoing();

但这并不理想。
有办法管理吗?
我试过newline-per-chained-call{ "ignoreChainWithDepth": 2 }选项,并寻找插件。没有找到任何插件。

qkf9rpyu

qkf9rpyu1#

您可以使用ESLint中的数组-元素-换行符规则来强制执行长方法链的换行符。

{
  "rules": {
    "array-element-newline": ["error", { "multiline": true, "minItems": 3 }]
  }
}

此规则通常用于强制数组中的换行符,但也可用于强制方法调用链中的换行符。

相关问题