UNPKG

sicua

Version:

A tool for analyzing project structure and dependencies

38 lines (37 loc) 1.57 kB
import ts from "typescript"; import * as t from "@babel/types"; import { FunctionDefinition } from "../../analyzers/contextualSummaries/types/functionExtractor.types"; /** * Enhanced TypeScript version - Checks if a node is a React component * Combines TypeScript type checking with deep JSX analysis */ export declare function isReactComponent(node: ts.Node, typeChecker?: ts.TypeChecker): boolean; /** * Check if a custom FunctionDefinition object is a React component */ export declare function isReactComponentDefinition(funcDef: FunctionDefinition): boolean; /** * Check if a JSX element represents a React component (vs HTML element) */ export declare function isReactComponentElement(node: t.JSXElement): boolean; /** * Get the name of a JSX element */ export declare function getJSXElementName(name: t.JSXIdentifier | t.JSXMemberExpression | t.JSXNamespacedName): string; /** * Check if a JSX element is an HTML element (vs React component) */ export declare function isHTMLElement(node: t.JSXElement): boolean; /** * Babel version - Enhanced with better JSX detection * Checks if a function node is a React component */ export declare function isReactComponentBabel(node: t.Function | t.ArrowFunctionExpression, functionName?: string): boolean; /** * Enhanced JSX detection for Babel AST nodes */ export declare function containsJSX(node: t.Node): boolean; /** * Utility function to get function name from Babel AST nodes */ export declare function getBabelFunctionName(node: t.Function | t.ArrowFunctionExpression, parent?: t.Node): string;