@lcap/builder
Version:
lcap builder utils
29 lines (28 loc) • 1.49 kB
TypeScript
import { JSXAttribute, JSXElement, JSXExpressionContainer, JSXFragment, JSXIdentifier, JSXMemberExpression, JSXNamespacedName, JSXSpreadAttribute, JSXText, JSXSpreadChild } from '@babel/types';
export interface NaslViewContext {
variableNames?: string[];
logics?: string[];
}
export interface NaslViewElement {
concept: 'ViewElement';
tag: string;
name: string;
staticStyle?: string;
staticClass?: string;
slotTarget?: string;
slotScope?: string;
bindAttrs: any[];
bindEvents: any[];
bindDirectives: any[];
bindRoles: any[];
bindStyles: any[];
children: NaslViewElement[];
}
export declare const EVENT_REGEX: RegExp;
export declare function getJSXName(ast: JSXIdentifier | JSXNamespacedName | JSXMemberExpression): string;
export declare function transformJSXChildNode(node: JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment): NaslViewElement | null;
export declare function parseJSXElement2Slot(ele: JSXElement | JSXFragment | Array<JSXElement | JSXFragment>, attrName: string, argName: string): NaslViewElement;
export declare function parseJSXExpression(ast: JSXElement | JSXFragment | JSXExpressionContainer, attrName: string, element: NaslViewElement): void;
export declare function parseJSXAttr(attr: JSXAttribute | JSXSpreadAttribute, element: NaslViewElement): void;
export declare function transformJSXElement2Nasl(element: JSXElement): NaslViewElement;
export default transformJSXElement2Nasl;