SonarJS linter helper functions
    Preparing search index...

    Function reduceTo

    • Reduce a given node through its ancestors until a given node type is found filling in the FQN array with the accessed properties.

      Type Parameters

      • T extends
            | "FunctionDeclaration"
            | "FunctionExpression"
            | "ArrowFunctionExpression"
            | "MethodDefinition"
            | "CatchClause"
            | "ClassBody"
            | "Identifier"
            | "Literal"
            | "PrivateIdentifier"
            | "Program"
            | "Property"
            | "PropertyDefinition"
            | "SpreadElement"
            | "Super"
            | "SwitchCase"
            | "TemplateElement"
            | "VariableDeclarator"
            | "ArrayExpression"
            | "AssignmentExpression"
            | "AwaitExpression"
            | "BinaryExpression"
            | "CallExpression"
            | "ChainExpression"
            | "ClassExpression"
            | "ConditionalExpression"
            | "ImportExpression"
            | "LogicalExpression"
            | "MemberExpression"
            | "MetaProperty"
            | "NewExpression"
            | "ObjectExpression"
            | "SequenceExpression"
            | "TaggedTemplateExpression"
            | "TemplateLiteral"
            | "ThisExpression"
            | "UnaryExpression"
            | "UpdateExpression"
            | "YieldExpression"
            | "ClassDeclaration"
            | "ImportDeclaration"
            | "ExportNamedDeclaration"
            | "ExportDefaultDeclaration"
            | "ExportAllDeclaration"
            | "ImportSpecifier"
            | "ImportDefaultSpecifier"
            | "ImportNamespaceSpecifier"
            | "ExportSpecifier"
            | "ObjectPattern"
            | "ArrayPattern"
            | "RestElement"
            | "AssignmentPattern"
            | "ExpressionStatement"
            | "BlockStatement"
            | "StaticBlock"
            | "EmptyStatement"
            | "DebuggerStatement"
            | "WithStatement"
            | "ReturnStatement"
            | "LabeledStatement"
            | "BreakStatement"
            | "ContinueStatement"
            | "IfStatement"
            | "SwitchStatement"
            | "ThrowStatement"
            | "TryStatement"
            | "WhileStatement"
            | "DoWhileStatement"
            | "ForStatement"
            | "ForInStatement"
            | "ForOfStatement"
            | "VariableDeclaration"

      Parameters

      • type: T

        the type of node you are looking for to be returned. Returned node still needs to be checked as its type it's not guaranteed to match the passed type.

      • node: Node

        the Node to traverse

      • fqn: string[] = []

        the array with the qualifiers

      Returns Node