{ "type": "File", "start": 0, "end": 223, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 16, "column": 1 } }, "program": { "type": "Program", "start": 0, "end": 223, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 16, "column": 1 } }, "sourceType": "script", "body": [ { "type": "FunctionDeclaration", "start": 0, "end": 223, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 16, "column": 1 } }, "id": { "type": "Identifier", "start": 9, "end": 12, "loc": { "start": { "line": 1, "column": 9 }, "end": { "line": 1, "column": 12 }, "identifierName": "foo" }, "name": "foo" }, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 15, "end": 223, "loc": { "start": { "line": 1, "column": 15 }, "end": { "line": 16, "column": 1 } }, "body": [ { "type": "ReturnStatement", "start": 19, "end": 221, "loc": { "start": { "line": 2, "column": 2 }, "end": { "line": 15, "column": 4 } }, "argument": { "type": "JSXElement", "start": 32, "end": 216, "loc": { "start": { "line": 3, "column": 4 }, "end": { "line": 14, "column": 10 } }, "openingElement": { "type": "JSXOpeningElement", "start": 32, "end": 37, "loc": { "start": { "line": 3, "column": 4 }, "end": { "line": 3, "column": 9 } }, "attributes": [], "name": { "type": "JSXIdentifier", "start": 33, "end": 36, "loc": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 8 } }, "name": "nav" }, "selfClosing": false }, "closingElement": { "type": "JSXClosingElement", "start": 210, "end": 216, "loc": { "start": { "line": 14, "column": 4 }, "end": { "line": 14, "column": 10 } }, "name": { "type": "JSXIdentifier", "start": 212, "end": 215, "loc": { "start": { "line": 14, "column": 6 }, "end": { "line": 14, "column": 9 } }, "name": "nav" } }, "children": [ { "type": "JSXText", "start": 37, "end": 44, "loc": { "start": { "line": 3, "column": 9 }, "end": { "line": 4, "column": 6 } }, "extra": { "rawValue": "\n ", "raw": "\n " }, "value": "\n " }, { "type": "JSXElement", "start": 44, "end": 52, "loc": { "start": { "line": 4, "column": 6 }, "end": { "line": 4, "column": 14 } }, "openingElement": { "type": "JSXOpeningElement", "start": 44, "end": 52, "loc": { "start": { "line": 4, "column": 6 }, "end": { "line": 4, "column": 14 } }, "attributes": [], "name": { "type": "JSXIdentifier", "start": 45, "end": 49, "loc": { "start": { "line": 4, "column": 7 }, "end": { "line": 4, "column": 11 } }, "name": "Home" }, "selfClosing": true }, "closingElement": null, "children": [] }, { "type": "JSXText", "start": 52, "end": 59, "loc": { "start": { "line": 4, "column": 14 }, "end": { "line": 5, "column": 6 } }, "extra": { "rawValue": "\n ", "raw": "\n " }, "value": "\n " }, { "type": "JSXExpressionContainer", "start": 59, "end": 205, "loc": { "start": { "line": 5, "column": 6 }, "end": { "line": 13, "column": 7 } }, "expression": { "type": "DoExpression", "start": 69, "end": 197, "loc": { "start": { "line": 6, "column": 8 }, "end": { "line": 12, "column": 9 } }, "body": { "type": "BlockStatement", "start": 72, "end": 197, "loc": { "start": { "line": 6, "column": 11 }, "end": { "line": 12, "column": 9 } }, "body": [ { "type": "IfStatement", "start": 84, "end": 187, "loc": { "start": { "line": 7, "column": 10 }, "end": { "line": 11, "column": 11 } }, "test": { "type": "Identifier", "start": 88, "end": 96, "loc": { "start": { "line": 7, "column": 14 }, "end": { "line": 7, "column": 22 }, "identifierName": "loggedIn" }, "name": "loggedIn" }, "consequent": { "type": "BlockStatement", "start": 98, "end": 140, "loc": { "start": { "line": 7, "column": 24 }, "end": { "line": 9, "column": 11 } }, "body": [ { "type": "ExpressionStatement", "start": 112, "end": 128, "loc": { "start": { "line": 8, "column": 12 }, "end": { "line": 8, "column": 28 } }, "expression": { "type": "JSXElement", "start": 112, "end": 128, "loc": { "start": { "line": 8, "column": 12 }, "end": { "line": 8, "column": 28 } }, "openingElement": { "type": "JSXOpeningElement", "start": 112, "end": 128, "loc": { "start": { "line": 8, "column": 12 }, "end": { "line": 8, "column": 28 } }, "attributes": [], "name": { "type": "JSXIdentifier", "start": 113, "end": 125, "loc": { "start": { "line": 8, "column": 13 }, "end": { "line": 8, "column": 25 } }, "name": "LogoutButton" }, "selfClosing": true }, "closingElement": null, "children": [] } } ], "directives": [] }, "alternate": { "type": "BlockStatement", "start": 146, "end": 187, "loc": { "start": { "line": 9, "column": 17 }, "end": { "line": 11, "column": 11 } }, "body": [ { "type": "ExpressionStatement", "start": 160, "end": 175, "loc": { "start": { "line": 10, "column": 12 }, "end": { "line": 10, "column": 27 } }, "expression": { "type": "JSXElement", "start": 160, "end": 175, "loc": { "start": { "line": 10, "column": 12 }, "end": { "line": 10, "column": 27 } }, "openingElement": { "type": "JSXOpeningElement", "start": 160, "end": 175, "loc": { "start": { "line": 10, "column": 12 }, "end": { "line": 10, "column": 27 } }, "attributes": [], "name": { "type": "JSXIdentifier", "start": 161, "end": 172, "loc": { "start": { "line": 10, "column": 13 }, "end": { "line": 10, "column": 24 } }, "name": "LoginButton" }, "selfClosing": true }, "closingElement": null, "children": [] } } ], "directives": [] } } ], "directives": [] } } }, { "type": "JSXText", "start": 205, "end": 210, "loc": { "start": { "line": 13, "column": 7 }, "end": { "line": 14, "column": 4 } }, "extra": { "rawValue": "\n ", "raw": "\n " }, "value": "\n " } ], "extra": { "parenthesized": true, "parenStart": 26 } } } ], "directives": [] } } ], "directives": [] } }