{ "type": "Script", "span": { "start": 0, "end": 922, "ctxt": 0 }, "body": [ { "type": "VariableDeclaration", "span": { "start": 0, "end": 18, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4, "end": 17, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4, "end": 8, "ctxt": 0 }, "value": "cond", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 8, "end": 17, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 10, "end": 17, "ctxt": 0 }, "kind": "boolean" } } }, "init": null, "definite": false } ] }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 28, "end": 29, "ctxt": 0 }, "value": "a", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 19, "end": 141, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 32, "end": 141, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 38, "end": 71, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 42, "end": 70, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 42, "end": 43, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 43, "end": 70, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 45, "end": 70, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 45, "end": 51, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 54, "end": 60, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 63, "end": 70, "ctxt": 0 }, "kind": "boolean" } ] } } }, "init": null, "definite": false } ] }, { "type": "ForStatement", "span": { "start": 76, "end": 139, "ctxt": 0 }, "init": { "type": "AssignmentExpression", "span": { "start": 81, "end": 87, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 81, "end": 82, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "StringLiteral", "span": { "start": 85, "end": 87, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "test": { "type": "Identifier", "span": { "start": 89, "end": 93, "ctxt": 0 }, "value": "cond", "optional": false }, "update": { "type": "AssignmentExpression", "span": { "start": 95, "end": 100, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 95, "end": 96, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 99, "end": 100, "ctxt": 0 }, "value": 5.0 } }, "body": { "type": "BlockStatement", "span": { "start": 102, "end": 139, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 112, "end": 114, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 112, "end": 113, "ctxt": 0 }, "value": "x", "optional": false } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 151, "end": 152, "ctxt": 0 }, "value": "b", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 142, "end": 277, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 155, "end": 277, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 161, "end": 194, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 165, "end": 193, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 165, "end": 166, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 166, "end": 193, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 168, "end": 193, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 168, "end": 174, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 177, "end": 183, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 186, "end": 193, "ctxt": 0 }, "kind": "boolean" } ] } } }, "init": null, "definite": false } ] }, { "type": "ForStatement", "span": { "start": 199, "end": 275, "ctxt": 0 }, "init": { "type": "AssignmentExpression", "span": { "start": 204, "end": 209, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 204, "end": 205, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 208, "end": 209, "ctxt": 0 }, "value": 5.0 } }, "test": { "type": "Identifier", "span": { "start": 211, "end": 215, "ctxt": 0 }, "value": "cond", "optional": false }, "update": { "type": "AssignmentExpression", "span": { "start": 217, "end": 229, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 217, "end": 218, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 221, "end": 229, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 221, "end": 222, "ctxt": 0 }, "value": "x", "optional": false }, "property": { "type": "Identifier", "span": { "start": 223, "end": 229, "ctxt": 0 }, "value": "length", "optional": false } } }, "body": { "type": "BlockStatement", "span": { "start": 231, "end": 275, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 241, "end": 243, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 241, "end": 242, "ctxt": 0 }, "value": "x", "optional": false } }, { "type": "ExpressionStatement", "span": { "start": 262, "end": 269, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 262, "end": 268, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 262, "end": 263, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "StringLiteral", "span": { "start": 266, "end": 268, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 287, "end": 288, "ctxt": 0 }, "value": "c", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 278, "end": 407, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 291, "end": 407, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 297, "end": 330, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 301, "end": 329, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 301, "end": 302, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 302, "end": 329, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 304, "end": 329, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 304, "end": 310, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 313, "end": 319, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 322, "end": 329, "ctxt": 0 }, "kind": "boolean" } ] } } }, "init": null, "definite": false } ] }, { "type": "ForStatement", "span": { "start": 335, "end": 405, "ctxt": 0 }, "init": { "type": "AssignmentExpression", "span": { "start": 340, "end": 345, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 340, "end": 341, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 344, "end": 345, "ctxt": 0 }, "value": 5.0 } }, "test": { "type": "AssignmentExpression", "span": { "start": 347, "end": 368, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 347, "end": 348, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "CallExpression", "span": { "start": 351, "end": 368, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 351, "end": 366, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 351, "end": 352, "ctxt": 0 }, "value": "x", "optional": false }, "property": { "type": "Identifier", "span": { "start": 353, "end": 366, "ctxt": 0 }, "value": "toExponential", "optional": false } }, "arguments": [], "typeArguments": null } }, "update": { "type": "AssignmentExpression", "span": { "start": 370, "end": 375, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 370, "end": 371, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 374, "end": 375, "ctxt": 0 }, "value": 5.0 } }, "body": { "type": "BlockStatement", "span": { "start": 377, "end": 405, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 387, "end": 389, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 387, "end": 388, "ctxt": 0 }, "value": "x", "optional": false } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 417, "end": 418, "ctxt": 0 }, "value": "d", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 408, "end": 538, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 421, "end": 538, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 427, "end": 460, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 431, "end": 459, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 431, "end": 432, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 432, "end": 459, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 434, "end": 459, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 434, "end": 440, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 443, "end": 449, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 452, "end": 459, "ctxt": 0 }, "kind": "boolean" } ] } } }, "init": null, "definite": false } ] }, { "type": "ForStatement", "span": { "start": 465, "end": 536, "ctxt": 0 }, "init": { "type": "AssignmentExpression", "span": { "start": 470, "end": 476, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 470, "end": 471, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "StringLiteral", "span": { "start": 474, "end": 476, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "test": { "type": "BinaryExpression", "span": { "start": 478, "end": 499, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 478, "end": 486, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "Identifier", "span": { "start": 485, "end": 486, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 491, "end": 499, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "update": { "type": "AssignmentExpression", "span": { "start": 501, "end": 506, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 501, "end": 502, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 505, "end": 506, "ctxt": 0 }, "value": 5.0 } }, "body": { "type": "BlockStatement", "span": { "start": 508, "end": 536, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 518, "end": 520, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 518, "end": 519, "ctxt": 0 }, "value": "x", "optional": false } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 548, "end": 549, "ctxt": 0 }, "value": "e", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 539, "end": 702, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 552, "end": 702, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 558, "end": 600, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 562, "end": 599, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 562, "end": 563, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 563, "end": 599, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 565, "end": 599, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 565, "end": 571, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 574, "end": 580, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 583, "end": 590, "ctxt": 0 }, "kind": "boolean" }, { "type": "TsTypeReference", "span": { "start": 593, "end": 599, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 593, "end": 599, "ctxt": 0 }, "value": "RegExp", "optional": false }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "ForStatement", "span": { "start": 605, "end": 700, "ctxt": 0 }, "init": { "type": "AssignmentExpression", "span": { "start": 610, "end": 621, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 610, "end": 611, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "BinaryExpression", "span": { "start": 614, "end": 621, "ctxt": 0 }, "operator": "||", "left": { "type": "StringLiteral", "span": { "start": 614, "end": 616, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "right": { "type": "NumericLiteral", "span": { "start": 620, "end": 621, "ctxt": 0 }, "value": 0.0 } } }, "test": { "type": "BinaryExpression", "span": { "start": 623, "end": 644, "ctxt": 0 }, "operator": "!==", "left": { "type": "UnaryExpression", "span": { "start": 623, "end": 631, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "Identifier", "span": { "start": 630, "end": 631, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 636, "end": 644, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "update": { "type": "AssignmentExpression", "span": { "start": 646, "end": 660, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 646, "end": 647, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "BinaryExpression", "span": { "start": 650, "end": 660, "ctxt": 0 }, "operator": "||", "left": { "type": "StringLiteral", "span": { "start": 650, "end": 652, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "right": { "type": "BooleanLiteral", "span": { "start": 656, "end": 660, "ctxt": 0 }, "value": true } } }, "body": { "type": "BlockStatement", "span": { "start": 662, "end": 700, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 672, "end": 674, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 672, "end": 673, "ctxt": 0 }, "value": "x", "optional": false } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 712, "end": 713, "ctxt": 0 }, "value": "f", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 703, "end": 922, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 716, "end": 922, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 722, "end": 755, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 726, "end": 754, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 726, "end": 727, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 727, "end": 754, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 729, "end": 754, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 729, "end": 735, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 738, "end": 744, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 747, "end": 754, "ctxt": 0 }, "kind": "boolean" } ] } } }, "init": null, "definite": false } ] }, { "type": "ForStatement", "span": { "start": 760, "end": 894, "ctxt": 0 }, "init": null, "test": { "type": "BinaryExpression", "span": { "start": 767, "end": 788, "ctxt": 0 }, "operator": "!==", "left": { "type": "UnaryExpression", "span": { "start": 767, "end": 775, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "Identifier", "span": { "start": 774, "end": 775, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 780, "end": 788, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "update": null, "body": { "type": "BlockStatement", "span": { "start": 791, "end": 894, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 801, "end": 803, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 801, "end": 802, "ctxt": 0 }, "value": "x", "optional": false } }, { "type": "IfStatement", "span": { "start": 832, "end": 865, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 836, "end": 857, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 836, "end": 844, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "Identifier", "span": { "start": 843, "end": 844, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 849, "end": 857, "ctxt": 0 }, "value": "number", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "consequent": { "type": "BreakStatement", "span": { "start": 859, "end": 865, "ctxt": 0 }, "label": null }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 874, "end": 888, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 874, "end": 887, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 874, "end": 875, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 878, "end": 887, "ctxt": 0 }, "value": "undefined", "optional": false } } } ] } }, { "type": "ExpressionStatement", "span": { "start": 899, "end": 901, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 899, "end": 900, "ctxt": 0 }, "value": "x", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } ], "interpreter": null }