Skip to content

Commit bd90a9b

Browse files
committed
Avoid nested functions and fix typos
1 parent 47e8640 commit bd90a9b

File tree

1 file changed

+46
-46
lines changed

1 file changed

+46
-46
lines changed

lib/util/Components.js

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -576,65 +576,65 @@ function componentRule(rule, context) {
576576
},
577577

578578
/**
579-
* Get the parent stateless component node from the current scope
580-
*
581-
* @returns {ASTNode} component node, null if we are not in a component
579+
* @param {ASTNode} node
580+
* @returns {boolean}
582581
*/
583-
getParentStatelessComponent() {
584-
/**
585-
* @param {ASTNode} node
586-
* @returns {boolean}
587-
*/
588-
function isInAllowedPositiionForComponent(node) {
589-
switch (node.parent.type) {
590-
case 'VariableDeclarator':
591-
case 'AssignmentExpression':
592-
case 'Property':
593-
case 'ReturnStatement':
594-
case 'ExportDefaultDeclaration': {
595-
return true;
596-
}
597-
case 'SequenceExpression': {
598-
return isInAllowedPositiionForComponent(node.parent) &&
599-
node === node.parent.expressions[node.parent.expressions.length - 1];
600-
}
601-
default:
602-
return false;
582+
isInAllowedPositionForComponent(node) {
583+
switch (node.parent.type) {
584+
case 'VariableDeclarator':
585+
case 'AssignmentExpression':
586+
case 'Property':
587+
case 'ReturnStatement':
588+
case 'ExportDefaultDeclaration': {
589+
return true;
603590
}
591+
case 'SequenceExpression': {
592+
return utils.isInAllowedPositionForComponent(node.parent) &&
593+
node === node.parent.expressions[node.parent.expressions.length - 1];
594+
}
595+
default:
596+
return false;
604597
}
598+
},
605599

606-
/**
607-
* Get node if node is a stateless component, or node.parent in cases like
608-
* `React.memo` or `React.forwardRef`. Otherwise returns `undefined`.
609-
* @param {ASTNode} node
610-
* @returns {ASTNode | undefined}
611-
*/
612-
function getStatelessComponent(node) {
613-
if (node.type === 'FunctionDeclaration') {
614-
if (utils.isReturningJSXOrNull(node)) {
615-
return node;
616-
}
600+
/**
601+
* Get node if node is a stateless component, or node.parent in cases like
602+
* `React.memo` or `React.forwardRef`. Otherwise returns `undefined`.
603+
* @param {ASTNode} node
604+
* @returns {ASTNode | undefined}
605+
*/
606+
getStatelessComponent(node) {
607+
if (node.type === 'FunctionDeclaration') {
608+
if (utils.isReturningJSXOrNull(node)) {
609+
return node;
617610
}
611+
}
618612

619-
if (node.type === 'FunctionExpression' || node.type === 'ArrowFunctionExpression') {
620-
if (isInAllowedPositiionForComponent(node) && utils.isReturningJSXOrNull(node)) {
621-
return node;
622-
}
623-
624-
// Case like `React.memo(() => <></>)` or `React.forwardRef(...)`
625-
const pragmaComponentWrapper = utils.getPragmaComponentWrapper(node);
626-
if (pragmaComponentWrapper) {
627-
return pragmaComponentWrapper;
628-
}
613+
if (node.type === 'FunctionExpression' || node.type === 'ArrowFunctionExpression') {
614+
if (utils.isInAllowedPositionForComponent(node) && utils.isReturningJSXOrNull(node)) {
615+
return node;
629616
}
630617

631-
return undefined;
618+
// Case like `React.memo(() => <></>)` or `React.forwardRef(...)`
619+
const pragmaComponentWrapper = utils.getPragmaComponentWrapper(node);
620+
if (pragmaComponentWrapper) {
621+
return pragmaComponentWrapper;
622+
}
632623
}
633624

625+
return undefined;
626+
},
627+
628+
/**
629+
* Get the parent stateless component node from the current scope
630+
*
631+
* @returns {ASTNode} component node, null if we are not in a component
632+
*/
633+
getParentStatelessComponent() {
634634
let scope = context.getScope();
635635
while (scope) {
636636
const node = scope.block;
637-
const statelessComponent = getStatelessComponent(node);
637+
const statelessComponent = utils.getStatelessComponent(node);
638638
if (statelessComponent) {
639639
return statelessComponent;
640640
}

0 commit comments

Comments
 (0)