You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							77 lines
						
					
					
						
							3.0 KiB
						
					
					
				
			
		
		
	
	
							77 lines
						
					
					
						
							3.0 KiB
						
					
					
				import * as t from '@babel/types'; | 
						|
import { NodePath } from '@babel/traverse'; | 
						|
import type { State } from './interface'; | 
						|
import SlotFlags from './slotFlags'; | 
						|
export declare const JSX_HELPER_KEY = "JSX_HELPER_KEY"; | 
						|
export declare const FRAGMENT = "Fragment"; | 
						|
export declare const KEEP_ALIVE = "KeepAlive"; | 
						|
/** | 
						|
 * create Identifier | 
						|
 * @param path NodePath | 
						|
 * @param state | 
						|
 * @param name string | 
						|
 * @returns MemberExpression | 
						|
 */ | 
						|
export declare const createIdentifier: (state: State, name: string) => t.Identifier | t.MemberExpression; | 
						|
/** | 
						|
 * Checks if string is describing a directive | 
						|
 * @param src string | 
						|
 */ | 
						|
export declare const isDirective: (src: string) => boolean; | 
						|
/** | 
						|
 * Should transformed to slots | 
						|
 * @param tag string | 
						|
 * @returns boolean | 
						|
 */ | 
						|
export declare const shouldTransformedToSlots: (tag: string) => boolean; | 
						|
/** | 
						|
 * Check if a Node is a component | 
						|
 * | 
						|
 * @param t | 
						|
 * @param path JSXOpeningElement | 
						|
 * @returns boolean | 
						|
 */ | 
						|
export declare const checkIsComponent: (path: NodePath<t.JSXOpeningElement>, state: State) => boolean; | 
						|
/** | 
						|
 * Transform JSXMemberExpression to MemberExpression | 
						|
 * @param path JSXMemberExpression | 
						|
 * @returns MemberExpression | 
						|
 */ | 
						|
export declare const transformJSXMemberExpression: (path: NodePath<t.JSXMemberExpression>) => t.MemberExpression; | 
						|
/** | 
						|
 * Get tag (first attribute for h) from JSXOpeningElement | 
						|
 * @param path JSXElement | 
						|
 * @param state State | 
						|
 * @returns Identifier | StringLiteral | MemberExpression | CallExpression | 
						|
 */ | 
						|
export declare const getTag: (path: NodePath<t.JSXElement>, state: State) => t.Identifier | t.CallExpression | t.StringLiteral | t.MemberExpression; | 
						|
export declare const getJSXAttributeName: (path: NodePath<t.JSXAttribute>) => string; | 
						|
/** | 
						|
 * Transform JSXText to StringLiteral | 
						|
 * @param path JSXText | 
						|
 * @returns StringLiteral | null | 
						|
 */ | 
						|
export declare const transformJSXText: (path: NodePath<t.JSXText>) => t.StringLiteral | null; | 
						|
/** | 
						|
 * Transform JSXExpressionContainer to Expression | 
						|
 * @param path JSXExpressionContainer | 
						|
 * @returns Expression | 
						|
 */ | 
						|
export declare const transformJSXExpressionContainer: (path: NodePath<t.JSXExpressionContainer>) => (t.Expression); | 
						|
/** | 
						|
 * Transform JSXSpreadChild | 
						|
 * @param path JSXSpreadChild | 
						|
 * @returns SpreadElement | 
						|
 */ | 
						|
export declare const transformJSXSpreadChild: (path: NodePath<t.JSXSpreadChild>) => t.SpreadElement; | 
						|
export declare const walksScope: (path: NodePath, name: string, slotFlag: SlotFlags) => void; | 
						|
export declare const buildIIFE: (path: NodePath<t.JSXElement>, children: t.Expression[]) => t.Expression[]; | 
						|
export declare const isOn: (key: string) => boolean; | 
						|
export declare const dedupeProperties: (properties?: t.ObjectProperty[], mergeProps?: boolean | undefined) => t.ObjectProperty[]; | 
						|
/** | 
						|
 *  Check if an attribute value is constant | 
						|
 * @param node | 
						|
 * @returns boolean | 
						|
 */ | 
						|
export declare const isConstant: (node: t.Expression | t.Identifier | t.Literal | t.SpreadElement | null) => boolean; | 
						|
export declare const transformJSXSpreadAttribute: (nodePath: NodePath, path: NodePath<t.JSXSpreadAttribute>, mergeProps: boolean, args: (t.ObjectProperty | t.Expression | t.SpreadElement)[]) => void;
 | 
						|
 |