{ "type": "Script", "span": { "start": 251, "end": 1370, "ctxt": 0 }, "body": [ { "type": "TsTypeAliasDeclaration", "span": { "start": 251, "end": 283, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 256, "end": 267, "ctxt": 0 }, "value": "arrayString", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 270, "end": 283, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 270, "end": 275, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 275, "end": 283, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 276, "end": 282, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 276, "end": 282, "ctxt": 0 }, "value": "String", "optional": false }, "typeParams": null } ] } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 284, "end": 326, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 289, "end": 298, "ctxt": 0 }, "value": "someArray", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 301, "end": 325, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 301, "end": 314, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 301, "end": 306, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 306, "end": 314, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 307, "end": 313, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 307, "end": 313, "ctxt": 0 }, "value": "String", "optional": false }, "typeParams": null } ] } }, { "type": "TsArrayType", "span": { "start": 317, "end": 325, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 317, "end": 323, "ctxt": 0 }, "kind": "number" } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 327, "end": 372, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 332, "end": 348, "ctxt": 0 }, "value": "stringOrNumArray", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 351, "end": 371, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 351, "end": 356, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 356, "end": 371, "ctxt": 0 }, "params": [ { "type": "TsUnionType", "span": { "start": 357, "end": 370, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 357, "end": 363, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 357, "end": 363, "ctxt": 0 }, "value": "String", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 364, "end": 370, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 364, "end": 370, "ctxt": 0 }, "value": "Number", "optional": false }, "typeParams": null } ] } ] } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 383, "end": 385, "ctxt": 0 }, "value": "a1", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 386, "end": 409, "ctxt": 0 }, "decorators": [], "pat": { "type": "RestElement", "span": { "start": 386, "end": 409, "ctxt": 0 }, "rest": { "start": 386, "end": 389, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 389, "end": 390, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 390, "end": 409, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 392, "end": 409, "ctxt": 0 }, "elemType": { "type": "TsParenthesizedType", "span": { "start": 392, "end": 407, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 393, "end": 406, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 393, "end": 399, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 400, "end": 406, "ctxt": 0 }, "kind": "string" } ] } } } } } } ], "decorators": [], "span": { "start": 374, "end": 414, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 411, "end": 414, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 424, "end": 426, "ctxt": 0 }, "value": "a2", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 427, "end": 431, "ctxt": 0 }, "decorators": [], "pat": { "type": "RestElement", "span": { "start": 427, "end": 431, "ctxt": 0 }, "rest": { "start": 427, "end": 430, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 430, "end": 431, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "typeAnnotation": null } } ], "decorators": [], "span": { "start": 415, "end": 436, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 433, "end": 436, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 446, "end": 448, "ctxt": 0 }, "value": "a3", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 449, "end": 468, "ctxt": 0 }, "decorators": [], "pat": { "type": "RestElement", "span": { "start": 449, "end": 468, "ctxt": 0 }, "rest": { "start": 449, "end": 452, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 452, "end": 453, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 453, "end": 468, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 455, "end": 468, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 455, "end": 460, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 460, "end": 468, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 461, "end": 467, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 461, "end": 467, "ctxt": 0 }, "value": "String", "optional": false }, "typeParams": null } ] } } } } } ], "decorators": [], "span": { "start": 437, "end": 473, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 470, "end": 473, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 483, "end": 485, "ctxt": 0 }, "value": "a4", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 486, "end": 503, "ctxt": 0 }, "decorators": [], "pat": { "type": "RestElement", "span": { "start": 486, "end": 503, "ctxt": 0 }, "rest": { "start": 486, "end": 489, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 489, "end": 490, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 490, "end": 503, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 492, "end": 503, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 492, "end": 503, "ctxt": 0 }, "value": "arrayString", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 474, "end": 508, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 505, "end": 508, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 518, "end": 520, "ctxt": 0 }, "value": "a5", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 521, "end": 543, "ctxt": 0 }, "decorators": [], "pat": { "type": "RestElement", "span": { "start": 521, "end": 543, "ctxt": 0 }, "rest": { "start": 521, "end": 524, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 524, "end": 525, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 525, "end": 543, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 527, "end": 543, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 527, "end": 543, "ctxt": 0 }, "value": "stringOrNumArray", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 509, "end": 548, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 545, "end": 548, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 558, "end": 560, "ctxt": 0 }, "value": "a9", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 561, "end": 574, "ctxt": 0 }, "decorators": [], "pat": { "type": "ArrayPattern", "span": { "start": 561, "end": 574, "ctxt": 0 }, "elements": [ { "type": "Identifier", "span": { "start": 562, "end": 563, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, { "type": "Identifier", "span": { "start": 565, "end": 566, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, { "type": "ArrayPattern", "span": { "start": 568, "end": 573, "ctxt": 0 }, "elements": [ { "type": "ArrayPattern", "span": { "start": 569, "end": 572, "ctxt": 0 }, "elements": [ { "type": "Identifier", "span": { "start": 570, "end": 571, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null } } ], "decorators": [], "span": { "start": 549, "end": 579, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 576, "end": 579, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 589, "end": 592, "ctxt": 0 }, "value": "a10", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 593, "end": 612, "ctxt": 0 }, "decorators": [], "pat": { "type": "ArrayPattern", "span": { "start": 593, "end": 612, "ctxt": 0 }, "elements": [ { "type": "Identifier", "span": { "start": 594, "end": 595, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, { "type": "Identifier", "span": { "start": 597, "end": 598, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, { "type": "ArrayPattern", "span": { "start": 600, "end": 605, "ctxt": 0 }, "elements": [ { "type": "ArrayPattern", "span": { "start": 601, "end": 604, "ctxt": 0 }, "elements": [ { "type": "Identifier", "span": { "start": 602, "end": 603, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null }, { "type": "RestElement", "span": { "start": 607, "end": 611, "ctxt": 0 }, "rest": { "start": 607, "end": 610, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 610, "end": 611, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null } } ], "decorators": [], "span": { "start": 580, "end": 617, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 614, "end": 617, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 627, "end": 630, "ctxt": 0 }, "value": "a11", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 631, "end": 656, "ctxt": 0 }, "decorators": [], "pat": { "type": "ArrayPattern", "span": { "start": 631, "end": 656, "ctxt": 0 }, "elements": [ { "type": "Identifier", "span": { "start": 632, "end": 633, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, { "type": "Identifier", "span": { "start": 635, "end": 636, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, { "type": "Identifier", "span": { "start": 638, "end": 639, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null }, { "type": "RestElement", "span": { "start": 641, "end": 645, "ctxt": 0 }, "rest": { "start": 641, "end": 644, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 644, "end": 645, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "typeAnnotation": null } ], "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 646, "end": 656, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 648, "end": 656, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 648, "end": 654, "ctxt": 0 }, "kind": "number" } } } } } ], "decorators": [], "span": { "start": 618, "end": 661, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 658, "end": 661, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "VariableDeclaration", "span": { "start": 664, "end": 686, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 668, "end": 685, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 668, "end": 673, "ctxt": 0 }, "value": "array", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 676, "end": 685, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 677, "end": 678, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 680, "end": 681, "ctxt": 0 }, "value": 2.0, "raw": "2" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 683, "end": 684, "ctxt": 0 }, "value": 3.0, "raw": "3" } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 687, "end": 723, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 691, "end": 722, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 691, "end": 697, "ctxt": 0 }, "value": "array2", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrayExpression", "span": { "start": 700, "end": 722, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 701, "end": 705, "ctxt": 0 }, "value": true } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 707, "end": 712, "ctxt": 0 }, "value": false } }, { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 714, "end": 721, "ctxt": 0 }, "value": "hello", "raw": "\"hello\"" } } ] }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 724, "end": 739, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 724, "end": 738, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 724, "end": 726, "ctxt": 0 }, "value": "a2", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 727, "end": 737, "ctxt": 0 }, "elements": [ { "spread": { "start": 728, "end": 731, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 731, "end": 736, "ctxt": 0 }, "value": "array", "optional": false } } ] } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 740, "end": 753, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 740, "end": 752, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 740, "end": 742, "ctxt": 0 }, "value": "a1", "optional": false }, "arguments": [ { "spread": { "start": 743, "end": 746, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 746, "end": 751, "ctxt": 0 }, "value": "array", "optional": false } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 755, "end": 793, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 755, "end": 792, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 755, "end": 757, "ctxt": 0 }, "value": "a9", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 758, "end": 791, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 759, "end": 760, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 762, "end": 763, "ctxt": 0 }, "value": 2.0, "raw": "2" } }, { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 765, "end": 777, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 766, "end": 776, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 767, "end": 775, "ctxt": 0 }, "value": "string", "raw": "\"string\"" } } ] } } ] } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 779, "end": 784, "ctxt": 0 }, "value": false } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 786, "end": 790, "ctxt": 0 }, "value": true } } ] } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 838, "end": 877, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 838, "end": 876, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 838, "end": 841, "ctxt": 0 }, "value": "a10", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 842, "end": 875, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 843, "end": 844, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 846, "end": 847, "ctxt": 0 }, "value": 2.0, "raw": "2" } }, { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 849, "end": 861, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 850, "end": 860, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 851, "end": 859, "ctxt": 0 }, "value": "string", "raw": "\"string\"" } } ] } } ] } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 863, "end": 868, "ctxt": 0 }, "value": false } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 870, "end": 874, "ctxt": 0 }, "value": true } } ] } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 907, "end": 935, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 907, "end": 934, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 907, "end": 910, "ctxt": 0 }, "value": "a10", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 911, "end": 933, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 912, "end": 913, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 915, "end": 916, "ctxt": 0 }, "value": 2.0, "raw": "2" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 918, "end": 919, "ctxt": 0 }, "value": 3.0, "raw": "3" } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 921, "end": 926, "ctxt": 0 }, "value": false } }, { "spread": null, "expression": { "type": "BooleanLiteral", "span": { "start": 928, "end": 932, "ctxt": 0 }, "value": true } } ] } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 976, "end": 988, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 976, "end": 987, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 976, "end": 979, "ctxt": 0 }, "value": "a10", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 980, "end": 986, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 981, "end": 982, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 984, "end": 985, "ctxt": 0 }, "value": 2.0, "raw": "2" } } ] } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 1045, "end": 1057, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 1045, "end": 1056, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1045, "end": 1048, "ctxt": 0 }, "value": "a11", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "ArrayExpression", "span": { "start": 1049, "end": 1055, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1050, "end": 1051, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1053, "end": 1054, "ctxt": 0 }, "value": 2.0, "raw": "2" } } ] } } ], "typeArguments": null } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1158, "end": 1161, "ctxt": 0 }, "value": "foo", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1165, "end": 1174, "ctxt": 0 }, "decorators": [], "pat": { "type": "RestElement", "span": { "start": 1165, "end": 1174, "ctxt": 0 }, "rest": { "start": 1165, "end": 1168, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 1168, "end": 1169, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1169, "end": 1174, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1171, "end": 1174, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 1171, "end": 1172, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1171, "end": 1172, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } ], "decorators": [], "span": { "start": 1149, "end": 1179, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1176, "end": 1179, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 1161, "end": 1164, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1162, "end": 1163, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1162, "end": 1163, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "returnType": null }, { "type": "ExpressionStatement", "span": { "start": 1180, "end": 1214, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 1180, "end": 1213, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1180, "end": 1183, "ctxt": 0 }, "value": "foo", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 1199, "end": 1206, "ctxt": 0 }, "value": "hello", "raw": "\"hello\"" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1208, "end": 1209, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1211, "end": 1212, "ctxt": 0 }, "value": 2.0, "raw": "2" } } ], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1183, "end": 1198, "ctxt": 0 }, "params": [ { "type": "TsUnionType", "span": { "start": 1184, "end": 1197, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 1184, "end": 1190, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 1191, "end": 1197, "ctxt": 0 }, "kind": "string" } ] } ] } } }, { "type": "ExpressionStatement", "span": { "start": 1215, "end": 1237, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 1215, "end": 1236, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1215, "end": 1218, "ctxt": 0 }, "value": "foo", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 1219, "end": 1226, "ctxt": 0 }, "value": "hello", "raw": "\"hello\"" } }, { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 1228, "end": 1235, "ctxt": 0 }, "value": "world", "raw": "\"world\"" } } ], "typeArguments": null } }, { "type": "TsEnumDeclaration", "span": { "start": 1239, "end": 1254, "ctxt": 0 }, "declare": false, "isConst": false, "id": { "type": "Identifier", "span": { "start": 1244, "end": 1245, "ctxt": 0 }, "value": "E", "optional": false }, "members": [ { "type": "TsEnumMember", "span": { "start": 1248, "end": 1249, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1248, "end": 1249, "ctxt": 0 }, "value": "a", "optional": false }, "init": null }, { "type": "TsEnumMember", "span": { "start": 1251, "end": 1252, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1251, "end": 1252, "ctxt": 0 }, "value": "b", "optional": false }, "init": null } ] }, { "type": "TsEnumDeclaration", "span": { "start": 1255, "end": 1277, "ctxt": 0 }, "declare": false, "isConst": true, "id": { "type": "Identifier", "span": { "start": 1266, "end": 1268, "ctxt": 0 }, "value": "E1", "optional": false }, "members": [ { "type": "TsEnumMember", "span": { "start": 1271, "end": 1272, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1271, "end": 1272, "ctxt": 0 }, "value": "a", "optional": false }, "init": null }, { "type": "TsEnumMember", "span": { "start": 1274, "end": 1275, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1274, "end": 1275, "ctxt": 0 }, "value": "b", "optional": false }, "init": null } ] }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1287, "end": 1291, "ctxt": 0 }, "value": "foo1", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1310, "end": 1319, "ctxt": 0 }, "decorators": [], "pat": { "type": "RestElement", "span": { "start": 1310, "end": 1319, "ctxt": 0 }, "rest": { "start": 1310, "end": 1313, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 1313, "end": 1314, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1314, "end": 1319, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1316, "end": 1319, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 1316, "end": 1317, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1316, "end": 1317, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } ], "decorators": [], "span": { "start": 1278, "end": 1324, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1321, "end": 1324, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 1291, "end": 1309, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1292, "end": 1308, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1292, "end": 1293, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": { "type": "TsTypeReference", "span": { "start": 1302, "end": 1308, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1302, "end": 1308, "ctxt": 0 }, "value": "Number", "optional": false }, "typeParams": null }, "default": null } ] }, "returnType": null }, { "type": "ExpressionStatement", "span": { "start": 1325, "end": 1344, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 1325, "end": 1343, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1325, "end": 1329, "ctxt": 0 }, "value": "foo1", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1330, "end": 1331, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1333, "end": 1334, "ctxt": 0 }, "value": 2.0, "raw": "2" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1336, "end": 1337, "ctxt": 0 }, "value": 3.0, "raw": "3" } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 1339, "end": 1342, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1339, "end": 1340, "ctxt": 0 }, "value": "E", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1341, "end": 1342, "ctxt": 0 }, "value": "a", "optional": false } } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 1345, "end": 1370, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 1345, "end": 1369, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1345, "end": 1349, "ctxt": 0 }, "value": "foo1", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1350, "end": 1351, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1353, "end": 1354, "ctxt": 0 }, "value": 2.0, "raw": "2" } }, { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 1356, "end": 1357, "ctxt": 0 }, "value": 3.0, "raw": "3" } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 1359, "end": 1363, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1359, "end": 1361, "ctxt": 0 }, "value": "E1", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1362, "end": 1363, "ctxt": 0 }, "value": "a", "optional": false } } }, { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 1365, "end": 1368, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1365, "end": 1366, "ctxt": 0 }, "value": "E", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1367, "end": 1368, "ctxt": 0 }, "value": "b", "optional": false } } } ], "typeArguments": null } } ], "interpreter": null }