{ "type": "Script", "span": { "start": 16, "end": 591, "ctxt": 0 }, "body": [ { "type": "VariableDeclaration", "span": { "start": 16, "end": 34, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 20, "end": 34, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 20, "end": 22, "ctxt": 0 }, "value": "f1", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 25, "end": 34, "ctxt": 0 }, "params": [], "body": { "type": "BlockStatement", "span": { "start": 31, "end": 34, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 35, "end": 73, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 39, "end": 73, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 39, "end": 41, "ctxt": 0 }, "value": "f2", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 44, "end": 73, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 45, "end": 54, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 46, "end": 54, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 48, "end": 54, "ctxt": 0 }, "kind": "string" } } }, { "type": "Identifier", "span": { "start": 56, "end": 65, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 57, "end": 65, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 59, "end": 65, "ctxt": 0 }, "kind": "string" } } } ], "body": { "type": "BlockStatement", "span": { "start": 70, "end": 73, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 74, "end": 121, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 78, "end": 121, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 78, "end": 80, "ctxt": 0 }, "value": "f3", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 83, "end": 121, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 84, "end": 93, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 85, "end": 93, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 87, "end": 93, "ctxt": 0 }, "kind": "string" } } }, { "type": "Identifier", "span": { "start": 95, "end": 104, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 96, "end": 104, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 98, "end": 104, "ctxt": 0 }, "kind": "number" } } }, { "type": "RestElement", "span": { "start": 109, "end": 113, "ctxt": 0 }, "rest": { "start": 106, "end": 109, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 109, "end": 113, "ctxt": 0 }, "value": "rest", "optional": false, "typeAnnotation": null }, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 118, "end": 121, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 122, "end": 166, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 126, "end": 166, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 126, "end": 128, "ctxt": 0 }, "value": "f4", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 131, "end": 166, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 132, "end": 141, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 133, "end": 141, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 135, "end": 141, "ctxt": 0 }, "kind": "string" } } }, { "type": "Identifier", "span": { "start": 143, "end": 152, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 144, "end": 152, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 146, "end": 152, "ctxt": 0 }, "kind": "number" } } }, { "type": "AssignmentPattern", "span": { "start": 154, "end": 158, "ctxt": 0 }, "left": { "type": "Identifier", "span": { "start": 154, "end": 155, "ctxt": 0 }, "value": "z", "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 156, "end": 158, "ctxt": 0 }, "value": 10.0, "raw": "10" }, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 163, "end": 166, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 176, "end": 179, "ctxt": 0 }, "value": "foo", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 180, "end": 199, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 180, "end": 199, "ctxt": 0 }, "value": "func", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 184, "end": 199, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 186, "end": 199, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 189, "end": 199, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 192, "end": 199, "ctxt": 0 }, "kind": "boolean" } } } } } } ], "decorators": [], "span": { "start": 167, "end": 204, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 201, "end": 204, "ctxt": 0 }, "stmts": [] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "ExpressionStatement", "span": { "start": 205, "end": 221, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 205, "end": 220, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 205, "end": 208, "ctxt": 0 }, "value": "foo", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 209, "end": 219, "ctxt": 0 }, "params": [], "body": { "type": "BooleanLiteral", "span": { "start": 215, "end": 219, "ctxt": 0 }, "value": true }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 222, "end": 251, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 222, "end": 250, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 222, "end": 225, "ctxt": 0 }, "value": "foo", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 226, "end": 249, "ctxt": 0 }, "params": [], "body": { "type": "BlockStatement", "span": { "start": 232, "end": 249, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 234, "end": 247, "ctxt": 0 }, "argument": { "type": "BooleanLiteral", "span": { "start": 241, "end": 246, "ctxt": 0 }, "value": false } } ] }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ], "typeArguments": null } }, { "type": "VariableDeclaration", "span": { "start": 292, "end": 314, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 296, "end": 313, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 296, "end": 298, "ctxt": 0 }, "value": "p1", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 301, "end": 313, "ctxt": 0 }, "params": [ { "type": "ArrayPattern", "span": { "start": 302, "end": 305, "ctxt": 0 }, "elements": [ { "type": "Identifier", "span": { "start": 303, "end": 304, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 310, "end": 313, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 315, "end": 340, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 319, "end": 339, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 319, "end": 321, "ctxt": 0 }, "value": "p2", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 324, "end": 339, "ctxt": 0 }, "params": [ { "type": "ArrayPattern", "span": { "start": 325, "end": 331, "ctxt": 0 }, "elements": [ { "type": "RestElement", "span": { "start": 329, "end": 330, "ctxt": 0 }, "rest": { "start": 326, "end": 329, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 329, "end": 330, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 336, "end": 339, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 341, "end": 365, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 345, "end": 364, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 345, "end": 347, "ctxt": 0 }, "value": "p3", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 350, "end": 364, "ctxt": 0 }, "params": [ { "type": "ArrayPattern", "span": { "start": 351, "end": 356, "ctxt": 0 }, "elements": [ null, { "type": "Identifier", "span": { "start": 354, "end": 355, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 361, "end": 364, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 366, "end": 393, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 370, "end": 392, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 370, "end": 372, "ctxt": 0 }, "value": "p4", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 375, "end": 392, "ctxt": 0 }, "params": [ { "type": "ArrayPattern", "span": { "start": 376, "end": 384, "ctxt": 0 }, "elements": [ null, { "type": "RestElement", "span": { "start": 382, "end": 383, "ctxt": 0 }, "rest": { "start": 379, "end": 382, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 382, "end": 383, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 389, "end": 392, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 394, "end": 420, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 398, "end": 419, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 398, "end": 400, "ctxt": 0 }, "value": "p5", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 403, "end": 419, "ctxt": 0 }, "params": [ { "type": "ArrayPattern", "span": { "start": 404, "end": 411, "ctxt": 0 }, "elements": [ { "type": "AssignmentPattern", "span": { "start": 405, "end": 410, "ctxt": 0 }, "left": { "type": "Identifier", "span": { "start": 405, "end": 406, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "NumericLiteral", "span": { "start": 409, "end": 410, "ctxt": 0 }, "value": 1.0, "raw": "1" }, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 416, "end": 419, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 421, "end": 445, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 425, "end": 444, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 425, "end": 427, "ctxt": 0 }, "value": "p6", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 430, "end": 444, "ctxt": 0 }, "params": [ { "type": "ObjectPattern", "span": { "start": 431, "end": 436, "ctxt": 0 }, "properties": [ { "type": "AssignmentPatternProperty", "span": { "start": 433, "end": 434, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 433, "end": 434, "ctxt": 0 }, "value": "a", "optional": false }, "value": null } ], "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 441, "end": 444, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 446, "end": 477, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 450, "end": 476, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 450, "end": 452, "ctxt": 0 }, "value": "p7", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 455, "end": 476, "ctxt": 0 }, "params": [ { "type": "ObjectPattern", "span": { "start": 456, "end": 468, "ctxt": 0 }, "properties": [ { "type": "KeyValuePatternProperty", "key": { "type": "Identifier", "span": { "start": 458, "end": 459, "ctxt": 0 }, "value": "a", "optional": false }, "value": { "type": "ObjectPattern", "span": { "start": 461, "end": 466, "ctxt": 0 }, "properties": [ { "type": "AssignmentPatternProperty", "span": { "start": 463, "end": 464, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 463, "end": 464, "ctxt": 0 }, "value": "b", "optional": false }, "value": null } ], "optional": false, "typeAnnotation": null } } ], "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 473, "end": 476, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 478, "end": 506, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 482, "end": 505, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 482, "end": 484, "ctxt": 0 }, "value": "p8", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 487, "end": 505, "ctxt": 0 }, "params": [ { "type": "ObjectPattern", "span": { "start": 488, "end": 497, "ctxt": 0 }, "properties": [ { "type": "AssignmentPatternProperty", "span": { "start": 490, "end": 495, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 490, "end": 491, "ctxt": 0 }, "value": "a", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 494, "end": 495, "ctxt": 0 }, "value": 1.0, "raw": "1" } } ], "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 502, "end": 505, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 507, "end": 553, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 511, "end": 552, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 511, "end": 513, "ctxt": 0 }, "value": "p9", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 516, "end": 552, "ctxt": 0 }, "params": [ { "type": "ObjectPattern", "span": { "start": 517, "end": 544, "ctxt": 0 }, "properties": [ { "type": "KeyValuePatternProperty", "key": { "type": "Identifier", "span": { "start": 519, "end": 520, "ctxt": 0 }, "value": "a", "optional": false }, "value": { "type": "AssignmentPattern", "span": { "start": 522, "end": 542, "ctxt": 0 }, "left": { "type": "ObjectPattern", "span": { "start": 522, "end": 531, "ctxt": 0 }, "properties": [ { "type": "AssignmentPatternProperty", "span": { "start": 524, "end": 529, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 524, "end": 525, "ctxt": 0 }, "value": "b", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 528, "end": 529, "ctxt": 0 }, "value": 1.0, "raw": "1" } } ], "optional": false, "typeAnnotation": null }, "right": { "type": "ObjectExpression", "span": { "start": 534, "end": 542, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 536, "end": 537, "ctxt": 0 }, "value": "b", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 539, "end": 540, "ctxt": 0 }, "value": 1.0, "raw": "1" } } ] }, "typeAnnotation": null } } ], "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 549, "end": 552, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 554, "end": 591, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 558, "end": 590, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 558, "end": 561, "ctxt": 0 }, "value": "p10", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 564, "end": 590, "ctxt": 0 }, "params": [ { "type": "ArrayPattern", "span": { "start": 565, "end": 582, "ctxt": 0 }, "elements": [ { "type": "ObjectPattern", "span": { "start": 566, "end": 581, "ctxt": 0 }, "properties": [ { "type": "AssignmentPatternProperty", "span": { "start": 568, "end": 573, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 568, "end": 573, "ctxt": 0 }, "value": "value", "optional": false }, "value": null }, { "type": "AssignmentPatternProperty", "span": { "start": 575, "end": 579, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 575, "end": 579, "ctxt": 0 }, "value": "done", "optional": false }, "value": null } ], "optional": false, "typeAnnotation": null } ], "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 587, "end": 590, "ctxt": 0 }, "stmts": [] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] } ], "interpreter": null }