{ "type": "Script", "span": { "start": 0, "end": 1914, "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": 121, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 32, "end": 121, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 38, "end": 61, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 42, "end": 60, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 42, "end": 43, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 43, "end": 60, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 45, "end": 60, "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" } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 66, "end": 73, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 66, "end": 72, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 66, "end": 67, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "StringLiteral", "span": { "start": 70, "end": 72, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, { "type": "WhileStatement", "span": { "start": 78, "end": 119, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 85, "end": 89, "ctxt": 0 }, "value": "cond", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 91, "end": 119, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 101, "end": 103, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 101, "end": 102, "ctxt": 0 }, "value": "x", "optional": false } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 131, "end": 132, "ctxt": 0 }, "value": "b", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 122, "end": 255, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 135, "end": 255, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 141, "end": 164, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 145, "end": 163, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 145, "end": 146, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 146, "end": 163, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 148, "end": 163, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 148, "end": 154, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 157, "end": 163, "ctxt": 0 }, "kind": "number" } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 169, "end": 176, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 169, "end": 175, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 169, "end": 170, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "StringLiteral", "span": { "start": 173, "end": 175, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, { "type": "WhileStatement", "span": { "start": 181, "end": 253, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 188, "end": 192, "ctxt": 0 }, "value": "cond", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 194, "end": 253, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 204, "end": 206, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 204, "end": 205, "ctxt": 0 }, "value": "x", "optional": false } }, { "type": "ExpressionStatement", "span": { "start": 225, "end": 232, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 225, "end": 231, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 225, "end": 226, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 229, "end": 231, "ctxt": 0 }, "value": 42.0 } } }, { "type": "BreakStatement", "span": { "start": 241, "end": 247, "ctxt": 0 }, "label": null } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 265, "end": 266, "ctxt": 0 }, "value": "c", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 256, "end": 441, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 269, "end": 441, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 275, "end": 298, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 279, "end": 297, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 279, "end": 280, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 280, "end": 297, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 282, "end": 297, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 282, "end": 288, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 291, "end": 297, "ctxt": 0 }, "kind": "number" } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 303, "end": 310, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 303, "end": 309, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 303, "end": 304, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "StringLiteral", "span": { "start": 307, "end": 309, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, { "type": "WhileStatement", "span": { "start": 315, "end": 439, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 322, "end": 326, "ctxt": 0 }, "value": "cond", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 328, "end": 439, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 338, "end": 340, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 338, "end": 339, "ctxt": 0 }, "value": "x", "optional": false } }, { "type": "ExpressionStatement", "span": { "start": 359, "end": 373, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 359, "end": 372, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 359, "end": 360, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 363, "end": 372, "ctxt": 0 }, "value": "undefined", "optional": false } } }, { "type": "IfStatement", "span": { "start": 382, "end": 418, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 386, "end": 407, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 386, "end": 394, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "Identifier", "span": { "start": 393, "end": 394, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 399, "end": 407, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "consequent": { "type": "ContinueStatement", "span": { "start": 409, "end": 418, "ctxt": 0 }, "label": null }, "alternate": null }, { "type": "BreakStatement", "span": { "start": 427, "end": 433, "ctxt": 0 }, "label": null } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 451, "end": 452, "ctxt": 0 }, "value": "d", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 442, "end": 568, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 455, "end": 568, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 461, "end": 484, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 465, "end": 483, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 465, "end": 466, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 466, "end": 483, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 468, "end": 483, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 468, "end": 474, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 477, "end": 483, "ctxt": 0 }, "kind": "number" } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 489, "end": 496, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 489, "end": 495, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 489, "end": 490, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "StringLiteral", "span": { "start": 493, "end": 495, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, { "type": "WhileStatement", "span": { "start": 501, "end": 566, "ctxt": 0 }, "test": { "type": "AssignmentExpression", "span": { "start": 508, "end": 520, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 508, "end": 509, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 512, "end": 520, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 512, "end": 513, "ctxt": 0 }, "value": "x", "optional": false }, "property": { "type": "Identifier", "span": { "start": 514, "end": 520, "ctxt": 0 }, "value": "length", "optional": false } } }, "body": { "type": "BlockStatement", "span": { "start": 522, "end": 566, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 532, "end": 534, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 532, "end": 533, "ctxt": 0 }, "value": "x", "optional": false } }, { "type": "ExpressionStatement", "span": { "start": 553, "end": 560, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 553, "end": 559, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 553, "end": 554, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "StringLiteral", "span": { "start": 557, "end": 559, "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": 578, "end": 579, "ctxt": 0 }, "value": "e", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 569, "end": 743, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 582, "end": 743, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 588, "end": 611, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 592, "end": 610, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 592, "end": 593, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 593, "end": 610, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 595, "end": 610, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 595, "end": 601, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 604, "end": 610, "ctxt": 0 }, "kind": "number" } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 616, "end": 623, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 616, "end": 622, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 616, "end": 617, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "StringLiteral", "span": { "start": 620, "end": 622, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, { "type": "WhileStatement", "span": { "start": 628, "end": 715, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 635, "end": 639, "ctxt": 0 }, "value": "cond", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 641, "end": 715, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 651, "end": 653, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 651, "end": 652, "ctxt": 0 }, "value": "x", "optional": false } }, { "type": "ExpressionStatement", "span": { "start": 681, "end": 688, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 681, "end": 687, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 681, "end": 682, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 685, "end": 687, "ctxt": 0 }, "value": 42.0 } } }, { "type": "ExpressionStatement", "span": { "start": 697, "end": 699, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 697, "end": 698, "ctxt": 0 }, "value": "x", "optional": false } } ] } }, { "type": "ExpressionStatement", "span": { "start": 720, "end": 722, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 720, "end": 721, "ctxt": 0 }, "value": "x", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 753, "end": 754, "ctxt": 0 }, "value": "f", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 744, "end": 1060, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 757, "end": 1060, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 763, "end": 816, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 767, "end": 815, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 767, "end": 768, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 768, "end": 815, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 770, "end": 815, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 770, "end": 776, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 779, "end": 785, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 788, "end": 795, "ctxt": 0 }, "kind": "boolean" }, { "type": "TsTypeReference", "span": { "start": 798, "end": 804, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 798, "end": 804, "ctxt": 0 }, "value": "RegExp", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 807, "end": 815, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 807, "end": 815, "ctxt": 0 }, "value": "Function", "optional": false }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 821, "end": 828, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 821, "end": 827, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 821, "end": 822, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "StringLiteral", "span": { "start": 825, "end": 827, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, { "type": "WhileStatement", "span": { "start": 833, "end": 1013, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 840, "end": 844, "ctxt": 0 }, "value": "cond", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 846, "end": 1013, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 856, "end": 916, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 860, "end": 864, "ctxt": 0 }, "value": "cond", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 866, "end": 916, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 880, "end": 887, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 880, "end": 886, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 880, "end": 881, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 884, "end": 886, "ctxt": 0 }, "value": 42.0 } } }, { "type": "BreakStatement", "span": { "start": 900, "end": 906, "ctxt": 0 }, "label": null } ] }, "alternate": null }, { "type": "IfStatement", "span": { "start": 925, "end": 990, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 929, "end": 933, "ctxt": 0 }, "value": "cond", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 935, "end": 990, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 949, "end": 958, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 949, "end": 957, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 949, "end": 950, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "BooleanLiteral", "span": { "start": 953, "end": 957, "ctxt": 0 }, "value": true } } }, { "type": "ContinueStatement", "span": { "start": 971, "end": 980, "ctxt": 0 }, "label": null } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 999, "end": 1007, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 999, "end": 1006, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 999, "end": 1000, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "RegExpLiteral", "span": { "start": 1003, "end": 1006, "ctxt": 0 }, "pattern": "a", "flags": "" } } } ] } }, { "type": "ExpressionStatement", "span": { "start": 1018, "end": 1020, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1018, "end": 1019, "ctxt": 0 }, "value": "x", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1070, "end": 1071, "ctxt": 0 }, "value": "g", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 1061, "end": 1349, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1074, "end": 1349, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1080, "end": 1133, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1084, "end": 1132, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1084, "end": 1085, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1085, "end": 1132, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1087, "end": 1132, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 1087, "end": 1093, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 1096, "end": 1102, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 1105, "end": 1112, "ctxt": 0 }, "kind": "boolean" }, { "type": "TsTypeReference", "span": { "start": 1115, "end": 1121, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1115, "end": 1121, "ctxt": 0 }, "value": "RegExp", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1124, "end": 1132, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1124, "end": 1132, "ctxt": 0 }, "value": "Function", "optional": false }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1138, "end": 1145, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1138, "end": 1144, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1138, "end": 1139, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "StringLiteral", "span": { "start": 1142, "end": 1144, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, { "type": "WhileStatement", "span": { "start": 1150, "end": 1330, "ctxt": 0 }, "test": { "type": "BooleanLiteral", "span": { "start": 1157, "end": 1161, "ctxt": 0 }, "value": true }, "body": { "type": "BlockStatement", "span": { "start": 1163, "end": 1330, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 1173, "end": 1233, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1177, "end": 1181, "ctxt": 0 }, "value": "cond", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1183, "end": 1233, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1197, "end": 1204, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1197, "end": 1203, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1197, "end": 1198, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 1201, "end": 1203, "ctxt": 0 }, "value": 42.0 } } }, { "type": "BreakStatement", "span": { "start": 1217, "end": 1223, "ctxt": 0 }, "label": null } ] }, "alternate": null }, { "type": "IfStatement", "span": { "start": 1242, "end": 1307, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1246, "end": 1250, "ctxt": 0 }, "value": "cond", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1252, "end": 1307, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1266, "end": 1275, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1266, "end": 1274, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1266, "end": 1267, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "BooleanLiteral", "span": { "start": 1270, "end": 1274, "ctxt": 0 }, "value": true } } }, { "type": "ContinueStatement", "span": { "start": 1288, "end": 1297, "ctxt": 0 }, "label": null } ] }, "alternate": null }, { "type": "ExpressionStatement", "span": { "start": 1316, "end": 1324, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1316, "end": 1323, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1316, "end": 1317, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "RegExpLiteral", "span": { "start": 1320, "end": 1323, "ctxt": 0 }, "pattern": "a", "flags": "" } } } ] } }, { "type": "ExpressionStatement", "span": { "start": 1335, "end": 1337, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1335, "end": 1336, "ctxt": 0 }, "value": "x", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1359, "end": 1361, "ctxt": 0 }, "value": "h1", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 1350, "end": 1535, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1364, "end": 1535, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1370, "end": 1403, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1374, "end": 1402, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1374, "end": 1375, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1375, "end": 1402, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1377, "end": 1402, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 1377, "end": 1383, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 1386, "end": 1392, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 1395, "end": 1402, "ctxt": 0 }, "kind": "boolean" } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1408, "end": 1415, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1408, "end": 1414, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1408, "end": 1409, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "StringLiteral", "span": { "start": 1412, "end": 1414, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, { "type": "WhileStatement", "span": { "start": 1420, "end": 1507, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 1427, "end": 1432, "ctxt": 0 }, "operator": ">", "left": { "type": "Identifier", "span": { "start": 1427, "end": 1428, "ctxt": 0 }, "value": "x", "optional": false }, "right": { "type": "NumericLiteral", "span": { "start": 1431, "end": 1432, "ctxt": 0 }, "value": 1.0 } }, "body": { "type": "BlockStatement", "span": { "start": 1434, "end": 1507, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1444, "end": 1446, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1444, "end": 1445, "ctxt": 0 }, "value": "x", "optional": false } }, { "type": "ExpressionStatement", "span": { "start": 1474, "end": 1480, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1474, "end": 1479, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1474, "end": 1475, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 1478, "end": 1479, "ctxt": 0 }, "value": 1.0 } } }, { "type": "ExpressionStatement", "span": { "start": 1489, "end": 1491, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1489, "end": 1490, "ctxt": 0 }, "value": "x", "optional": false } } ] } }, { "type": "ExpressionStatement", "span": { "start": 1512, "end": 1514, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1512, "end": 1513, "ctxt": 0 }, "value": "x", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1553, "end": 1556, "ctxt": 0 }, "value": "len", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 1557, "end": 1575, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1557, "end": 1575, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1558, "end": 1575, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1560, "end": 1575, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 1560, "end": 1566, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 1569, "end": 1575, "ctxt": 0 }, "kind": "number" } ] } } } } ], "decorators": [], "span": { "start": 1536, "end": 1585, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1576, "end": 1584, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1578, "end": 1584, "ctxt": 0 }, "kind": "number" } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1595, "end": 1597, "ctxt": 0 }, "value": "h2", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 1586, "end": 1745, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1600, "end": 1745, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1606, "end": 1639, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1610, "end": 1638, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1610, "end": 1611, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1611, "end": 1638, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1613, "end": 1638, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 1613, "end": 1619, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 1622, "end": 1628, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 1631, "end": 1638, "ctxt": 0 }, "kind": "boolean" } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1644, "end": 1651, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1644, "end": 1650, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1644, "end": 1645, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "StringLiteral", "span": { "start": 1648, "end": 1650, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, { "type": "WhileStatement", "span": { "start": 1656, "end": 1717, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1663, "end": 1667, "ctxt": 0 }, "value": "cond", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1669, "end": 1717, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1679, "end": 1690, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1679, "end": 1689, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1679, "end": 1680, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "CallExpression", "span": { "start": 1683, "end": 1689, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1683, "end": 1686, "ctxt": 0 }, "value": "len", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1687, "end": 1688, "ctxt": 0 }, "value": "x", "optional": false } } ], "typeArguments": null } } }, { "type": "ExpressionStatement", "span": { "start": 1699, "end": 1701, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1699, "end": 1700, "ctxt": 0 }, "value": "x", "optional": false } } ] } }, { "type": "ExpressionStatement", "span": { "start": 1722, "end": 1724, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1722, "end": 1723, "ctxt": 0 }, "value": "x", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1755, "end": 1757, "ctxt": 0 }, "value": "h3", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 1746, "end": 1914, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1760, "end": 1914, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1766, "end": 1799, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1770, "end": 1798, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1770, "end": 1771, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1771, "end": 1798, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1773, "end": 1798, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 1773, "end": 1779, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 1782, "end": 1788, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 1791, "end": 1798, "ctxt": 0 }, "kind": "boolean" } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1804, "end": 1811, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1804, "end": 1810, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1804, "end": 1805, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "StringLiteral", "span": { "start": 1808, "end": 1810, "ctxt": 0 }, "value": "", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, { "type": "WhileStatement", "span": { "start": 1816, "end": 1886, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1823, "end": 1827, "ctxt": 0 }, "value": "cond", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 1829, "end": 1886, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1839, "end": 1841, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1839, "end": 1840, "ctxt": 0 }, "value": "x", "optional": false } }, { "type": "ExpressionStatement", "span": { "start": 1869, "end": 1880, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1869, "end": 1879, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1869, "end": 1870, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "CallExpression", "span": { "start": 1873, "end": 1879, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1873, "end": 1876, "ctxt": 0 }, "value": "len", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1877, "end": 1878, "ctxt": 0 }, "value": "x", "optional": false } } ], "typeArguments": null } } } ] } }, { "type": "ExpressionStatement", "span": { "start": 1891, "end": 1893, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1891, "end": 1892, "ctxt": 0 }, "value": "x", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } ], "interpreter": null }