@@ -345,7 +345,7 @@ var RulesOfHooksRule = rule.Rule{
345
345
if isInsideClass (codePathNode ) {
346
346
ctx .ReportNode (hook , buildClassHookMessage (hookText ))
347
347
} else if codePathFunctionName != "" {
348
- // Custom message if we found an invalid function name.kj
348
+ // Custom message if we found an invalid function name.
349
349
ctx .ReportNode (hook , buildFunctionHookMessage (hookText , codePathFunctionName ))
350
350
} else if isTopLevel (codePathNode ) {
351
351
// These are dangerous if you have inline requires enabled.
@@ -656,49 +656,6 @@ func isFunctionLike(node *ast.Node) bool {
656
656
kind == ast .KindMethodDeclaration
657
657
}
658
658
659
- // Helper function to check if node is inside a loop
660
- // func isInsideLoop(node *ast.Node) bool {
661
- // current := node.Parent
662
- // for current != nil {
663
- // kind := current.Kind
664
- // if kind == ast.KindForStatement ||
665
- // kind == ast.KindForInStatement ||
666
- // kind == ast.KindForOfStatement ||
667
- // kind == ast.KindWhileStatement ||
668
- // kind == ast.KindDoStatement {
669
- // return true
670
- // }
671
- // current = current.Parent
672
- // }
673
- // return false
674
- // }
675
-
676
- // Helper function to check if node is inside a conditional
677
- // func isInsideConditional(node *ast.Node) bool {
678
- // current := node.Parent
679
- // for current != nil {
680
- // kind := current.Kind
681
- // if kind == ast.KindIfStatement ||
682
- // kind == ast.KindConditionalExpression {
683
- // return true
684
- // }
685
- // // TODO: Check for logical operators (&& || ??)
686
- // if kind == ast.KindBinaryExpression {
687
- // binExpr := current.AsBinaryExpression()
688
- // if binExpr != nil {
689
- // op := binExpr.OperatorToken.Kind
690
- // if op == ast.KindAmpersandAmpersandToken ||
691
- // op == ast.KindBarBarToken ||
692
- // op == ast.KindQuestionQuestionToken {
693
- // return true
694
- // }
695
- // }
696
- // }
697
- // current = current.Parent
698
- // }
699
- // return false
700
- // }
701
-
702
659
// Helper function to check if node is inside a class
703
660
func isInsideClass (node * ast.Node ) bool {
704
661
current := node .Parent
@@ -742,64 +699,8 @@ func isUseIdentifier(node *ast.Node) bool {
742
699
return isReactFunction (node , "use" )
743
700
}
744
701
745
- // Helper function to check if call expression is a hook call
746
- // func isHookCall(node *ast.Node) (bool, string) {
747
- // if node.Kind != ast.KindCallExpression {
748
- // return false, ""
749
- // }
750
-
751
- // callExpr := node.AsCallExpression()
752
- // if callExpr == nil {
753
- // return false, ""
754
- // }
755
-
756
- // // Get the callee and extract the hook name
757
- // // Handle different call patterns:
758
- // // - useHook()
759
- // // - React.useHook()
760
- // // - obj.useHook()
761
- // callee := callExpr.Expression
762
- // if callee == nil {
763
- // return false, ""
764
- // }
765
-
766
- // switch callee.Kind {
767
- // case ast.KindIdentifier:
768
- // // Direct call: useHook()
769
- // identifier := callee.AsIdentifier()
770
- // if identifier != nil {
771
- // name := scanner.GetTextOfNode(&identifier.Node)
772
- // if isHookName(name) {
773
- // return true, name
774
- // }
775
- // }
776
- // case ast.KindPropertyAccessExpression:
777
- // // Property access: React.useHook(), obj.useHook()
778
- // propAccess := callee.AsPropertyAccessExpression()
779
- // if propAccess != nil {
780
- // nameNode := propAccess.Name()
781
- // if nameNode != nil {
782
- // name := scanner.GetTextOfNode(nameNode)
783
- // if isHookName(name) {
784
- // return true, name
785
- // }
786
- // }
787
- // }
788
- // }
789
-
790
- // return false, ""
791
- // }
792
-
793
702
// Helper function to check if node is at top level
794
703
func isTopLevel (node * ast.Node ) bool {
795
- // current := node.Parent
796
- // for current != nil {
797
- // if isFunctionLike(current) {
798
- // return false
799
- // }
800
- // current = current.Parent
801
- // }
802
- // return true
803
704
return node .Kind == ast .KindSourceFile
804
705
}
805
706
0 commit comments