File size: 1,970 Bytes
bc20498 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# Self-closing element {"dialect": "jsx"}
<img/>
==>
Script(ExpressionStatement(JSXElement(JSXSelfClosingTag(JSXStartTag,JSXBuiltin(JSXIdentifier),JSXSelfCloseEndTag))))
# Regular element {"dialect": "jsx"}
<Foo>bar</Foo>
==>
Script(ExpressionStatement(JSXElement(
JSXOpenTag(JSXStartTag, JSXIdentifier, JSXEndTag),
JSXText,
JSXCloseTag(JSXStartCloseTag, JSXIdentifier, JSXEndTag))))
# Fragment {"dialect": "jsx"}
<>bar</>
==>
Script(ExpressionStatement(JSXElement(
JSXFragmentTag(JSXStartTag, JSXEndTag),
JSXText,
JSXCloseTag(JSXStartCloseTag, JSXEndTag))))
# Namespaced name {"dialect": "jsx"}
<blah-namespace:img/>
==>
Script(ExpressionStatement(JSXElement(
JSXSelfClosingTag(JSXStartTag,JSXNamespacedName(JSXIdentifier, JSXIdentifier),JSXSelfCloseEndTag))))
# Member name {"dialect": "jsx"}
<pkg.Component/>
==>
Script(ExpressionStatement(JSXElement(
JSXSelfClosingTag(JSXStartTag,JSXMemberExpression(JSXIdentifier, JSXIdentifier),JSXSelfCloseEndTag))))
# Nested tags {"dialect": "jsx"}
<a><b.C>text</b.C>{x} {...y}</a>
==>
Script(ExpressionStatement(JSXElement(
JSXOpenTag(JSXStartTag, JSXBuiltin(JSXIdentifier), JSXEndTag),
JSXElement(
JSXOpenTag(JSXStartTag, JSXMemberExpression(JSXIdentifier, JSXIdentifier), JSXEndTag),
JSXText,
JSXCloseTag(JSXStartCloseTag, JSXMemberExpression(JSXIdentifier, JSXIdentifier), JSXEndTag)),
JSXEscape(VariableName),
JSXText,
JSXEscape(Spread, VariableName),
JSXCloseTag(JSXStartCloseTag, JSXBuiltin(JSXIdentifier), JSXEndTag))))
# Attributes {"dialect": "jsx"}
<Foo a="1" b {...attrs} c={c}></Foo>
==>
Script(ExpressionStatement(JSXElement(
JSXOpenTag(JSXStartTag, JSXIdentifier,
JSXAttribute(JSXIdentifier, Equals, JSXAttributeValue),
JSXAttribute(JSXIdentifier),
JSXSpreadAttribute(Spread, VariableName),
JSXAttribute(JSXIdentifier, Equals, JSXEscape(VariableName)),
JSXEndTag),
JSXCloseTag(JSXStartCloseTag, JSXIdentifier, JSXEndTag))))
|