| "use strict"; |
| |
| Object.defineProperty(exports, "__esModule", { |
| value: true |
| }); |
| exports.JSXAttribute = JSXAttribute; |
| exports.JSXIdentifier = JSXIdentifier; |
| exports.JSXNamespacedName = JSXNamespacedName; |
| exports.JSXMemberExpression = JSXMemberExpression; |
| exports.JSXSpreadAttribute = JSXSpreadAttribute; |
| exports.JSXExpressionContainer = JSXExpressionContainer; |
| exports.JSXSpreadChild = JSXSpreadChild; |
| exports.JSXText = JSXText; |
| exports.JSXElement = JSXElement; |
| exports.JSXOpeningElement = JSXOpeningElement; |
| exports.JSXClosingElement = JSXClosingElement; |
| exports.JSXEmptyExpression = JSXEmptyExpression; |
| exports.JSXFragment = JSXFragment; |
| exports.JSXOpeningFragment = JSXOpeningFragment; |
| exports.JSXClosingFragment = JSXClosingFragment; |
| |
| function JSXAttribute(node) { |
| this.print(node.name, node); |
| |
| if (node.value) { |
| this.token("="); |
| this.print(node.value, node); |
| } |
| } |
| |
| function JSXIdentifier(node) { |
| this.word(node.name); |
| } |
| |
| function JSXNamespacedName(node) { |
| this.print(node.namespace, node); |
| this.token(":"); |
| this.print(node.name, node); |
| } |
| |
| function JSXMemberExpression(node) { |
| this.print(node.object, node); |
| this.token("."); |
| this.print(node.property, node); |
| } |
| |
| function JSXSpreadAttribute(node) { |
| this.token("{"); |
| this.token("..."); |
| this.print(node.argument, node); |
| this.token("}"); |
| } |
| |
| function JSXExpressionContainer(node) { |
| this.token("{"); |
| this.print(node.expression, node); |
| this.token("}"); |
| } |
| |
| function JSXSpreadChild(node) { |
| this.token("{"); |
| this.token("..."); |
| this.print(node.expression, node); |
| this.token("}"); |
| } |
| |
| function JSXText(node) { |
| const raw = this.getPossibleRaw(node); |
| |
| if (raw != null) { |
| this.token(raw); |
| } else { |
| this.token(node.value); |
| } |
| } |
| |
| function JSXElement(node) { |
| const open = node.openingElement; |
| this.print(open, node); |
| if (open.selfClosing) return; |
| this.indent(); |
| |
| for (const child of node.children) { |
| this.print(child, node); |
| } |
| |
| this.dedent(); |
| this.print(node.closingElement, node); |
| } |
| |
| function spaceSeparator() { |
| this.space(); |
| } |
| |
| function JSXOpeningElement(node) { |
| this.token("<"); |
| this.print(node.name, node); |
| this.print(node.typeParameters, node); |
| |
| if (node.attributes.length > 0) { |
| this.space(); |
| this.printJoin(node.attributes, node, { |
| separator: spaceSeparator |
| }); |
| } |
| |
| if (node.selfClosing) { |
| this.space(); |
| this.token("/>"); |
| } else { |
| this.token(">"); |
| } |
| } |
| |
| function JSXClosingElement(node) { |
| this.token("</"); |
| this.print(node.name, node); |
| this.token(">"); |
| } |
| |
| function JSXEmptyExpression(node) { |
| this.printInnerComments(node); |
| } |
| |
| function JSXFragment(node) { |
| this.print(node.openingFragment, node); |
| this.indent(); |
| |
| for (const child of node.children) { |
| this.print(child, node); |
| } |
| |
| this.dedent(); |
| this.print(node.closingFragment, node); |
| } |
| |
| function JSXOpeningFragment() { |
| this.token("<"); |
| this.token(">"); |
| } |
| |
| function JSXClosingFragment() { |
| this.token("</"); |
| this.token(">"); |
| } |