NodeMap
The node types with a typed interface, by name.
The node types with a typed interface, by name. A Visitor has an optional member for each.
Import#
ts
import type { NodeMap } from "@shadow-js/compiler";
Signature#
ts
interface NodeMap {
/** The module. */
Program: ProgramNode;
/** An identifier. */
Identifier: IdentifierNode;
/** A literal. */
Literal: LiteralNode;
/** A template literal. */
TemplateLiteral: TemplateLiteralNode;
/** A call. */
CallExpression: CallExpressionNode;
/** A member access. */
MemberExpression: MemberExpressionNode;
/** An import declaration. */
ImportDeclaration: ImportDeclarationNode;
/** An object literal. */
ObjectExpression: ObjectExpressionNode;
/** An object member. */
Property: PropertyNode;
/** A JSX element. */
JSXElement: JSXElementNode;
/** A JSX fragment. */
JSXFragment: JSXFragmentNode;
/** An opening tag. */
JSXOpeningElement: JSXOpeningElementNode;
/** A JSX attribute. */
JSXAttribute: JSXAttributeNode;
/** A JSX spread attribute. */
JSXSpreadAttribute: JSXSpreadAttributeNode;
/** A JSX word. */
JSXIdentifier: JSXIdentifierNode;
/** A JSX dotted name. */
JSXMemberExpression: JSXMemberExpressionNode;
/** A JSX namespaced name. */
JSXNamespacedName: JSXNamespacedNameNode;
/** A JSX `{}` container. */
JSXExpressionContainer: JSXExpressionContainerNode;
/** JSX text. */
JSXText: JSXTextNode;
}
Members#
| Name | Type | Description |
|---|---|---|
Program |
Program: ProgramNode |
The module. |
Identifier |
Identifier: IdentifierNode |
An identifier. |
Literal |
Literal: LiteralNode |
A literal. |
TemplateLiteral |
TemplateLiteral: TemplateLiteralNode |
A template literal. |
CallExpression |
CallExpression: CallExpressionNode |
A call. |
MemberExpression |
MemberExpression: MemberExpressionNode |
A member access. |
ImportDeclaration |
ImportDeclaration: ImportDeclarationNode |
An import declaration. |
ObjectExpression |
ObjectExpression: ObjectExpressionNode |
An object literal. |
Property |
Property: PropertyNode |
An object member. |
JSXElement |
JSXElement: JSXElementNode |
A JSX element. |
JSXFragment |
JSXFragment: JSXFragmentNode |
A JSX fragment. |
JSXOpeningElement |
JSXOpeningElement: JSXOpeningElementNode |
An opening tag. |
JSXAttribute |
JSXAttribute: JSXAttributeNode |
A JSX attribute. |
JSXSpreadAttribute |
JSXSpreadAttribute: JSXSpreadAttributeNode |
A JSX spread attribute. |
JSXIdentifier |
JSXIdentifier: JSXIdentifierNode |
A JSX word. |
JSXMemberExpression |
JSXMemberExpression: JSXMemberExpressionNode |
A JSX dotted name. |
JSXNamespacedName |
JSXNamespacedName: JSXNamespacedNameNode |
A JSX namespaced name. |
JSXExpressionContainer |
JSXExpressionContainer: JSXExpressionContainerNode |
A JSX {} container. |
JSXText |
JSXText: JSXTextNode |
JSX text. |