From 81b2172de96264f2eefd6172a67489de8741e57b Mon Sep 17 00:00:00 2001 From: Denis Pushkarev Date: Wed, 30 Nov 2016 12:39:01 +0000 Subject: [PATCH 1/2] fix #49 --- rules/no-return-wrap.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/rules/no-return-wrap.js b/rules/no-return-wrap.js index 04a4498d..f3421453 100644 --- a/rules/no-return-wrap.js +++ b/rules/no-return-wrap.js @@ -22,13 +22,15 @@ module.exports = { return { ReturnStatement: function (node) { if (isInPromise(context)) { - if (node.argument.type === 'CallExpression') { - if (node.argument.callee.type === 'MemberExpression') { - if (node.argument.callee.object.name === 'Promise') { - if (node.argument.callee.property.name === 'resolve') { - context.report(node, resolveMessage) - } else if (node.argument.callee.property.name === 'reject') { - context.report(node, rejectMessage) + if (node.argument) { + if (node.argument.type === 'CallExpression') { + if (node.argument.callee.type === 'MemberExpression') { + if (node.argument.callee.object.name === 'Promise') { + if (node.argument.callee.property.name === 'resolve') { + context.report(node, resolveMessage) + } else if (node.argument.callee.property.name === 'reject') { + context.report(node, rejectMessage) + } } } } From 85ffe844a26e39196c1fecd762dace58c6d1e5cc Mon Sep 17 00:00:00 2001 From: Denis Pushkarev Date: Mon, 12 Dec 2016 10:28:24 +0000 Subject: [PATCH 2/2] add test for #49 --- test/no-return-wrap.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/no-return-wrap.js b/test/no-return-wrap.js index c70e3b1f..4b3857fe 100644 --- a/test/no-return-wrap.js +++ b/test/no-return-wrap.js @@ -40,7 +40,10 @@ ruleTester.run('no-return-wrap', rule, { 'var x = function() { return Promise.resolve(4) }', 'function y() { return Promise.resolve(4) }', 'function then() { return Promise.reject() }', - 'doThing(function(x) { return Promise.reject(x) })' + 'doThing(function(x) { return Promise.reject(x) })', + + // should work with empty return statement + 'doThing().then(function() { return })' ], invalid: [