{ "type": "Script", "span": { "start": 19, "end": 937, "ctxt": 0 }, "body": [ { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 28, "end": 30, "ctxt": 0 }, "value": "f1", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 31, "end": 50, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 31, "end": 50, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 34, "end": 50, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 36, "end": 50, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 38, "end": 48, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 38, "end": 39, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 40, "end": 48, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 42, "end": 48, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } } } ], "decorators": [], "span": { "start": 19, "end": 193, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 52, "end": 193, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 58, "end": 191, "ctxt": 0 }, "test": { "type": "MemberExpression", "span": { "start": 62, "end": 67, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 62, "end": 65, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 66, "end": 67, "ctxt": 0 }, "value": "a", "optional": false } }, "consequent": { "type": "BlockStatement", "span": { "start": 69, "end": 191, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 79, "end": 88, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 79, "end": 87, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 79, "end": 82, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": null }, "right": { "type": "ObjectExpression", "span": { "start": 85, "end": 87, "ctxt": 0 }, "properties": [] } } }, { "type": "VariableDeclaration", "span": { "start": 97, "end": 115, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 101, "end": 114, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 101, "end": 103, "ctxt": 0 }, "value": "a1", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 106, "end": 114, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 106, "end": 109, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 109, "end": 114, "ctxt": 0 }, "expression": { "type": "StringLiteral", "span": { "start": 110, "end": 113, "ctxt": 0 }, "value": "a", "raw": "\"a\"" } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 147, "end": 162, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 151, "end": 161, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 151, "end": 153, "ctxt": 0 }, "value": "a2", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 156, "end": 161, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 156, "end": 159, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 160, "end": 161, "ctxt": 0 }, "value": "a", "optional": false } }, "definite": false } ] } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 204, "end": 206, "ctxt": 0 }, "value": "f2", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 207, "end": 237, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 207, "end": 237, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 210, "end": 237, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 212, "end": 237, "ctxt": 0 }, "types": [ { "type": "TsTupleType", "span": { "start": 212, "end": 228, "ctxt": 0 }, "elemTypes": [ { "type": "TsTupleElement", "span": { "start": 213, "end": 219, "ctxt": 0 }, "label": null, "ty": { "type": "TsKeywordType", "span": { "start": 213, "end": 219, "ctxt": 0 }, "kind": "number" } }, { "type": "TsTupleElement", "span": { "start": 221, "end": 227, "ctxt": 0 }, "label": null, "ty": { "type": "TsKeywordType", "span": { "start": 221, "end": 227, "ctxt": 0 }, "kind": "string" } } ] }, { "type": "TsArrayType", "span": { "start": 231, "end": 237, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 231, "end": 235, "ctxt": 0 }, "kind": "null" } } ] } } } } ], "decorators": [], "span": { "start": 195, "end": 526, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 239, "end": 526, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 245, "end": 261, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 249, "end": 260, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 249, "end": 251, "ctxt": 0 }, "value": "a0", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 254, "end": 260, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 254, "end": 257, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 257, "end": 260, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 258, "end": 259, "ctxt": 0 }, "value": 0.0, "raw": "0" } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 284, "end": 300, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 288, "end": 299, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 288, "end": 290, "ctxt": 0 }, "value": "a1", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 293, "end": 299, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 293, "end": 296, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 296, "end": 299, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 297, "end": 298, "ctxt": 0 }, "value": 1.0, "raw": "1" } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 323, "end": 342, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 327, "end": 341, "ctxt": 0 }, "id": { "type": "ArrayPattern", "span": { "start": 327, "end": 335, "ctxt": 0 }, "elements": [ { "type": "Identifier", "span": { "start": 328, "end": 330, "ctxt": 0 }, "value": "b0", "optional": false, "typeAnnotation": null }, { "type": "Identifier", "span": { "start": 332, "end": 334, "ctxt": 0 }, "value": "b1", "optional": false, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null }, "init": { "type": "Identifier", "span": { "start": 338, "end": 341, "ctxt": 0 }, "value": "obj", "optional": false }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 347, "end": 364, "ctxt": 0 }, "expression": { "type": "ParenthesisExpression", "span": { "start": 347, "end": 363, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 348, "end": 362, "ctxt": 0 }, "operator": "=", "left": { "type": "ArrayPattern", "span": { "start": 348, "end": 356, "ctxt": 0 }, "elements": [ { "type": "Identifier", "span": { "start": 349, "end": 351, "ctxt": 0 }, "value": "a0", "optional": false, "typeAnnotation": null }, { "type": "Identifier", "span": { "start": 353, "end": 355, "ctxt": 0 }, "value": "a1", "optional": false, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 359, "end": 362, "ctxt": 0 }, "value": "obj", "optional": false } } } }, { "type": "IfStatement", "span": { "start": 369, "end": 524, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 373, "end": 389, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 373, "end": 379, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 373, "end": 376, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 376, "end": 379, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 377, "end": 378, "ctxt": 0 }, "value": 0.0, "raw": "0" } } }, "right": { "type": "MemberExpression", "span": { "start": 383, "end": 389, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 383, "end": 386, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 386, "end": 389, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 387, "end": 388, "ctxt": 0 }, "value": 1.0, "raw": "1" } } } }, "consequent": { "type": "BlockStatement", "span": { "start": 391, "end": 524, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 401, "end": 417, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 405, "end": 416, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 405, "end": 407, "ctxt": 0 }, "value": "c0", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 410, "end": 416, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 410, "end": 413, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 413, "end": 416, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 414, "end": 415, "ctxt": 0 }, "value": 0.0, "raw": "0" } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 437, "end": 453, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 441, "end": 452, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 441, "end": 443, "ctxt": 0 }, "value": "c1", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 446, "end": 452, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 446, "end": 449, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 449, "end": 452, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 450, "end": 451, "ctxt": 0 }, "value": 1.0, "raw": "1" } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 473, "end": 492, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 477, "end": 491, "ctxt": 0 }, "id": { "type": "ArrayPattern", "span": { "start": 477, "end": 485, "ctxt": 0 }, "elements": [ { "type": "Identifier", "span": { "start": 478, "end": 480, "ctxt": 0 }, "value": "d0", "optional": false, "typeAnnotation": null }, { "type": "Identifier", "span": { "start": 482, "end": 484, "ctxt": 0 }, "value": "d1", "optional": false, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null }, "init": { "type": "Identifier", "span": { "start": 488, "end": 491, "ctxt": 0 }, "value": "obj", "optional": false }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 501, "end": 518, "ctxt": 0 }, "expression": { "type": "ParenthesisExpression", "span": { "start": 501, "end": 517, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 502, "end": 516, "ctxt": 0 }, "operator": "=", "left": { "type": "ArrayPattern", "span": { "start": 502, "end": 510, "ctxt": 0 }, "elements": [ { "type": "Identifier", "span": { "start": 503, "end": 505, "ctxt": 0 }, "value": "c0", "optional": false, "typeAnnotation": null }, { "type": "Identifier", "span": { "start": 507, "end": 509, "ctxt": 0 }, "value": "c1", "optional": false, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 513, "end": 516, "ctxt": 0 }, "value": "obj", "optional": false } } } } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 537, "end": 539, "ctxt": 0 }, "value": "f3", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 540, "end": 571, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 540, "end": 571, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 543, "end": 571, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 545, "end": 571, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 547, "end": 558, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 547, "end": 548, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 549, "end": 557, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 551, "end": 557, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 559, "end": 569, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 559, "end": 560, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 561, "end": 569, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 563, "end": 569, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } } } ], "decorators": [], "span": { "start": 528, "end": 681, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 573, "end": 681, "ctxt": 0 }, "stmts": [ { "type": "IfStatement", "span": { "start": 579, "end": 679, "ctxt": 0 }, "test": { "type": "BinaryExpression", "span": { "start": 583, "end": 597, "ctxt": 0 }, "operator": "&&", "left": { "type": "MemberExpression", "span": { "start": 583, "end": 588, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 583, "end": 586, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 587, "end": 588, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "MemberExpression", "span": { "start": 592, "end": 597, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 592, "end": 595, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 596, "end": 597, "ctxt": 0 }, "value": "b", "optional": false } } }, "consequent": { "type": "BlockStatement", "span": { "start": 599, "end": 679, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 609, "end": 628, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 613, "end": 627, "ctxt": 0 }, "id": { "type": "ObjectPattern", "span": { "start": 613, "end": 621, "ctxt": 0 }, "properties": [ { "type": "AssignmentPatternProperty", "span": { "start": 615, "end": 616, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 615, "end": 616, "ctxt": 0 }, "value": "a", "optional": false }, "value": null }, { "type": "AssignmentPatternProperty", "span": { "start": 618, "end": 619, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 618, "end": 619, "ctxt": 0 }, "value": "b", "optional": false }, "value": null } ], "optional": false, "typeAnnotation": null }, "init": { "type": "Identifier", "span": { "start": 624, "end": 627, "ctxt": 0 }, "value": "obj", "optional": false }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 656, "end": 673, "ctxt": 0 }, "expression": { "type": "ParenthesisExpression", "span": { "start": 656, "end": 672, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 657, "end": 671, "ctxt": 0 }, "operator": "=", "left": { "type": "ObjectPattern", "span": { "start": 657, "end": 665, "ctxt": 0 }, "properties": [ { "type": "AssignmentPatternProperty", "span": { "start": 659, "end": 660, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 659, "end": 660, "ctxt": 0 }, "value": "a", "optional": false }, "value": null }, { "type": "AssignmentPatternProperty", "span": { "start": 662, "end": 663, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 662, "end": 663, "ctxt": 0 }, "value": "b", "optional": false }, "value": null } ], "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 668, "end": 671, "ctxt": 0 }, "value": "obj", "optional": false } } } } ] }, "alternate": null } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 692, "end": 694, "ctxt": 0 }, "value": "f4", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 683, "end": 820, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 697, "end": 820, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 703, "end": 718, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 707, "end": 717, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 707, "end": 708, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 708, "end": 717, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 710, "end": 717, "ctxt": 0 }, "kind": "boolean" } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 723, "end": 735, "ctxt": 0 }, "expression": { "type": "ParenthesisExpression", "span": { "start": 723, "end": 734, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 724, "end": 733, "ctxt": 0 }, "operator": "=", "left": { "type": "ObjectPattern", "span": { "start": 724, "end": 729, "ctxt": 0 }, "properties": [ { "type": "AssignmentPatternProperty", "span": { "start": 726, "end": 727, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 726, "end": 727, "ctxt": 0 }, "value": "x", "optional": false }, "value": null } ], "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 732, "end": 733, "ctxt": 0 }, "value": 0.0, "raw": "0" } } } }, { "type": "ExpressionStatement", "span": { "start": 750, "end": 769, "ctxt": 0 }, "expression": { "type": "ParenthesisExpression", "span": { "start": 750, "end": 768, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 751, "end": 767, "ctxt": 0 }, "operator": "=", "left": { "type": "ObjectPattern", "span": { "start": 751, "end": 763, "ctxt": 0 }, "properties": [ { "type": "KeyValuePatternProperty", "key": { "type": "Computed", "span": { "start": 753, "end": 758, "ctxt": 0 }, "expression": { "type": "StringLiteral", "span": { "start": 754, "end": 757, "ctxt": 0 }, "value": "x", "raw": "\"x\"" } }, "value": { "type": "Identifier", "span": { "start": 760, "end": 761, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null } } ], "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 766, "end": 767, "ctxt": 0 }, "value": 0.0, "raw": "0" } } } }, { "type": "ExpressionStatement", "span": { "start": 784, "end": 808, "ctxt": 0 }, "expression": { "type": "ParenthesisExpression", "span": { "start": 784, "end": 807, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 785, "end": 806, "ctxt": 0 }, "operator": "=", "left": { "type": "ObjectPattern", "span": { "start": 785, "end": 802, "ctxt": 0 }, "properties": [ { "type": "KeyValuePatternProperty", "key": { "type": "Computed", "span": { "start": 787, "end": 797, "ctxt": 0 }, "expression": { "type": "BinaryExpression", "span": { "start": 788, "end": 796, "ctxt": 0 }, "operator": "+", "left": { "type": "StringLiteral", "span": { "start": 788, "end": 791, "ctxt": 0 }, "value": "x", "raw": "\"x\"" }, "right": { "type": "StringLiteral", "span": { "start": 794, "end": 796, "ctxt": 0 }, "value": "", "raw": "\"\"" } } }, "value": { "type": "Identifier", "span": { "start": 799, "end": 800, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null } } ], "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 805, "end": 806, "ctxt": 0 }, "value": 0.0, "raw": "0" } } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "TsTypeAliasDeclaration", "span": { "start": 844, "end": 878, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 849, "end": 857, "ctxt": 0 }, "value": "KeyValue", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTupleType", "span": { "start": 860, "end": 877, "ctxt": 0 }, "elemTypes": [ { "type": "TsTupleElement", "span": { "start": 861, "end": 867, "ctxt": 0 }, "label": null, "ty": { "type": "TsKeywordType", "span": { "start": 861, "end": 867, "ctxt": 0 }, "kind": "string" } }, { "type": "TsTupleElement", "span": { "start": 869, "end": 876, "ctxt": 0 }, "label": null, "ty": { "type": "TsOptionalType", "span": { "start": 869, "end": 876, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 869, "end": 875, "ctxt": 0 }, "kind": "string" } } } ] } }, { "type": "VariableDeclaration", "span": { "start": 879, "end": 916, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 883, "end": 915, "ctxt": 0 }, "id": { "type": "ArrayPattern", "span": { "start": 883, "end": 895, "ctxt": 0 }, "elements": [ { "type": "Identifier", "span": { "start": 884, "end": 887, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": null }, { "type": "Identifier", "span": { "start": 889, "end": 894, "ctxt": 0 }, "value": "value", "optional": false, "typeAnnotation": null } ], "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 895, "end": 905, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 897, "end": 905, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 897, "end": 905, "ctxt": 0 }, "value": "KeyValue", "optional": false }, "typeParams": null } } }, "init": { "type": "ArrayExpression", "span": { "start": 908, "end": 915, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 909, "end": 914, "ctxt": 0 }, "value": "foo", "raw": "\"foo\"" } } ] }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 917, "end": 937, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 917, "end": 936, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 917, "end": 934, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 917, "end": 922, "ctxt": 0 }, "value": "value", "optional": false }, "property": { "type": "Identifier", "span": { "start": 923, "end": 934, "ctxt": 0 }, "value": "toUpperCase", "optional": false } }, "arguments": [], "typeArguments": null } } ], "interpreter": null }