diff --git a/lib/index.js b/lib/index.js index b3cc6709..542a5b7a 100644 --- a/lib/index.js +++ b/lib/index.js @@ -790,11 +790,13 @@ class Generator extends EventEmitter { options = {}; } + const returnCompose = ret => (returnNewGenerator ? ret : this); + let instantiatedGenerator; if (Array.isArray(generator)) { const generators = generator.map(gen => this.composeWith(gen, options)); - return returnNewGenerator ? generators : this; + return returnCompose(generators); } const instantiate = (Generator, path) => { @@ -877,7 +879,7 @@ class Generator extends EventEmitter { } if (!instantiatedGenerator) { - return returnNewGenerator ? instantiatedGenerator : this; + return returnCompose(instantiatedGenerator); } if (this._running) { @@ -886,7 +888,7 @@ class Generator extends EventEmitter { this._composedWith.push(instantiatedGenerator); } - return returnNewGenerator ? instantiatedGenerator : this; + return returnCompose(instantiatedGenerator); } /**