sicua
Version:
A tool for analyzing project structure and dependencies
29 lines (28 loc) • 1.16 kB
TypeScript
import ts from "typescript";
import { JSXStructure, PropSignature } from "../../../types";
/**
* Extracts JSX structure from a component node
* @param node Component AST node
* @param sourceFile Source file containing the component
* @returns JSX structure or undefined if none found
*/
export declare function extractJSXStructure(node: ts.Node, sourceFile: ts.SourceFile): JSXStructure | undefined;
/**
* Parses a JSX element into a JSX structure
* @param element JSX element to parse
* @returns Parsed JSX structure
*/
export declare function parseJSXElement(element: ts.JsxElement | ts.JsxSelfClosingElement): JSXStructure;
/**
* Extracts props from JSX attributes
* @param attributes JSX attributes object
* @returns Array of prop signatures
*/
export declare function extractJSXProps(attributes: ts.JsxAttributes): PropSignature[];
/**
* Checks if a JSX element has a particular className
* @param element JSX element to check
* @param className Class name to search for
* @returns True if element has the class
*/
export declare function hasClassName(element: ts.JsxElement | ts.JsxSelfClosingElement, className: string): boolean;