Versions

yield-star-spacing

Require or disallow spacing around the * in yield* expressions

🔧 Fixable

Some problems reported by this rule are automatically fixable by the --fix command line option

规则细节

这条规则强制要求在 yield* 表达式中的 * 周围有间距。

选项

规则需要一个选项,一个对象,它有两个键 beforeafter,具有布尔值 truefalse

  • before 强制执行 yield* 之间的间距。 如时果 true 就需要一个空格,否则不允许有空格。

  • after 强制执行 * 和参数之间的间距。 如果它是 true,则需要一个空格,否则不允许有空格。

默认为 {"before": false, "after": true}

"yield-star-spacing": ["error", {"before": true, "after": false}]

该选项也有一个字符串速记。

  • {"before": false, "after": true}"after"
  • {"before": true, "after": false}"before"
  • {"before": true, "after": true}"both"
  • {"before": false, "after": false}"neither"
"yield-star-spacing": ["error", "after"]

示例

after

使用此规则与默认的 "after" 选项的正确示例:

Open in Playground
/*eslint yield-star-spacing: ["error", "after"]*/
/*eslint-env es6*/

function* generator() {
  yield* other();
}

before

使用此规则与 "before" 选项的正确示例:

Open in Playground
/*eslint yield-star-spacing: ["error", "before"]*/
/*eslint-env es6*/

function *generator() {
  yield *other();
}

both

使用此规则与 "both" 选项的正确示例:

Open in Playground
/*eslint yield-star-spacing: ["error", "both"]*/
/*eslint-env es6*/

function * generator() {
  yield * other();
}

neither

使用此规则与 "neither" 选项的正确示例:

Open in Playground
/*eslint yield-star-spacing: ["error", "neither"]*/
/*eslint-env es6*/

function*generator() {
  yield*other();
}

何时不用

如果你的项目不会使用生成器,或者你不关心间距的一致性,你就不需要这个规则。

Version

This rule was introduced in ESLint v2.0.0-alpha-1.

Further Reading

Resources

更改语言