{ "type": "Script", "span": { "start": 89, "end": 6710, "ctxt": 0 }, "body": [ { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 98, "end": 101, "ctxt": 0 }, "value": "f10", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 102, "end": 120, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 102, "end": 120, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 103, "end": 120, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 105, "end": 120, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 105, "end": 111, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 114, "end": 120, "ctxt": 0 }, "kind": "number" } ] } } } } ], "decorators": [], "span": { "start": 89, "end": 266, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 122, "end": 266, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 128, "end": 167, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 134, "end": 166, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 134, "end": 142, "ctxt": 0 }, "value": "isString", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 145, "end": 166, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 145, "end": 153, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "Identifier", "span": { "start": 152, "end": 153, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 158, "end": 166, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 172, "end": 264, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 176, "end": 184, "ctxt": 0 }, "value": "isString", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 186, "end": 220, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 196, "end": 214, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 200, "end": 213, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 200, "end": 201, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 201, "end": 209, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 203, "end": 209, "ctxt": 0 }, "kind": "string" } } }, "init": { "type": "Identifier", "span": { "start": 212, "end": 213, "ctxt": 0 }, "value": "x", "optional": false }, "definite": false } ] } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 230, "end": 264, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 240, "end": 258, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 244, "end": 257, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 244, "end": 245, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 245, "end": 253, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 247, "end": 253, "ctxt": 0 }, "kind": "number" } } }, "init": { "type": "Identifier", "span": { "start": 256, "end": 257, "ctxt": 0 }, "value": "x", "optional": false }, "definite": false } ] } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 277, "end": 280, "ctxt": 0 }, "value": "f11", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 281, "end": 291, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 281, "end": 291, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 282, "end": 291, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 284, "end": 291, "ctxt": 0 }, "kind": "unknown" } } } } ], "decorators": [], "span": { "start": 268, "end": 393, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 293, "end": 393, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 299, "end": 338, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 305, "end": 337, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 305, "end": 313, "ctxt": 0 }, "value": "isString", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 316, "end": 337, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 316, "end": 324, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "Identifier", "span": { "start": 323, "end": 324, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 329, "end": 337, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 343, "end": 391, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 347, "end": 355, "ctxt": 0 }, "value": "isString", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 357, "end": 391, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 367, "end": 385, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 371, "end": 384, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 371, "end": 372, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 372, "end": 380, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 374, "end": 380, "ctxt": 0 }, "kind": "string" } } }, "init": { "type": "Identifier", "span": { "start": 383, "end": 384, "ctxt": 0 }, "value": "x", "optional": false }, "definite": false } ] } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 404, "end": 407, "ctxt": 0 }, "value": "f12", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 408, "end": 436, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 408, "end": 436, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 409, "end": 436, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 411, "end": 436, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 411, "end": 417, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 420, "end": 426, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 429, "end": 436, "ctxt": 0 }, "kind": "boolean" } ] } } } } ], "decorators": [], "span": { "start": 395, "end": 648, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 438, "end": 648, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 444, "end": 483, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 450, "end": 482, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 450, "end": 458, "ctxt": 0 }, "value": "isString", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 461, "end": 482, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 461, "end": 469, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "Identifier", "span": { "start": 468, "end": 469, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 474, "end": 482, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 488, "end": 527, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 494, "end": 526, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 494, "end": 502, "ctxt": 0 }, "value": "isNumber", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 505, "end": 526, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 505, "end": 513, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "Identifier", "span": { "start": 512, "end": 513, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 518, "end": 526, "ctxt": 0 }, "value": "number", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 532, "end": 646, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 536, "end": 556, "ctxt": 0 }, "operator": "||", "left": { "type": "Identifier", "span": { "start": 536, "end": 544, "ctxt": 0 }, "value": "isString", "optional": false }, "right": { "type": "Identifier", "span": { "start": 548, "end": 556, "ctxt": 0 }, "value": "isNumber", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 558, "end": 601, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 568, "end": 595, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 572, "end": 594, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 572, "end": 573, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 573, "end": 590, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 575, "end": 590, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 575, "end": 581, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 584, "end": 590, "ctxt": 0 }, "kind": "number" } ] } } }, "init": { "type": "Identifier", "span": { "start": 593, "end": 594, "ctxt": 0 }, "value": "x", "optional": false }, "definite": false } ] } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 611, "end": 646, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 621, "end": 640, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 625, "end": 639, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 625, "end": 626, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 626, "end": 635, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 628, "end": 635, "ctxt": 0 }, "kind": "boolean" } } }, "init": { "type": "Identifier", "span": { "start": 638, "end": 639, "ctxt": 0 }, "value": "x", "optional": false }, "definite": false } ] } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 659, "end": 662, "ctxt": 0 }, "value": "f13", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 663, "end": 691, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 663, "end": 691, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 664, "end": 691, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 666, "end": 691, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 666, "end": 672, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 675, "end": 681, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 684, "end": 691, "ctxt": 0 }, "kind": "boolean" } ] } } } } ], "decorators": [], "span": { "start": 650, "end": 950, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 693, "end": 950, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 699, "end": 738, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 705, "end": 737, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 705, "end": 713, "ctxt": 0 }, "value": "isString", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 716, "end": 737, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 716, "end": 724, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "Identifier", "span": { "start": 723, "end": 724, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 729, "end": 737, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 743, "end": 782, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 749, "end": 781, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 749, "end": 757, "ctxt": 0 }, "value": "isNumber", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 760, "end": 781, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 760, "end": 768, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "Identifier", "span": { "start": 767, "end": 768, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 773, "end": 781, "ctxt": 0 }, "value": "number", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 787, "end": 833, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 793, "end": 832, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 793, "end": 809, "ctxt": 0 }, "value": "isStringOrNumber", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 812, "end": 832, "ctxt": 0 }, "operator": "||", "left": { "type": "Identifier", "span": { "start": 812, "end": 820, "ctxt": 0 }, "value": "isString", "optional": false }, "right": { "type": "Identifier", "span": { "start": 824, "end": 832, "ctxt": 0 }, "value": "isNumber", "optional": false } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 838, "end": 948, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 842, "end": 858, "ctxt": 0 }, "value": "isStringOrNumber", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 860, "end": 903, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 870, "end": 897, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 874, "end": 896, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 874, "end": 875, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 875, "end": 892, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 877, "end": 892, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 877, "end": 883, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 886, "end": 892, "ctxt": 0 }, "kind": "number" } ] } } }, "init": { "type": "Identifier", "span": { "start": 895, "end": 896, "ctxt": 0 }, "value": "x", "optional": false }, "definite": false } ] } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 913, "end": 948, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 923, "end": 942, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 927, "end": 941, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 927, "end": 928, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 928, "end": 937, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 930, "end": 937, "ctxt": 0 }, "kind": "boolean" } } }, "init": { "type": "Identifier", "span": { "start": 940, "end": 941, "ctxt": 0 }, "value": "x", "optional": false }, "definite": false } ] } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 961, "end": 964, "ctxt": 0 }, "value": "f14", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 965, "end": 993, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 965, "end": 993, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 966, "end": 993, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 968, "end": 993, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 968, "end": 974, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 977, "end": 981, "ctxt": 0 }, "kind": "null" }, { "type": "TsKeywordType", "span": { "start": 984, "end": 993, "ctxt": 0 }, "kind": "undefined" } ] } } } } ], "decorators": [], "span": { "start": 952, "end": 1088, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1010, "end": 1088, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1016, "end": 1053, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1022, "end": 1052, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1022, "end": 1034, "ctxt": 0 }, "value": "notUndefined", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 1037, "end": 1052, "ctxt": 0 }, "operator": "!==", "left": { "type": "Identifier", "span": { "start": 1037, "end": 1038, "ctxt": 0 }, "value": "x", "optional": false }, "right": { "type": "Identifier", "span": { "start": 1043, "end": 1052, "ctxt": 0 }, "value": "undefined", "optional": false } }, "definite": false } ] }, { "type": "ReturnStatement", "span": { "start": 1058, "end": 1086, "ctxt": 0 }, "argument": { "type": "ConditionalExpression", "span": { "start": 1065, "end": 1085, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1065, "end": 1077, "ctxt": 0 }, "value": "notUndefined", "optional": false }, "consequent": { "type": "Identifier", "span": { "start": 1080, "end": 1081, "ctxt": 0 }, "value": "x", "optional": false }, "alternate": { "type": "NumericLiteral", "span": { "start": 1084, "end": 1085, "ctxt": 0 }, "value": 0.0 } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 994, "end": 1009, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 996, "end": 1009, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 996, "end": 1002, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 1005, "end": 1009, "ctxt": 0 }, "kind": "null" } ] } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1099, "end": 1102, "ctxt": 0 }, "value": "f15", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1103, "end": 1139, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1103, "end": 1139, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1106, "end": 1139, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1108, "end": 1139, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1110, "end": 1137, "ctxt": 0 }, "readonly": true, "key": { "type": "Identifier", "span": { "start": 1119, "end": 1120, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1120, "end": 1137, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1122, "end": 1137, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 1122, "end": 1128, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 1131, "end": 1137, "ctxt": 0 }, "kind": "number" } ] } }, "typeParams": null } ] } } } } ], "decorators": [], "span": { "start": 1090, "end": 1249, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1141, "end": 1249, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1147, "end": 1190, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1153, "end": 1189, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1153, "end": 1161, "ctxt": 0 }, "value": "isString", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 1164, "end": 1189, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 1164, "end": 1176, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "MemberExpression", "span": { "start": 1171, "end": 1176, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1171, "end": 1174, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1175, "end": 1176, "ctxt": 0 }, "value": "x", "optional": false } } }, "right": { "type": "StringLiteral", "span": { "start": 1181, "end": 1189, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 1195, "end": 1247, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1199, "end": 1207, "ctxt": 0 }, "value": "isString", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1209, "end": 1247, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1219, "end": 1241, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1223, "end": 1240, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1223, "end": 1224, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1224, "end": 1232, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1226, "end": 1232, "ctxt": 0 }, "kind": "string" } } }, "init": { "type": "MemberExpression", "span": { "start": 1235, "end": 1240, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1235, "end": 1238, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1239, "end": 1240, "ctxt": 0 }, "value": "x", "optional": false } }, "definite": false } ] } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1260, "end": 1263, "ctxt": 0 }, "value": "f16", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1264, "end": 1300, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1264, "end": 1300, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1267, "end": 1300, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1269, "end": 1300, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1271, "end": 1298, "ctxt": 0 }, "readonly": true, "key": { "type": "Identifier", "span": { "start": 1280, "end": 1281, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1281, "end": 1298, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1283, "end": 1298, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 1283, "end": 1289, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 1292, "end": 1298, "ctxt": 0 }, "kind": "number" } ] } }, "typeParams": null } ] } } } } ], "decorators": [], "span": { "start": 1251, "end": 1488, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1302, "end": 1488, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1308, "end": 1351, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1314, "end": 1350, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1314, "end": 1322, "ctxt": 0 }, "value": "isString", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 1325, "end": 1350, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 1325, "end": 1337, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "MemberExpression", "span": { "start": 1332, "end": 1337, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1332, "end": 1335, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1336, "end": 1337, "ctxt": 0 }, "value": "x", "optional": false } } }, "right": { "type": "StringLiteral", "span": { "start": 1342, "end": 1350, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1356, "end": 1372, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1356, "end": 1371, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1356, "end": 1359, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": null }, "right": { "type": "ObjectExpression", "span": { "start": 1362, "end": 1371, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1364, "end": 1365, "ctxt": 0 }, "value": "x", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 1367, "end": 1369, "ctxt": 0 }, "value": 42.0 } } ] } } }, { "type": "IfStatement", "span": { "start": 1377, "end": 1486, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1381, "end": 1389, "ctxt": 0 }, "value": "isString", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1391, "end": 1486, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1401, "end": 1423, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1405, "end": 1422, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1405, "end": 1406, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1406, "end": 1414, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1408, "end": 1414, "ctxt": 0 }, "kind": "string" } } }, "init": { "type": "MemberExpression", "span": { "start": 1417, "end": 1422, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1417, "end": 1420, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1421, "end": 1422, "ctxt": 0 }, "value": "x", "optional": false } }, "definite": false } ] } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1499, "end": 1502, "ctxt": 0 }, "value": "f17", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1503, "end": 1534, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1503, "end": 1534, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1506, "end": 1534, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeOperator", "span": { "start": 1508, "end": 1534, "ctxt": 0 }, "op": "readonly", "typeAnnotation": { "type": "TsTupleType", "span": { "start": 1517, "end": 1534, "ctxt": 0 }, "elemTypes": [ { "type": "TsTupleElement", "span": { "start": 1518, "end": 1533, "ctxt": 0 }, "label": null, "ty": { "type": "TsUnionType", "span": { "start": 1518, "end": 1533, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 1518, "end": 1524, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 1527, "end": 1533, "ctxt": 0 }, "kind": "number" } ] } } ] } } } } } ], "decorators": [], "span": { "start": 1490, "end": 1646, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1536, "end": 1646, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1542, "end": 1586, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1548, "end": 1585, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1548, "end": 1556, "ctxt": 0 }, "value": "isString", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 1559, "end": 1585, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 1559, "end": 1572, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "MemberExpression", "span": { "start": 1566, "end": 1572, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1566, "end": 1569, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 1569, "end": 1572, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 1570, "end": 1571, "ctxt": 0 }, "value": 0.0 } } } }, "right": { "type": "StringLiteral", "span": { "start": 1577, "end": 1585, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 1591, "end": 1644, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1595, "end": 1603, "ctxt": 0 }, "value": "isString", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1605, "end": 1644, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1615, "end": 1638, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1619, "end": 1637, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1619, "end": 1620, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1620, "end": 1628, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1622, "end": 1628, "ctxt": 0 }, "kind": "string" } } }, "init": { "type": "MemberExpression", "span": { "start": 1631, "end": 1637, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1631, "end": 1634, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 1634, "end": 1637, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 1635, "end": 1636, "ctxt": 0 }, "value": 0.0 } } }, "definite": false } ] } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1657, "end": 1660, "ctxt": 0 }, "value": "f18", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1661, "end": 1692, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1661, "end": 1692, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1664, "end": 1692, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeOperator", "span": { "start": 1666, "end": 1692, "ctxt": 0 }, "op": "readonly", "typeAnnotation": { "type": "TsTupleType", "span": { "start": 1675, "end": 1692, "ctxt": 0 }, "elemTypes": [ { "type": "TsTupleElement", "span": { "start": 1676, "end": 1691, "ctxt": 0 }, "label": null, "ty": { "type": "TsUnionType", "span": { "start": 1676, "end": 1691, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 1676, "end": 1682, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 1685, "end": 1691, "ctxt": 0 }, "kind": "number" } ] } } ] } } } } } ], "decorators": [], "span": { "start": 1648, "end": 1877, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1694, "end": 1877, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1700, "end": 1744, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1706, "end": 1743, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1706, "end": 1714, "ctxt": 0 }, "value": "isString", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 1717, "end": 1743, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 1717, "end": 1730, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "MemberExpression", "span": { "start": 1724, "end": 1730, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1724, "end": 1727, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 1727, "end": 1730, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 1728, "end": 1729, "ctxt": 0 }, "value": 0.0 } } } }, "right": { "type": "StringLiteral", "span": { "start": 1735, "end": 1743, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1749, "end": 1760, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1749, "end": 1759, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1749, "end": 1752, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": null }, "right": { "type": "ArrayExpression", "span": { "start": 1755, "end": 1759, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1756, "end": 1758, "ctxt": 0 }, "value": 42.0 } } ] } } }, { "type": "IfStatement", "span": { "start": 1765, "end": 1875, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 1769, "end": 1777, "ctxt": 0 }, "value": "isString", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 1779, "end": 1875, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1789, "end": 1812, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1793, "end": 1811, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1793, "end": 1794, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1794, "end": 1802, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1796, "end": 1802, "ctxt": 0 }, "kind": "string" } } }, "init": { "type": "MemberExpression", "span": { "start": 1805, "end": 1811, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1805, "end": 1808, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 1808, "end": 1811, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 1809, "end": 1810, "ctxt": 0 }, "value": 0.0 } } }, "definite": false } ] } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1888, "end": 1891, "ctxt": 0 }, "value": "f20", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1892, "end": 1956, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1892, "end": 1956, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1895, "end": 1956, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1897, "end": 1956, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 1897, "end": 1925, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1899, "end": 1911, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1899, "end": 1903, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1903, "end": 1910, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1905, "end": 1910, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 1905, "end": 1910, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1912, "end": 1923, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1912, "end": 1915, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1915, "end": 1923, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1917, "end": 1923, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 1928, "end": 1956, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1930, "end": 1942, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1930, "end": 1934, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1934, "end": 1941, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1936, "end": 1941, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 1936, "end": 1941, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1943, "end": 1954, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1943, "end": 1946, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1946, "end": 1954, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1948, "end": 1954, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } } } } ], "decorators": [], "span": { "start": 1879, "end": 2073, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1958, "end": 2073, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 1964, "end": 1997, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1970, "end": 1996, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1970, "end": 1975, "ctxt": 0 }, "value": "isFoo", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 1978, "end": 1996, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 1978, "end": 1986, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1978, "end": 1981, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1982, "end": 1986, "ctxt": 0 }, "value": "kind", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 1991, "end": 1996, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 2002, "end": 2071, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 2006, "end": 2011, "ctxt": 0 }, "value": "isFoo", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 2013, "end": 2037, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2023, "end": 2031, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 2023, "end": 2030, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2023, "end": 2026, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2027, "end": 2030, "ctxt": 0 }, "value": "foo", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 2047, "end": 2071, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2057, "end": 2065, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 2057, "end": 2064, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2057, "end": 2060, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2061, "end": 2064, "ctxt": 0 }, "value": "bar", "optional": false } } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2084, "end": 2087, "ctxt": 0 }, "value": "f21", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 2088, "end": 2152, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2088, "end": 2152, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2091, "end": 2152, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 2093, "end": 2152, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 2093, "end": 2121, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2095, "end": 2107, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2095, "end": 2099, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2099, "end": 2106, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 2101, "end": 2106, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2101, "end": 2106, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2108, "end": 2119, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2108, "end": 2111, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2111, "end": 2119, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2113, "end": 2119, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 2124, "end": 2152, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2126, "end": 2138, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2126, "end": 2130, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2130, "end": 2137, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 2132, "end": 2137, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2132, "end": 2137, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2139, "end": 2150, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2139, "end": 2142, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2142, "end": 2150, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2144, "end": 2150, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } } } } ], "decorators": [], "span": { "start": 2075, "end": 2380, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2154, "end": 2380, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 2160, "end": 2202, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2166, "end": 2201, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2166, "end": 2171, "ctxt": 0 }, "value": "isFoo", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2171, "end": 2180, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2173, "end": 2180, "ctxt": 0 }, "kind": "boolean" } } }, "init": { "type": "BinaryExpression", "span": { "start": 2183, "end": 2201, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 2183, "end": 2191, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2183, "end": 2186, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2187, "end": 2191, "ctxt": 0 }, "value": "kind", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 2196, "end": 2201, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 2207, "end": 2378, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 2211, "end": 2216, "ctxt": 0 }, "value": "isFoo", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 2218, "end": 2293, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2228, "end": 2236, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 2228, "end": 2235, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2228, "end": 2231, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2232, "end": 2235, "ctxt": 0 }, "value": "foo", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 2303, "end": 2378, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2313, "end": 2321, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 2313, "end": 2320, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2313, "end": 2316, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2317, "end": 2320, "ctxt": 0 }, "value": "bar", "optional": false } } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2391, "end": 2394, "ctxt": 0 }, "value": "f22", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 2395, "end": 2459, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2395, "end": 2459, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2398, "end": 2459, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 2400, "end": 2459, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 2400, "end": 2428, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2402, "end": 2414, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2402, "end": 2406, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2406, "end": 2413, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 2408, "end": 2413, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2408, "end": 2413, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2415, "end": 2426, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2415, "end": 2418, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2418, "end": 2426, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2420, "end": 2426, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 2431, "end": 2459, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2433, "end": 2445, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2433, "end": 2437, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2437, "end": 2444, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 2439, "end": 2444, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2439, "end": 2444, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2446, "end": 2457, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2446, "end": 2449, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2449, "end": 2457, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2451, "end": 2457, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } } } } ], "decorators": [], "span": { "start": 2382, "end": 2658, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2461, "end": 2658, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 2467, "end": 2498, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2471, "end": 2497, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2471, "end": 2476, "ctxt": 0 }, "value": "isFoo", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 2479, "end": 2497, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 2479, "end": 2487, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2479, "end": 2482, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2483, "end": 2487, "ctxt": 0 }, "value": "kind", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 2492, "end": 2497, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 2503, "end": 2656, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 2507, "end": 2512, "ctxt": 0 }, "value": "isFoo", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 2514, "end": 2580, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2524, "end": 2532, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 2524, "end": 2531, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2524, "end": 2527, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2528, "end": 2531, "ctxt": 0 }, "value": "foo", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 2590, "end": 2656, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2600, "end": 2608, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 2600, "end": 2607, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2600, "end": 2603, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2604, "end": 2607, "ctxt": 0 }, "value": "bar", "optional": false } } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2669, "end": 2672, "ctxt": 0 }, "value": "f23", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 2673, "end": 2737, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2673, "end": 2737, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2676, "end": 2737, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 2678, "end": 2737, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 2678, "end": 2706, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2680, "end": 2692, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2680, "end": 2684, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2684, "end": 2691, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 2686, "end": 2691, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2686, "end": 2691, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2693, "end": 2704, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2693, "end": 2696, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2696, "end": 2704, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2698, "end": 2704, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 2709, "end": 2737, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2711, "end": 2723, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2711, "end": 2715, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2715, "end": 2722, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 2717, "end": 2722, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2717, "end": 2722, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2724, "end": 2735, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2724, "end": 2727, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2727, "end": 2735, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2729, "end": 2735, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } } } } ], "decorators": [], "span": { "start": 2660, "end": 2985, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2739, "end": 2985, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 2745, "end": 2778, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2751, "end": 2777, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2751, "end": 2756, "ctxt": 0 }, "value": "isFoo", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 2759, "end": 2777, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 2759, "end": 2767, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2759, "end": 2762, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2763, "end": 2767, "ctxt": 0 }, "value": "kind", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 2772, "end": 2777, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2783, "end": 2793, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2783, "end": 2792, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2783, "end": 2786, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2789, "end": 2792, "ctxt": 0 }, "value": "obj", "optional": false } } }, { "type": "IfStatement", "span": { "start": 2798, "end": 2983, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 2802, "end": 2807, "ctxt": 0 }, "value": "isFoo", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 2809, "end": 2891, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2819, "end": 2827, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 2819, "end": 2826, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2819, "end": 2822, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2823, "end": 2826, "ctxt": 0 }, "value": "foo", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 2901, "end": 2983, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2911, "end": 2919, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 2911, "end": 2918, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2911, "end": 2914, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2915, "end": 2918, "ctxt": 0 }, "value": "bar", "optional": false } } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2996, "end": 2999, "ctxt": 0 }, "value": "f24", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 3000, "end": 3064, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3000, "end": 3064, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3003, "end": 3064, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 3005, "end": 3064, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 3005, "end": 3033, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3007, "end": 3019, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3007, "end": 3011, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3011, "end": 3018, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 3013, "end": 3018, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 3013, "end": 3018, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3020, "end": 3031, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3020, "end": 3023, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3023, "end": 3031, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3025, "end": 3031, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 3036, "end": 3064, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3038, "end": 3050, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3038, "end": 3042, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3042, "end": 3049, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 3044, "end": 3049, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 3044, "end": 3049, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3051, "end": 3062, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3051, "end": 3054, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3054, "end": 3062, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3056, "end": 3062, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } } } } ], "decorators": [], "span": { "start": 2987, "end": 3202, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 3066, "end": 3202, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 3072, "end": 3088, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3078, "end": 3087, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3078, "end": 3081, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": null }, "init": { "type": "Identifier", "span": { "start": 3084, "end": 3087, "ctxt": 0 }, "value": "arg", "optional": false }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3093, "end": 3126, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3099, "end": 3125, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3099, "end": 3104, "ctxt": 0 }, "value": "isFoo", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 3107, "end": 3125, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 3107, "end": 3115, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3107, "end": 3110, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3111, "end": 3115, "ctxt": 0 }, "value": "kind", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 3120, "end": 3125, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 3131, "end": 3200, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 3135, "end": 3140, "ctxt": 0 }, "value": "isFoo", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 3142, "end": 3166, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 3152, "end": 3160, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 3152, "end": 3159, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3152, "end": 3155, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3156, "end": 3159, "ctxt": 0 }, "value": "foo", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 3176, "end": 3200, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 3186, "end": 3194, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 3186, "end": 3193, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3186, "end": 3189, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3190, "end": 3193, "ctxt": 0 }, "value": "bar", "optional": false } } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 3213, "end": 3216, "ctxt": 0 }, "value": "f25", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 3217, "end": 3281, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3217, "end": 3281, "ctxt": 0 }, "value": "arg", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3220, "end": 3281, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 3222, "end": 3281, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 3222, "end": 3250, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3224, "end": 3236, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3224, "end": 3228, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3228, "end": 3235, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 3230, "end": 3235, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 3230, "end": 3235, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3237, "end": 3248, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3237, "end": 3240, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3240, "end": 3248, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3242, "end": 3248, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 3253, "end": 3281, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3255, "end": 3267, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3255, "end": 3259, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3259, "end": 3266, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 3261, "end": 3266, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 3261, "end": 3266, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3268, "end": 3279, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3268, "end": 3271, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3271, "end": 3279, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3273, "end": 3279, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } } } } ], "decorators": [], "span": { "start": 3204, "end": 3497, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 3283, "end": 3497, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 3289, "end": 3303, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3293, "end": 3302, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3293, "end": 3296, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": null }, "init": { "type": "Identifier", "span": { "start": 3299, "end": 3302, "ctxt": 0 }, "value": "arg", "optional": false }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3308, "end": 3341, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3314, "end": 3340, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3314, "end": 3319, "ctxt": 0 }, "value": "isFoo", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 3322, "end": 3340, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 3322, "end": 3330, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3322, "end": 3325, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3326, "end": 3330, "ctxt": 0 }, "value": "kind", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 3335, "end": 3340, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 3346, "end": 3495, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 3350, "end": 3355, "ctxt": 0 }, "value": "isFoo", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 3357, "end": 3421, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 3367, "end": 3375, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 3367, "end": 3374, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3367, "end": 3370, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3371, "end": 3374, "ctxt": 0 }, "value": "foo", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 3431, "end": 3495, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 3441, "end": 3449, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 3441, "end": 3448, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3441, "end": 3444, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3445, "end": 3448, "ctxt": 0 }, "value": "bar", "optional": false } } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 3508, "end": 3511, "ctxt": 0 }, "value": "f26", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 3512, "end": 3596, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3512, "end": 3596, "ctxt": 0 }, "value": "outer", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3517, "end": 3596, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 3519, "end": 3596, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3521, "end": 3594, "ctxt": 0 }, "readonly": true, "key": { "type": "Identifier", "span": { "start": 3530, "end": 3533, "ctxt": 0 }, "value": "obj", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3533, "end": 3594, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 3535, "end": 3594, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 3535, "end": 3563, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3537, "end": 3549, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3537, "end": 3541, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3541, "end": 3548, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 3543, "end": 3548, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 3543, "end": 3548, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3550, "end": 3561, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3550, "end": 3553, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3553, "end": 3561, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3555, "end": 3561, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 3566, "end": 3594, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3568, "end": 3580, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3568, "end": 3572, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3572, "end": 3579, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 3574, "end": 3579, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 3574, "end": 3579, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3581, "end": 3592, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3581, "end": 3584, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3584, "end": 3592, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3586, "end": 3592, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } }, "typeParams": null } ] } } } } ], "decorators": [], "span": { "start": 3499, "end": 3731, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 3598, "end": 3731, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 3604, "end": 3643, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3610, "end": 3642, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3610, "end": 3615, "ctxt": 0 }, "value": "isFoo", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 3618, "end": 3642, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 3618, "end": 3632, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3618, "end": 3627, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3618, "end": 3623, "ctxt": 0 }, "value": "outer", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3624, "end": 3627, "ctxt": 0 }, "value": "obj", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3628, "end": 3632, "ctxt": 0 }, "value": "kind", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 3637, "end": 3642, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 3648, "end": 3729, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 3652, "end": 3657, "ctxt": 0 }, "value": "isFoo", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 3659, "end": 3689, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 3669, "end": 3683, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 3669, "end": 3682, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3669, "end": 3678, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3669, "end": 3674, "ctxt": 0 }, "value": "outer", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3675, "end": 3678, "ctxt": 0 }, "value": "obj", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3679, "end": 3682, "ctxt": 0 }, "value": "foo", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 3699, "end": 3729, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 3709, "end": 3723, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 3709, "end": 3722, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3709, "end": 3718, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3709, "end": 3714, "ctxt": 0 }, "value": "outer", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3715, "end": 3718, "ctxt": 0 }, "value": "obj", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3719, "end": 3722, "ctxt": 0 }, "value": "bar", "optional": false } } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 3742, "end": 3745, "ctxt": 0 }, "value": "f27", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 3746, "end": 3821, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3746, "end": 3821, "ctxt": 0 }, "value": "outer", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3751, "end": 3821, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 3753, "end": 3821, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3755, "end": 3819, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3755, "end": 3758, "ctxt": 0 }, "value": "obj", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3758, "end": 3819, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 3760, "end": 3819, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 3760, "end": 3788, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3762, "end": 3774, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3762, "end": 3766, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3766, "end": 3773, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 3768, "end": 3773, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 3768, "end": 3773, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3775, "end": 3786, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3775, "end": 3778, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3778, "end": 3786, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3780, "end": 3786, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 3791, "end": 3819, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3793, "end": 3805, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3793, "end": 3797, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3797, "end": 3804, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 3799, "end": 3804, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 3799, "end": 3804, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 3806, "end": 3817, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3806, "end": 3809, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3809, "end": 3817, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3811, "end": 3817, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } }, "typeParams": null } ] } } } } ], "decorators": [], "span": { "start": 3733, "end": 4036, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 3823, "end": 4036, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 3829, "end": 3868, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3835, "end": 3867, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3835, "end": 3840, "ctxt": 0 }, "value": "isFoo", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 3843, "end": 3867, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 3843, "end": 3857, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3843, "end": 3852, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3843, "end": 3848, "ctxt": 0 }, "value": "outer", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3849, "end": 3852, "ctxt": 0 }, "value": "obj", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3853, "end": 3857, "ctxt": 0 }, "value": "kind", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 3862, "end": 3867, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 3873, "end": 4034, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 3877, "end": 3882, "ctxt": 0 }, "value": "isFoo", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 3884, "end": 3954, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 3894, "end": 3908, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 3894, "end": 3907, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3894, "end": 3903, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3894, "end": 3899, "ctxt": 0 }, "value": "outer", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3900, "end": 3903, "ctxt": 0 }, "value": "obj", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3904, "end": 3907, "ctxt": 0 }, "value": "foo", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 3964, "end": 4034, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 3974, "end": 3988, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 3974, "end": 3987, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3974, "end": 3983, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3974, "end": 3979, "ctxt": 0 }, "value": "outer", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3980, "end": 3983, "ctxt": 0 }, "value": "obj", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3984, "end": 3987, "ctxt": 0 }, "value": "bar", "optional": false } } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 4047, "end": 4050, "ctxt": 0 }, "value": "f28", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 4051, "end": 4116, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4051, "end": 4116, "ctxt": 0 }, "value": "obj", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4055, "end": 4116, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 4057, "end": 4116, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 4057, "end": 4085, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 4059, "end": 4071, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4059, "end": 4063, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4063, "end": 4070, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 4065, "end": 4070, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 4065, "end": 4070, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 4072, "end": 4083, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4072, "end": 4075, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4075, "end": 4083, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4077, "end": 4083, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 4088, "end": 4116, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 4090, "end": 4102, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4090, "end": 4094, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4094, "end": 4101, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 4096, "end": 4101, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 4096, "end": 4101, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 4103, "end": 4114, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4103, "end": 4106, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4106, "end": 4114, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4108, "end": 4114, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } } } } ], "decorators": [], "span": { "start": 4038, "end": 4291, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 4118, "end": 4291, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 4124, "end": 4164, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4130, "end": 4163, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4130, "end": 4135, "ctxt": 0 }, "value": "isFoo", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 4138, "end": 4163, "ctxt": 0 }, "operator": "&&", "left": { "type": "Identifier", "span": { "start": 4138, "end": 4141, "ctxt": 0 }, "value": "obj", "optional": false }, "right": { "type": "BinaryExpression", "span": { "start": 4145, "end": 4163, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 4145, "end": 4153, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4145, "end": 4148, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4149, "end": 4153, "ctxt": 0 }, "value": "kind", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 4158, "end": 4163, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4169, "end": 4209, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4175, "end": 4208, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4175, "end": 4180, "ctxt": 0 }, "value": "isBar", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 4183, "end": 4208, "ctxt": 0 }, "operator": "&&", "left": { "type": "Identifier", "span": { "start": 4183, "end": 4186, "ctxt": 0 }, "value": "obj", "optional": false }, "right": { "type": "BinaryExpression", "span": { "start": 4190, "end": 4208, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 4190, "end": 4198, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4190, "end": 4193, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4194, "end": 4198, "ctxt": 0 }, "value": "kind", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 4203, "end": 4208, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 4214, "end": 4249, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 4218, "end": 4223, "ctxt": 0 }, "value": "isFoo", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 4225, "end": 4249, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 4235, "end": 4243, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 4235, "end": 4242, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4235, "end": 4238, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4239, "end": 4242, "ctxt": 0 }, "value": "foo", "optional": false } } } ] }, "alternate": null }, { "type": "IfStatement", "span": { "start": 4254, "end": 4289, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 4258, "end": 4263, "ctxt": 0 }, "value": "isBar", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 4265, "end": 4289, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 4275, "end": 4283, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 4275, "end": 4282, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4275, "end": 4278, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4279, "end": 4282, "ctxt": 0 }, "value": "bar", "optional": false } } } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 4356, "end": 4359, "ctxt": 0 }, "value": "f30", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 4360, "end": 4424, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4360, "end": 4424, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4363, "end": 4424, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 4365, "end": 4424, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 4365, "end": 4393, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 4367, "end": 4379, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4367, "end": 4371, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4371, "end": 4378, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 4373, "end": 4378, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 4373, "end": 4378, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 4380, "end": 4391, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4380, "end": 4383, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4383, "end": 4391, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4385, "end": 4391, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 4396, "end": 4424, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 4398, "end": 4410, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4398, "end": 4402, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4402, "end": 4409, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 4404, "end": 4409, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 4404, "end": 4409, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 4411, "end": 4422, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4411, "end": 4414, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4414, "end": 4422, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4416, "end": 4422, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } } } } ], "decorators": [], "span": { "start": 4347, "end": 4539, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 4426, "end": 4539, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 4432, "end": 4454, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4438, "end": 4453, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4438, "end": 4442, "ctxt": 0 }, "value": "kind", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 4445, "end": 4453, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4445, "end": 4448, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4449, "end": 4453, "ctxt": 0 }, "value": "kind", "optional": false } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 4459, "end": 4537, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 4463, "end": 4477, "ctxt": 0 }, "operator": "===", "left": { "type": "Identifier", "span": { "start": 4463, "end": 4467, "ctxt": 0 }, "value": "kind", "optional": false }, "right": { "type": "StringLiteral", "span": { "start": 4472, "end": 4477, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "consequent": { "type": "BlockStatement", "span": { "start": 4479, "end": 4503, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 4489, "end": 4497, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 4489, "end": 4496, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4489, "end": 4492, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4493, "end": 4496, "ctxt": 0 }, "value": "foo", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 4513, "end": 4537, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 4523, "end": 4531, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 4523, "end": 4530, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4523, "end": 4526, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4527, "end": 4530, "ctxt": 0 }, "value": "bar", "optional": false } } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 4550, "end": 4553, "ctxt": 0 }, "value": "f31", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 4554, "end": 4618, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4554, "end": 4618, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4557, "end": 4618, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 4559, "end": 4618, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 4559, "end": 4587, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 4561, "end": 4573, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4561, "end": 4565, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4565, "end": 4572, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 4567, "end": 4572, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 4567, "end": 4572, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 4574, "end": 4585, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4574, "end": 4577, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4577, "end": 4585, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4579, "end": 4585, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 4590, "end": 4618, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 4592, "end": 4604, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4592, "end": 4596, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4596, "end": 4603, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 4598, "end": 4603, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 4598, "end": 4603, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 4605, "end": 4616, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4605, "end": 4608, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4608, "end": 4616, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4610, "end": 4616, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } } } } ], "decorators": [], "span": { "start": 4541, "end": 4732, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 4620, "end": 4732, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 4626, "end": 4647, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4632, "end": 4646, "ctxt": 0 }, "id": { "type": "ObjectPattern", "span": { "start": 4632, "end": 4640, "ctxt": 0 }, "properties": [ { "type": "AssignmentPatternProperty", "span": { "start": 4634, "end": 4638, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 4634, "end": 4638, "ctxt": 0 }, "value": "kind", "optional": false }, "value": null } ], "optional": false, "typeAnnotation": null }, "init": { "type": "Identifier", "span": { "start": 4643, "end": 4646, "ctxt": 0 }, "value": "obj", "optional": false }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 4652, "end": 4730, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 4656, "end": 4670, "ctxt": 0 }, "operator": "===", "left": { "type": "Identifier", "span": { "start": 4656, "end": 4660, "ctxt": 0 }, "value": "kind", "optional": false }, "right": { "type": "StringLiteral", "span": { "start": 4665, "end": 4670, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "consequent": { "type": "BlockStatement", "span": { "start": 4672, "end": 4696, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 4682, "end": 4690, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 4682, "end": 4689, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4682, "end": 4685, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4686, "end": 4689, "ctxt": 0 }, "value": "foo", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 4706, "end": 4730, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 4716, "end": 4724, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 4716, "end": 4723, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4716, "end": 4719, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4720, "end": 4723, "ctxt": 0 }, "value": "bar", "optional": false } } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 4743, "end": 4746, "ctxt": 0 }, "value": "f32", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 4747, "end": 4811, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4747, "end": 4811, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4750, "end": 4811, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 4752, "end": 4811, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 4752, "end": 4780, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 4754, "end": 4766, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4754, "end": 4758, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4758, "end": 4765, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 4760, "end": 4765, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 4760, "end": 4765, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 4767, "end": 4778, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4767, "end": 4770, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4770, "end": 4778, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4772, "end": 4778, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 4783, "end": 4811, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 4785, "end": 4797, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4785, "end": 4789, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4789, "end": 4796, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 4791, "end": 4796, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 4791, "end": 4796, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 4798, "end": 4809, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4798, "end": 4801, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4801, "end": 4809, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4803, "end": 4809, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } } } } ], "decorators": [], "span": { "start": 4734, "end": 4925, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 4813, "end": 4925, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 4819, "end": 4843, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4825, "end": 4842, "ctxt": 0 }, "id": { "type": "ObjectPattern", "span": { "start": 4825, "end": 4836, "ctxt": 0 }, "properties": [ { "type": "KeyValuePatternProperty", "key": { "type": "Identifier", "span": { "start": 4827, "end": 4831, "ctxt": 0 }, "value": "kind", "optional": false }, "value": { "type": "Identifier", "span": { "start": 4833, "end": 4834, "ctxt": 0 }, "value": "k", "optional": false, "typeAnnotation": null } } ], "optional": false, "typeAnnotation": null }, "init": { "type": "Identifier", "span": { "start": 4839, "end": 4842, "ctxt": 0 }, "value": "obj", "optional": false }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 4848, "end": 4923, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 4852, "end": 4863, "ctxt": 0 }, "operator": "===", "left": { "type": "Identifier", "span": { "start": 4852, "end": 4853, "ctxt": 0 }, "value": "k", "optional": false }, "right": { "type": "StringLiteral", "span": { "start": 4858, "end": 4863, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "consequent": { "type": "BlockStatement", "span": { "start": 4865, "end": 4889, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 4875, "end": 4883, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 4875, "end": 4882, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4875, "end": 4878, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4879, "end": 4882, "ctxt": 0 }, "value": "foo", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 4899, "end": 4923, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 4909, "end": 4917, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 4909, "end": 4916, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4909, "end": 4912, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4913, "end": 4916, "ctxt": 0 }, "value": "bar", "optional": false } } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 4936, "end": 4939, "ctxt": 0 }, "value": "f33", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 4940, "end": 5004, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 4940, "end": 5004, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4943, "end": 5004, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 4945, "end": 5004, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 4945, "end": 4973, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 4947, "end": 4959, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4947, "end": 4951, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4951, "end": 4958, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 4953, "end": 4958, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 4953, "end": 4958, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 4960, "end": 4971, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4960, "end": 4963, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4963, "end": 4971, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4965, "end": 4971, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 4976, "end": 5004, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 4978, "end": 4990, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4978, "end": 4982, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4982, "end": 4989, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 4984, "end": 4989, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 4984, "end": 4989, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 4991, "end": 5002, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 4991, "end": 4994, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4994, "end": 5002, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4996, "end": 5002, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } } } } ], "decorators": [], "span": { "start": 4927, "end": 5133, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 5006, "end": 5133, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 5012, "end": 5033, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5018, "end": 5032, "ctxt": 0 }, "id": { "type": "ObjectPattern", "span": { "start": 5018, "end": 5026, "ctxt": 0 }, "properties": [ { "type": "AssignmentPatternProperty", "span": { "start": 5020, "end": 5024, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 5020, "end": 5024, "ctxt": 0 }, "value": "kind", "optional": false }, "value": null } ], "optional": false, "typeAnnotation": null }, "init": { "type": "Identifier", "span": { "start": 5029, "end": 5032, "ctxt": 0 }, "value": "obj", "optional": false }, "definite": false } ] }, { "type": "SwitchStatement", "span": { "start": 5038, "end": 5131, "ctxt": 0 }, "discriminant": { "type": "Identifier", "span": { "start": 5046, "end": 5050, "ctxt": 0 }, "value": "kind", "optional": false }, "cases": [ { "type": "SwitchCase", "span": { "start": 5062, "end": 5089, "ctxt": 0 }, "test": { "type": "StringLiteral", "span": { "start": 5067, "end": 5072, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "consequent": [ { "type": "ExpressionStatement", "span": { "start": 5074, "end": 5082, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 5074, "end": 5081, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5074, "end": 5077, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5078, "end": 5081, "ctxt": 0 }, "value": "foo", "optional": false } } }, { "type": "BreakStatement", "span": { "start": 5083, "end": 5089, "ctxt": 0 }, "label": null } ] }, { "type": "SwitchCase", "span": { "start": 5098, "end": 5125, "ctxt": 0 }, "test": { "type": "StringLiteral", "span": { "start": 5103, "end": 5108, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "consequent": [ { "type": "ExpressionStatement", "span": { "start": 5110, "end": 5118, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 5110, "end": 5117, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 5110, "end": 5113, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 5114, "end": 5117, "ctxt": 0 }, "value": "bar", "optional": false } } }, { "type": "BreakStatement", "span": { "start": 5119, "end": 5125, "ctxt": 0 }, "label": null } ] } ] } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 5142, "end": 5145, "ctxt": 0 }, "value": "C10", "optional": false }, "declare": false, "span": { "start": 5136, "end": 5433, "ctxt": 0 }, "decorators": [], "body": [ { "type": "Constructor", "span": { "start": 5152, "end": 5431, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 5152, "end": 5163, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "TsParameterProperty", "span": { "start": 5164, "end": 5191, "ctxt": 0 }, "decorators": [], "accessibility": null, "override": false, "readonly": true, "param": { "type": "Identifier", "span": { "start": 5173, "end": 5191, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5174, "end": 5191, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 5176, "end": 5191, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 5176, "end": 5182, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 5185, "end": 5191, "ctxt": 0 }, "kind": "number" } ] } } } } ], "body": { "type": "BlockStatement", "span": { "start": 5193, "end": 5431, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 5203, "end": 5253, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5209, "end": 5252, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5209, "end": 5223, "ctxt": 0 }, "value": "thisX_isString", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 5226, "end": 5252, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 5226, "end": 5239, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "MemberExpression", "span": { "start": 5233, "end": 5239, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 5233, "end": 5237, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 5238, "end": 5239, "ctxt": 0 }, "value": "x", "optional": false } } }, "right": { "type": "StringLiteral", "span": { "start": 5244, "end": 5252, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 5262, "end": 5302, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5268, "end": 5301, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5268, "end": 5277, "ctxt": 0 }, "value": "xIsString", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 5280, "end": 5301, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 5280, "end": 5288, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "Identifier", "span": { "start": 5287, "end": 5288, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 5293, "end": 5301, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 5311, "end": 5425, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 5315, "end": 5342, "ctxt": 0 }, "operator": "&&", "left": { "type": "Identifier", "span": { "start": 5315, "end": 5329, "ctxt": 0 }, "value": "thisX_isString", "optional": false }, "right": { "type": "Identifier", "span": { "start": 5333, "end": 5342, "ctxt": 0 }, "value": "xIsString", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 5344, "end": 5425, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 5358, "end": 5372, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5362, "end": 5371, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5362, "end": 5363, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5363, "end": 5371, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 5365, "end": 5371, "ctxt": 0 }, "kind": "string" } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 5385, "end": 5396, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5385, "end": 5395, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 5385, "end": 5386, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 5389, "end": 5395, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 5389, "end": 5393, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 5394, "end": 5395, "ctxt": 0 }, "value": "x", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 5409, "end": 5415, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5409, "end": 5414, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 5409, "end": 5410, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 5413, "end": 5414, "ctxt": 0 }, "value": "x", "optional": false } } } ] }, "alternate": null } ] }, "accessibility": null, "isOptional": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 5441, "end": 5444, "ctxt": 0 }, "value": "C11", "optional": false }, "declare": false, "span": { "start": 5435, "end": 5878, "ctxt": 0 }, "decorators": [], "body": [ { "type": "Constructor", "span": { "start": 5451, "end": 5876, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 5451, "end": 5462, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "TsParameterProperty", "span": { "start": 5463, "end": 5490, "ctxt": 0 }, "decorators": [], "accessibility": null, "override": false, "readonly": true, "param": { "type": "Identifier", "span": { "start": 5472, "end": 5490, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5473, "end": 5490, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 5475, "end": 5490, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 5475, "end": 5481, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 5484, "end": 5490, "ctxt": 0 }, "kind": "number" } ] } } } } ], "body": { "type": "BlockStatement", "span": { "start": 5492, "end": 5876, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 5502, "end": 5552, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5508, "end": 5551, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5508, "end": 5522, "ctxt": 0 }, "value": "thisX_isString", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 5525, "end": 5551, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 5525, "end": 5538, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "MemberExpression", "span": { "start": 5532, "end": 5538, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 5532, "end": 5536, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 5537, "end": 5538, "ctxt": 0 }, "value": "x", "optional": false } } }, "right": { "type": "StringLiteral", "span": { "start": 5543, "end": 5551, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 5561, "end": 5601, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5567, "end": 5600, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5567, "end": 5576, "ctxt": 0 }, "value": "xIsString", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 5579, "end": 5600, "ctxt": 0 }, "operator": "===", "left": { "type": "UnaryExpression", "span": { "start": 5579, "end": 5587, "ctxt": 0 }, "operator": "typeof", "argument": { "type": "Identifier", "span": { "start": 5586, "end": 5587, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 5592, "end": 5600, "ctxt": 0 }, "value": "string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 5610, "end": 5870, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 5614, "end": 5641, "ctxt": 0 }, "operator": "&&", "left": { "type": "Identifier", "span": { "start": 5614, "end": 5628, "ctxt": 0 }, "value": "thisX_isString", "optional": false }, "right": { "type": "Identifier", "span": { "start": 5632, "end": 5641, "ctxt": 0 }, "value": "xIsString", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 5643, "end": 5800, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 5733, "end": 5747, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 5737, "end": 5746, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 5737, "end": 5738, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5738, "end": 5746, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 5740, "end": 5746, "ctxt": 0 }, "kind": "string" } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 5760, "end": 5771, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5760, "end": 5770, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 5760, "end": 5761, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "right": { "type": "MemberExpression", "span": { "start": 5764, "end": 5770, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 5764, "end": 5768, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 5769, "end": 5770, "ctxt": 0 }, "value": "x", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 5784, "end": 5790, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5784, "end": 5789, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 5784, "end": 5785, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 5788, "end": 5789, "ctxt": 0 }, "value": "x", "optional": false } } } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 5814, "end": 5870, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 5828, "end": 5840, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5828, "end": 5839, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 5828, "end": 5834, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 5828, "end": 5832, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 5833, "end": 5834, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "NumericLiteral", "span": { "start": 5837, "end": 5839, "ctxt": 0 }, "value": 10.0 } } }, { "type": "ExpressionStatement", "span": { "start": 5853, "end": 5860, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 5853, "end": 5859, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 5853, "end": 5854, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 5857, "end": 5859, "ctxt": 0 }, "value": 10.0 } } } ] } } ] }, "accessibility": null, "isOptional": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 5942, "end": 5945, "ctxt": 0 }, "value": "f40", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 5946, "end": 6012, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 5946, "end": 6012, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5949, "end": 6012, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 5951, "end": 6012, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 5951, "end": 5980, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 5953, "end": 5965, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 5953, "end": 5957, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5957, "end": 5964, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 5959, "end": 5964, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 5959, "end": 5964, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 5966, "end": 5978, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 5966, "end": 5969, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5970, "end": 5978, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 5972, "end": 5978, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 5983, "end": 6012, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 5985, "end": 5997, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 5985, "end": 5989, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 5989, "end": 5996, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 5991, "end": 5996, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 5991, "end": 5996, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 5998, "end": 6010, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 5998, "end": 6001, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6002, "end": 6010, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 6004, "end": 6010, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } } } } ], "decorators": [], "span": { "start": 5933, "end": 6143, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 6014, "end": 6143, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 6020, "end": 6041, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6026, "end": 6040, "ctxt": 0 }, "id": { "type": "ObjectPattern", "span": { "start": 6026, "end": 6034, "ctxt": 0 }, "properties": [ { "type": "AssignmentPatternProperty", "span": { "start": 6028, "end": 6032, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 6028, "end": 6032, "ctxt": 0 }, "value": "kind", "optional": false }, "value": null } ], "optional": false, "typeAnnotation": null }, "init": { "type": "Identifier", "span": { "start": 6037, "end": 6040, "ctxt": 0 }, "value": "obj", "optional": false }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 6046, "end": 6074, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6052, "end": 6073, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6052, "end": 6057, "ctxt": 0 }, "value": "isFoo", "optional": false, "typeAnnotation": null }, "init": { "type": "BinaryExpression", "span": { "start": 6060, "end": 6073, "ctxt": 0 }, "operator": "==", "left": { "type": "Identifier", "span": { "start": 6060, "end": 6064, "ctxt": 0 }, "value": "kind", "optional": false }, "right": { "type": "StringLiteral", "span": { "start": 6068, "end": 6073, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 6079, "end": 6141, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 6083, "end": 6099, "ctxt": 0 }, "operator": "&&", "left": { "type": "Identifier", "span": { "start": 6083, "end": 6088, "ctxt": 0 }, "value": "isFoo", "optional": false }, "right": { "type": "MemberExpression", "span": { "start": 6092, "end": 6099, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6092, "end": 6095, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6096, "end": 6099, "ctxt": 0 }, "value": "foo", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 6101, "end": 6141, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 6111, "end": 6135, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6115, "end": 6134, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6115, "end": 6116, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6116, "end": 6124, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 6118, "end": 6124, "ctxt": 0 }, "kind": "string" } } }, "init": { "type": "MemberExpression", "span": { "start": 6127, "end": 6134, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6127, "end": 6130, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6131, "end": 6134, "ctxt": 0 }, "value": "foo", "optional": false } }, "definite": false } ] } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "TsTypeAliasDeclaration", "span": { "start": 6224, "end": 6304, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 6229, "end": 6233, "ctxt": 0 }, "value": "Data", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 6236, "end": 6303, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 6236, "end": 6268, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 6238, "end": 6250, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 6238, "end": 6242, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6242, "end": 6249, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 6244, "end": 6249, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 6244, "end": 6249, "ctxt": 0 }, "value": "str", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 6251, "end": 6266, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 6251, "end": 6258, "ctxt": 0 }, "value": "payload", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6258, "end": 6266, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 6260, "end": 6266, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 6271, "end": 6303, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 6273, "end": 6285, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 6273, "end": 6277, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6277, "end": 6284, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 6279, "end": 6284, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 6279, "end": 6284, "ctxt": 0 }, "value": "num", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 6286, "end": 6301, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 6286, "end": 6293, "ctxt": 0 }, "value": "payload", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6293, "end": 6301, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 6295, "end": 6301, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 6315, "end": 6318, "ctxt": 0 }, "value": "gg2", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 6319, "end": 6328, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 6319, "end": 6328, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6322, "end": 6328, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6324, "end": 6328, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6324, "end": 6328, "ctxt": 0 }, "value": "Data", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 6306, "end": 6460, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 6330, "end": 6460, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 6336, "end": 6458, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 6340, "end": 6358, "ctxt": 0 }, "operator": "===", "left": { "type": "MemberExpression", "span": { "start": 6340, "end": 6348, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6340, "end": 6343, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6344, "end": 6348, "ctxt": 0 }, "value": "kind", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 6353, "end": 6358, "ctxt": 0 }, "value": "str", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "consequent": { "type": "BlockStatement", "span": { "start": 6360, "end": 6404, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 6370, "end": 6398, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6374, "end": 6397, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6374, "end": 6375, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6375, "end": 6383, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 6377, "end": 6383, "ctxt": 0 }, "kind": "string" } } }, "init": { "type": "MemberExpression", "span": { "start": 6386, "end": 6397, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6386, "end": 6389, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6390, "end": 6397, "ctxt": 0 }, "value": "payload", "optional": false } }, "definite": false } ] } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 6414, "end": 6458, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 6424, "end": 6452, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6428, "end": 6451, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6428, "end": 6429, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6429, "end": 6437, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 6431, "end": 6437, "ctxt": 0 }, "kind": "number" } } }, "init": { "type": "MemberExpression", "span": { "start": 6440, "end": 6451, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6440, "end": 6443, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6444, "end": 6451, "ctxt": 0 }, "value": "payload", "optional": false } }, "definite": false } ] } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 6471, "end": 6474, "ctxt": 0 }, "value": "foo", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 6475, "end": 6498, "ctxt": 0 }, "decorators": [], "pat": { "type": "ObjectPattern", "span": { "start": 6475, "end": 6498, "ctxt": 0 }, "properties": [ { "type": "AssignmentPatternProperty", "span": { "start": 6477, "end": 6481, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 6477, "end": 6481, "ctxt": 0 }, "value": "kind", "optional": false }, "value": null }, { "type": "AssignmentPatternProperty", "span": { "start": 6483, "end": 6490, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 6483, "end": 6490, "ctxt": 0 }, "value": "payload", "optional": false }, "value": null } ], "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6492, "end": 6498, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 6494, "end": 6498, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 6494, "end": 6498, "ctxt": 0 }, "value": "Data", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 6462, "end": 6618, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 6500, "end": 6618, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 6506, "end": 6616, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 6510, "end": 6524, "ctxt": 0 }, "operator": "===", "left": { "type": "Identifier", "span": { "start": 6510, "end": 6514, "ctxt": 0 }, "value": "kind", "optional": false }, "right": { "type": "StringLiteral", "span": { "start": 6519, "end": 6524, "ctxt": 0 }, "value": "str", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, "consequent": { "type": "BlockStatement", "span": { "start": 6526, "end": 6566, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 6536, "end": 6560, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6540, "end": 6559, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6540, "end": 6541, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6541, "end": 6549, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 6543, "end": 6549, "ctxt": 0 }, "kind": "string" } } }, "init": { "type": "Identifier", "span": { "start": 6552, "end": 6559, "ctxt": 0 }, "value": "payload", "optional": false }, "definite": false } ] } ] }, "alternate": { "type": "BlockStatement", "span": { "start": 6576, "end": 6616, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 6586, "end": 6610, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6590, "end": 6609, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6590, "end": 6591, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 6591, "end": 6599, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 6593, "end": 6599, "ctxt": 0 }, "kind": "number" } } }, "init": { "type": "Identifier", "span": { "start": 6602, "end": 6609, "ctxt": 0 }, "value": "payload", "optional": false }, "definite": false } ] } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "VariableDeclaration", "span": { "start": 6642, "end": 6677, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6648, "end": 6676, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6648, "end": 6651, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": null }, "init": { "type": "ObjectExpression", "span": { "start": 6654, "end": 6676, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 6660, "end": 6662, "ctxt": 0 }, "value": "fn", "optional": false }, "value": { "type": "ArrowFunctionExpression", "span": { "start": 6664, "end": 6674, "ctxt": 0 }, "params": [], "body": { "type": "BooleanLiteral", "span": { "start": 6670, "end": 6674, "ctxt": 0 }, "value": true }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ] }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 6679, "end": 6689, "ctxt": 0 }, "test": { "type": "Identifier", "span": { "start": 6683, "end": 6684, "ctxt": 0 }, "value": "a", "optional": false }, "consequent": { "type": "BlockStatement", "span": { "start": 6686, "end": 6689, "ctxt": 0 }, "stmts": [] }, "alternate": null }, { "type": "VariableDeclaration", "span": { "start": 6691, "end": 6710, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 6697, "end": 6709, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 6697, "end": 6698, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 6701, "end": 6709, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 6701, "end": 6707, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 6701, "end": 6704, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 6705, "end": 6707, "ctxt": 0 }, "value": "fn", "optional": false } }, "arguments": [], "typeArguments": null }, "definite": false } ] } ], "interpreter": null }