UNPKG

babel-plugin-transform-react-stateless-component-name

Version:
42 lines (31 loc) 1.03 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var doesReturnJSX = function doesReturnJSX(node) { if (node.isJSXElement()) { return true; } if (node.isReturnStatement()) { return doesReturnJSX(node.get('argument')); } if (node.isBlockStatement()) { var block = [].concat(_toConsumableArray(node.get('body'))).pop(); if (block.isReturnStatement()) { return doesReturnJSX(block.get('argument')); } if (block.isIfStatement()) { var alternate = block.get('alternate'); var consequent = block.get('consequent'); return [alternate, consequent].reduce(function (jsx, branch) { if (jsx) { return jsx; } return doesReturnJSX(branch); }, false); } } return false; }; exports.default = doesReturnJSX;