# Enforce spacing around the * in yield* expressions (yield-star-spacing)

Fixable: This rule is automatically fixable using the --fix flag on the command line.

Rule Details

This rule enforces spacing around the * in yield* expressions.

The rule takes one option, an object, which has two keys before and after having boolean values true or false.

The default is {"before": false, "after": true}.

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

The option also has a string shorthand:

"yield-star-spacing": [2, "after"]

When using "after" this spacing will be enforced:

/*eslint yield-star-spacing: [2, "after"]*/
/*eslint-env es6*/

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

When using "before" this spacing will be enforced:

/*eslint yield-star-spacing: [2, "before"]*/
/*eslint-env es6*/

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

When using "both" this spacing will be enforced:

/*eslint yield-star-spacing: [2, "both"]*/
/*eslint-env es6*/

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

When using "neither" this spacing will be enforced:

/*eslint yield-star-spacing: [2, "neither"]*/
/*eslint-env es6*/

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

To use this rule you must set the generators flag to true in the ecmaFeatures configuration object.

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.

Resources