{ "type": "File", "start":0,"end":66,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":66}}, "program": { "type": "Program", "start":0,"end":66,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":66}}, "sourceType": "module", "interpreter": null, "body": [ { "type": "FunctionDeclaration", "start":0,"end":65,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":65}}, "id": { "type": "Identifier", "start":9,"end":12,"loc":{"start":{"line":1,"column":9},"end":{"line":1,"column":12},"identifierName":"foo"}, "name": "foo" }, "generator": false, "async": false, "params": [ { "type": "Identifier", "start":13,"end":21,"loc":{"start":{"line":1,"column":13},"end":{"line":1,"column":21},"identifierName":"x"}, "name": "x", "typeAnnotation": { "type": "TypeAnnotation", "start":14,"end":21,"loc":{"start":{"line":1,"column":14},"end":{"line":1,"column":21}}, "typeAnnotation": { "type": "MixedTypeAnnotation", "start":16,"end":21,"loc":{"start":{"line":1,"column":16},"end":{"line":1,"column":21}} } } } ], "predicate": { "type": "InferredPredicate", "start":24,"end":31,"loc":{"start":{"line":1,"column":24},"end":{"line":1,"column":31}} }, "returnType": null, "body": { "type": "BlockStatement", "start":32,"end":65,"loc":{"start":{"line":1,"column":32},"end":{"line":1,"column":65}}, "body": [ { "type": "ReturnStatement", "start":34,"end":63,"loc":{"start":{"line":1,"column":34},"end":{"line":1,"column":63}}, "argument": { "type": "BinaryExpression", "start":41,"end":62,"loc":{"start":{"line":1,"column":41},"end":{"line":1,"column":62}}, "left": { "type": "UnaryExpression", "start":41,"end":49,"loc":{"start":{"line":1,"column":41},"end":{"line":1,"column":49}}, "operator": "typeof", "prefix": true, "argument": { "type": "Identifier", "start":48,"end":49,"loc":{"start":{"line":1,"column":48},"end":{"line":1,"column":49},"identifierName":"x"}, "name": "x" } }, "operator": "===", "right": { "type": "StringLiteral", "start":54,"end":62,"loc":{"start":{"line":1,"column":54},"end":{"line":1,"column":62}}, "extra": { "rawValue": "string", "raw": "\"string\"" }, "value": "string" } } } ], "directives": [] } }, { "type": "EmptyStatement", "start":65,"end":66,"loc":{"start":{"line":1,"column":65},"end":{"line":1,"column":66}} } ], "directives": [] } }