Enforce spacing around the *
in yield*
expressions (yield-star-spacing)
The --fix
option on the command line can automatically fix some of the problems reported by this rule.
Rule Details
This rule enforces spacing around the *
in yield*
expressions.
To use this rule you either need to use the es6
environment or
set ecmaVersion
to 6
in parserOptions
.
Options
The rule takes one option, an object, which has two keys before
and after
having boolean values true
or false
.
-
before
enforces spacing between theyield
and the*
. Iftrue
, a space is required, otherwise spaces are disallowed. -
after
enforces spacing between the*
and the argument. If it istrue
, a space is required, otherwise spaces are disallowed.
The default is {"before": false, "after": true}
.
"yield-star-spacing": ["error", {"before": true, "after": false}]
The option also has a string shorthand:
{"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"]
Examples
after
Examples of correct code for this rule with the default "after"
option:
/*eslint yield-star-spacing: ["error", "after"]*/
/*eslint-env es6*/
function* generator() {
yield* other();
}
before
Examples of correct code for this rule with the "before"
option:
/*eslint yield-star-spacing: ["error", "before"]*/
/*eslint-env es6*/
function *generator() {
yield *other();
}
both
Examples of correct code for this rule with the "both"
option:
/*eslint yield-star-spacing: ["error", "both"]*/
/*eslint-env es6*/
function * generator() {
yield * other();
}
neither
Examples of correct code for this rule with the "neither"
option:
/*eslint yield-star-spacing: ["error", "neither"]*/
/*eslint-env es6*/
function*generator() {
yield*other();
}
When Not To Use It
If your project will not be using generators or you are not concerned with spacing consistency, you do not need this rule.
Further Reading
Version
This rule was introduced in ESLint 2.0.0-alpha-1.