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)))) |