{ "type": "Module", "span": { "start": 37, "end": 4415, "ctxt": 0 }, "body": [ { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 46, "end": 48, "ctxt": 0 }, "value": "f1", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 49, "end": 88, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 49, "end": 88, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 52, "end": 88, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 54, "end": 88, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 56, "end": 66, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 56, "end": 57, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 57, "end": 65, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 59, "end": 65, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 67, "end": 76, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 67, "end": 68, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 68, "end": 75, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 70, "end": 75, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 70, "end": 71, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 70, "end": 71, "ctxt": 0 }, "value": 0.0 } }, { "type": "TsLiteralType", "span": { "start": 74, "end": 75, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 74, "end": 75, "ctxt": 0 }, "value": 1.0 } } ] } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 77, "end": 86, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 77, "end": 78, "ctxt": 0 }, "value": "c", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 78, "end": 86, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 80, "end": 86, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } } }, { "type": "Parameter", "span": { "start": 90, "end": 97, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 90, "end": 97, "ctxt": 0 }, "value": "k0", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 92, "end": 97, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 94, "end": 97, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 94, "end": 97, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } } } }, { "type": "Parameter", "span": { "start": 99, "end": 112, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 99, "end": 112, "ctxt": 0 }, "value": "k1", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 101, "end": 112, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 103, "end": 112, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 103, "end": 106, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 103, "end": 106, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "TsLiteralType", "span": { "start": 109, "end": 112, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 109, "end": 112, "ctxt": 0 }, "value": "b", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } } } }, { "type": "Parameter", "span": { "start": 114, "end": 133, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 114, "end": 133, "ctxt": 0 }, "value": "k2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 116, "end": 133, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 118, "end": 133, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 118, "end": 121, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 118, "end": 121, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "TsLiteralType", "span": { "start": 124, "end": 127, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 124, "end": 127, "ctxt": 0 }, "value": "b", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "TsLiteralType", "span": { "start": 130, "end": 133, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 130, "end": 133, "ctxt": 0 }, "value": "c", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } } } } ], "decorators": [], "span": { "start": 37, "end": 363, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 135, "end": 363, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 141, "end": 153, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 141, "end": 152, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 141, "end": 148, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 141, "end": 144, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 144, "end": 148, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 145, "end": 147, "ctxt": 0 }, "value": "k0", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 151, "end": 152, "ctxt": 0 }, "value": 1.0 } } }, { "type": "ExpressionStatement", "span": { "start": 158, "end": 170, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 158, "end": 169, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 158, "end": 165, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 158, "end": 161, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 161, "end": 165, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 162, "end": 164, "ctxt": 0 }, "value": "k0", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 168, "end": 169, "ctxt": 0 }, "value": 2.0 } } }, { "type": "ExpressionStatement", "span": { "start": 175, "end": 189, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 175, "end": 188, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 175, "end": 182, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 175, "end": 178, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 178, "end": 182, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 179, "end": 181, "ctxt": 0 }, "value": "k0", "optional": false } } }, "right": { "type": "StringLiteral", "span": { "start": 185, "end": 188, "ctxt": 0 }, "value": "x", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, { "type": "ExpressionStatement", "span": { "start": 204, "end": 216, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 204, "end": 215, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 204, "end": 211, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 204, "end": 207, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 207, "end": 211, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 208, "end": 210, "ctxt": 0 }, "value": "k1", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 214, "end": 215, "ctxt": 0 }, "value": 1.0 } } }, { "type": "ExpressionStatement", "span": { "start": 221, "end": 233, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 221, "end": 232, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 221, "end": 228, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 221, "end": 224, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 224, "end": 228, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 225, "end": 227, "ctxt": 0 }, "value": "k1", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 231, "end": 232, "ctxt": 0 }, "value": 2.0 } } }, { "type": "ExpressionStatement", "span": { "start": 250, "end": 264, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 250, "end": 263, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 250, "end": 257, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 250, "end": 253, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 253, "end": 257, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 254, "end": 256, "ctxt": 0 }, "value": "k1", "optional": false } } }, "right": { "type": "StringLiteral", "span": { "start": 260, "end": 263, "ctxt": 0 }, "value": "x", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, { "type": "ExpressionStatement", "span": { "start": 279, "end": 291, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 279, "end": 290, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 279, "end": 286, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 279, "end": 282, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 282, "end": 286, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 283, "end": 285, "ctxt": 0 }, "value": "k2", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 289, "end": 290, "ctxt": 0 }, "value": 1.0 } } }, { "type": "ExpressionStatement", "span": { "start": 308, "end": 320, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 308, "end": 319, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 308, "end": 315, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 308, "end": 311, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 311, "end": 315, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 312, "end": 314, "ctxt": 0 }, "value": "k2", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 318, "end": 319, "ctxt": 0 }, "value": 2.0 } } }, { "type": "ExpressionStatement", "span": { "start": 337, "end": 351, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 337, "end": 350, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 337, "end": 344, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 337, "end": 340, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 340, "end": 344, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 341, "end": 343, "ctxt": 0 }, "value": "k2", "optional": false } } }, "right": { "type": "StringLiteral", "span": { "start": 347, "end": 350, "ctxt": 0 }, "value": "x", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 374, "end": 376, "ctxt": 0 }, "value": "f2", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 414, "end": 441, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 414, "end": 441, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 415, "end": 441, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 417, "end": 441, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 419, "end": 429, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 419, "end": 420, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 420, "end": 428, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 422, "end": 428, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 430, "end": 439, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 430, "end": 431, "ctxt": 0 }, "value": "y", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 431, "end": 439, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 433, "end": 439, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } } }, { "type": "Parameter", "span": { "start": 443, "end": 471, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 443, "end": 471, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 444, "end": 471, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 446, "end": 471, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 449, "end": 460, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 452, "end": 460, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 454, "end": 460, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 461, "end": 469, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 463, "end": 469, "ctxt": 0 }, "kind": "number" } }, "readonly": false, "static": false, "span": { "start": 448, "end": 469, "ctxt": 0 } } ] } } } }, { "type": "Parameter", "span": { "start": 473, "end": 477, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 473, "end": 477, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 474, "end": 477, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 476, "end": 477, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 476, "end": 477, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 479, "end": 489, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 479, "end": 489, "ctxt": 0 }, "value": "k", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 480, "end": 489, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeOperator", "span": { "start": 482, "end": 489, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 488, "end": 489, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 488, "end": 489, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } } ], "decorators": [], "span": { "start": 365, "end": 1071, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 491, "end": 1071, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 497, "end": 503, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 497, "end": 502, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 497, "end": 498, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 501, "end": 502, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 582, "end": 588, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 582, "end": 587, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 582, "end": 583, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 586, "end": 587, "ctxt": 0 }, "value": "c", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 667, "end": 673, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 667, "end": 672, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 667, "end": 668, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 671, "end": 672, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 678, "end": 684, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 678, "end": 683, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 678, "end": 679, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 682, "end": 683, "ctxt": 0 }, "value": "c", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 689, "end": 695, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 689, "end": 694, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 689, "end": 690, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 693, "end": 694, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 775, "end": 781, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 775, "end": 780, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 775, "end": 776, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 779, "end": 780, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 861, "end": 865, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 861, "end": 864, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 861, "end": 862, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Identifier", "span": { "start": 863, "end": 864, "ctxt": 0 }, "value": "x", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 870, "end": 874, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 870, "end": 873, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 870, "end": 871, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 872, "end": 873, "ctxt": 0 }, "value": "x", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 879, "end": 883, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 879, "end": 882, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 879, "end": 880, "ctxt": 0 }, "value": "c", "optional": false }, "property": { "type": "Identifier", "span": { "start": 881, "end": 882, "ctxt": 0 }, "value": "x", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 888, "end": 893, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 888, "end": 892, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 888, "end": 889, "ctxt": 0 }, "value": "c", "optional": false }, "property": { "type": "Computed", "span": { "start": 889, "end": 892, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 890, "end": 891, "ctxt": 0 }, "value": "k", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 898, "end": 906, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 898, "end": 905, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 898, "end": 901, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 898, "end": 899, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Identifier", "span": { "start": 900, "end": 901, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "NumericLiteral", "span": { "start": 904, "end": 905, "ctxt": 0 }, "value": 1.0 } } }, { "type": "ExpressionStatement", "span": { "start": 911, "end": 919, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 911, "end": 918, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 911, "end": 914, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 911, "end": 912, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 913, "end": 914, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "NumericLiteral", "span": { "start": 917, "end": 918, "ctxt": 0 }, "value": 1.0 } } }, { "type": "ExpressionStatement", "span": { "start": 924, "end": 932, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 924, "end": 931, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 924, "end": 927, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 924, "end": 925, "ctxt": 0 }, "value": "c", "optional": false }, "property": { "type": "Identifier", "span": { "start": 926, "end": 927, "ctxt": 0 }, "value": "x", "optional": false } }, "right": { "type": "NumericLiteral", "span": { "start": 930, "end": 931, "ctxt": 0 }, "value": 1.0 } } }, { "type": "ExpressionStatement", "span": { "start": 999, "end": 1008, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 999, "end": 1007, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 999, "end": 1003, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 999, "end": 1000, "ctxt": 0 }, "value": "c", "optional": false }, "property": { "type": "Computed", "span": { "start": 1000, "end": 1003, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1001, "end": 1002, "ctxt": 0 }, "value": "k", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 1006, "end": 1007, "ctxt": 0 }, "value": 1.0 } } } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 376, "end": 413, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 377, "end": 412, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 377, "end": 378, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeLiteral", "span": { "start": 387, "end": 412, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 390, "end": 401, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 393, "end": 401, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 395, "end": 401, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 402, "end": 410, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 404, "end": 410, "ctxt": 0 }, "kind": "number" } }, "readonly": false, "static": false, "span": { "start": 389, "end": 410, "ctxt": 0 } } ] }, "default": null } ] }, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1082, "end": 1084, "ctxt": 0 }, "value": "f3", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1103, "end": 1126, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1103, "end": 1126, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1104, "end": 1126, "ctxt": 0 }, "typeAnnotation": { "type": "TsMappedType", "span": { "start": 1106, "end": 1126, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 1109, "end": 1115, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1109, "end": 1110, "ctxt": 0 }, "value": "P", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1114, "end": 1115, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1114, "end": 1115, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1118, "end": 1124, "ctxt": 0 }, "kind": "number" } } } } }, { "type": "Parameter", "span": { "start": 1128, "end": 1156, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1128, "end": 1156, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1129, "end": 1156, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1131, "end": 1156, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 1134, "end": 1145, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1137, "end": 1145, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1139, "end": 1145, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1146, "end": 1154, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1148, "end": 1154, "ctxt": 0 }, "kind": "number" } }, "readonly": false, "static": false, "span": { "start": 1133, "end": 1154, "ctxt": 0 } } ] } } } }, { "type": "Parameter", "span": { "start": 1158, "end": 1162, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1158, "end": 1162, "ctxt": 0 }, "value": "k", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1159, "end": 1162, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1161, "end": 1162, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1161, "end": 1162, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 1073, "end": 1277, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1164, "end": 1277, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1170, "end": 1176, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1170, "end": 1175, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1170, "end": 1171, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1174, "end": 1175, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1245, "end": 1251, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1245, "end": 1250, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1245, "end": 1246, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1249, "end": 1250, "ctxt": 0 }, "value": "a", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1256, "end": 1261, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 1256, "end": 1260, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1256, "end": 1257, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Computed", "span": { "start": 1257, "end": 1260, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1258, "end": 1259, "ctxt": 0 }, "value": "k", "optional": false } } } }, { "type": "ExpressionStatement", "span": { "start": 1266, "end": 1275, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1266, "end": 1274, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1266, "end": 1270, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1266, "end": 1267, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Computed", "span": { "start": 1267, "end": 1270, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1268, "end": 1269, "ctxt": 0 }, "value": "k", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 1273, "end": 1274, "ctxt": 0 }, "value": 1.0 } } } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 1084, "end": 1102, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1085, "end": 1101, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1085, "end": 1086, "ctxt": 0 }, "value": "K", "optional": false }, "constraint": { "type": "TsKeywordType", "span": { "start": 1095, "end": 1101, "ctxt": 0 }, "kind": "string" }, "default": null } ] }, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1288, "end": 1291, "ctxt": 0 }, "value": "f3b", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1310, "end": 1333, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1310, "end": 1333, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1311, "end": 1333, "ctxt": 0 }, "typeAnnotation": { "type": "TsMappedType", "span": { "start": 1313, "end": 1333, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 1316, "end": 1322, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1316, "end": 1317, "ctxt": 0 }, "value": "P", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1321, "end": 1322, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1321, "end": 1322, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1325, "end": 1331, "ctxt": 0 }, "kind": "number" } } } } }, { "type": "Parameter", "span": { "start": 1335, "end": 1363, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1335, "end": 1363, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1336, "end": 1363, "ctxt": 0 }, "typeAnnotation": { "type": "TsMappedType", "span": { "start": 1338, "end": 1363, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 1341, "end": 1352, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1341, "end": 1342, "ctxt": 0 }, "value": "P", "optional": false }, "constraint": { "type": "TsKeywordType", "span": { "start": 1346, "end": 1352, "ctxt": 0 }, "kind": "string" }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1355, "end": 1361, "ctxt": 0 }, "kind": "number" } } } } }, { "type": "Parameter", "span": { "start": 1365, "end": 1369, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1365, "end": 1369, "ctxt": 0 }, "value": "k", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1366, "end": 1369, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1368, "end": 1369, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1368, "end": 1369, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 1279, "end": 1460, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1371, "end": 1460, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1377, "end": 1383, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1377, "end": 1382, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1377, "end": 1378, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1381, "end": 1382, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1452, "end": 1458, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1452, "end": 1457, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1452, "end": 1453, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1456, "end": 1457, "ctxt": 0 }, "value": "a", "optional": false } } } ] }, "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": "K", "optional": false }, "constraint": { "type": "TsKeywordType", "span": { "start": 1302, "end": 1308, "ctxt": 0 }, "kind": "string" }, "default": null } ] }, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1471, "end": 1473, "ctxt": 0 }, "value": "f4", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1492, "end": 1523, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1492, "end": 1523, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1493, "end": 1523, "ctxt": 0 }, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 1495, "end": 1523, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeLiteral", "span": { "start": 1495, "end": 1520, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 1498, "end": 1509, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1501, "end": 1509, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1503, "end": 1509, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1510, "end": 1518, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1512, "end": 1518, "ctxt": 0 }, "kind": "number" } }, "readonly": false, "static": false, "span": { "start": 1497, "end": 1518, "ctxt": 0 } } ] }, "indexType": { "type": "TsTypeReference", "span": { "start": 1521, "end": 1522, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1521, "end": 1522, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } } } } }, { "type": "Parameter", "span": { "start": 1525, "end": 1534, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1525, "end": 1534, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1526, "end": 1534, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1528, "end": 1534, "ctxt": 0 }, "kind": "number" } } } } ], "decorators": [], "span": { "start": 1462, "end": 1557, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1536, "end": 1557, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1540, "end": 1546, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1540, "end": 1545, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1540, "end": 1541, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1544, "end": 1545, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 1549, "end": 1555, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1549, "end": 1554, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 1549, "end": 1550, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 1553, "end": 1554, "ctxt": 0 }, "value": "a", "optional": false } } } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 1473, "end": 1491, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1474, "end": 1490, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1474, "end": 1475, "ctxt": 0 }, "value": "K", "optional": false }, "constraint": { "type": "TsKeywordType", "span": { "start": 1484, "end": 1490, "ctxt": 0 }, "kind": "string" }, "default": null } ] }, "returnType": null }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1559, "end": 1596, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1564, "end": 1568, "ctxt": 0 }, "value": "Item", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1571, "end": 1595, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1573, "end": 1583, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1573, "end": 1574, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1574, "end": 1582, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1576, "end": 1582, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1584, "end": 1593, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1584, "end": 1585, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1585, "end": 1593, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1587, "end": 1593, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1607, "end": 1610, "ctxt": 0 }, "value": "f10", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1646, "end": 1652, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1646, "end": 1652, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1649, "end": 1652, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1651, "end": 1652, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1651, "end": 1652, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 1654, "end": 1664, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1654, "end": 1664, "ctxt": 0 }, "value": "k1", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1656, "end": 1664, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1658, "end": 1664, "ctxt": 0 }, "kind": "string" } } } }, { "type": "Parameter", "span": { "start": 1666, "end": 1680, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1666, "end": 1680, "ctxt": 0 }, "value": "k2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1668, "end": 1680, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeOperator", "span": { "start": 1670, "end": 1680, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1676, "end": 1680, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1676, "end": 1680, "ctxt": 0 }, "value": "Item", "optional": false }, "typeParams": null } } } } }, { "type": "Parameter", "span": { "start": 1682, "end": 1693, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1682, "end": 1693, "ctxt": 0 }, "value": "k3", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1684, "end": 1693, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeOperator", "span": { "start": 1686, "end": 1693, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1692, "end": 1693, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1692, "end": 1693, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, { "type": "Parameter", "span": { "start": 1695, "end": 1700, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1695, "end": 1700, "ctxt": 0 }, "value": "k4", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1697, "end": 1700, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1699, "end": 1700, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1699, "end": 1700, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 1598, "end": 1813, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1702, "end": 1813, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1706, "end": 1720, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1706, "end": 1719, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1706, "end": 1713, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1706, "end": 1709, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 1709, "end": 1713, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1710, "end": 1712, "ctxt": 0 }, "value": "k1", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 1716, "end": 1719, "ctxt": 0 }, "value": 123.0 } } }, { "type": "ExpressionStatement", "span": { "start": 1733, "end": 1747, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1733, "end": 1746, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1733, "end": 1740, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1733, "end": 1736, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 1736, "end": 1740, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1737, "end": 1739, "ctxt": 0 }, "value": "k2", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 1743, "end": 1746, "ctxt": 0 }, "value": 123.0 } } }, { "type": "ExpressionStatement", "span": { "start": 1760, "end": 1774, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1760, "end": 1773, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1760, "end": 1767, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1760, "end": 1763, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 1763, "end": 1767, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1764, "end": 1766, "ctxt": 0 }, "value": "k3", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 1770, "end": 1773, "ctxt": 0 }, "value": 123.0 } } }, { "type": "ExpressionStatement", "span": { "start": 1787, "end": 1801, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1787, "end": 1800, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1787, "end": 1794, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1787, "end": 1790, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 1790, "end": 1794, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1791, "end": 1793, "ctxt": 0 }, "value": "k4", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 1797, "end": 1800, "ctxt": 0 }, "value": 123.0 } } } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 1610, "end": 1645, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1611, "end": 1625, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1611, "end": 1612, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 1621, "end": 1625, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1621, "end": 1625, "ctxt": 0 }, "value": "Item", "optional": false }, "typeParams": null }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1627, "end": 1644, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1627, "end": 1628, "ctxt": 0 }, "value": "K", "optional": false }, "constraint": { "type": "TsTypeOperator", "span": { "start": 1637, "end": 1644, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1643, "end": 1644, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1643, "end": 1644, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "default": null } ] }, "returnType": null }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1815, "end": 1850, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1820, "end": 1824, "ctxt": 0 }, "value": "Dict", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1827, "end": 1849, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1827, "end": 1833, "ctxt": 0 }, "value": "Record", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1833, "end": 1849, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 1834, "end": 1840, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 1842, "end": 1848, "ctxt": 0 }, "kind": "number" } ] } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1861, "end": 1864, "ctxt": 0 }, "value": "f11", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 1887, "end": 1896, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1887, "end": 1896, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1890, "end": 1896, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1892, "end": 1896, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1892, "end": 1896, "ctxt": 0 }, "value": "Dict", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 1898, "end": 1912, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1898, "end": 1912, "ctxt": 0 }, "value": "k1", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1900, "end": 1912, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeOperator", "span": { "start": 1902, "end": 1912, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1908, "end": 1912, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1908, "end": 1912, "ctxt": 0 }, "value": "Dict", "optional": false }, "typeParams": null } } } } }, { "type": "Parameter", "span": { "start": 1914, "end": 1919, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1914, "end": 1919, "ctxt": 0 }, "value": "k2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1916, "end": 1919, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1918, "end": 1919, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1918, "end": 1919, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 1852, "end": 1975, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1921, "end": 1975, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 1925, "end": 1939, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1925, "end": 1938, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1925, "end": 1932, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1925, "end": 1928, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1929, "end": 1932, "ctxt": 0 }, "value": "foo", "optional": false } }, "right": { "type": "NumericLiteral", "span": { "start": 1935, "end": 1938, "ctxt": 0 }, "value": 123.0 } } }, { "type": "ExpressionStatement", "span": { "start": 1942, "end": 1956, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1942, "end": 1955, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1942, "end": 1949, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1942, "end": 1945, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 1945, "end": 1949, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1946, "end": 1948, "ctxt": 0 }, "value": "k1", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 1952, "end": 1955, "ctxt": 0 }, "value": 123.0 } } }, { "type": "ExpressionStatement", "span": { "start": 1959, "end": 1973, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1959, "end": 1972, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1959, "end": 1966, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1959, "end": 1962, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 1962, "end": 1966, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1963, "end": 1965, "ctxt": 0 }, "value": "k2", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 1969, "end": 1972, "ctxt": 0 }, "value": 123.0 } } } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 1864, "end": 1886, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1865, "end": 1885, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1865, "end": 1866, "ctxt": 0 }, "value": "K", "optional": false }, "constraint": { "type": "TsTypeOperator", "span": { "start": 1875, "end": 1885, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1881, "end": 1885, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1881, "end": 1885, "ctxt": 0 }, "value": "Dict", "optional": false }, "typeParams": null } }, "default": null } ] }, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1986, "end": 1989, "ctxt": 0 }, "value": "f12", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 2035, "end": 2041, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2035, "end": 2041, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2038, "end": 2041, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2040, "end": 2041, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2040, "end": 2041, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 2043, "end": 2057, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2043, "end": 2057, "ctxt": 0 }, "value": "k1", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2045, "end": 2057, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeOperator", "span": { "start": 2047, "end": 2057, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2053, "end": 2057, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2053, "end": 2057, "ctxt": 0 }, "value": "Dict", "optional": false }, "typeParams": null } } } } }, { "type": "Parameter", "span": { "start": 2059, "end": 2070, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2059, "end": 2070, "ctxt": 0 }, "value": "k2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2061, "end": 2070, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeOperator", "span": { "start": 2063, "end": 2070, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2069, "end": 2070, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2069, "end": 2070, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } } }, { "type": "Parameter", "span": { "start": 2072, "end": 2077, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2072, "end": 2077, "ctxt": 0 }, "value": "k3", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2074, "end": 2077, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2076, "end": 2077, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2076, "end": 2077, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 1977, "end": 2190, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2079, "end": 2190, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 2083, "end": 2097, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2083, "end": 2096, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2083, "end": 2090, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2083, "end": 2086, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2087, "end": 2090, "ctxt": 0 }, "value": "foo", "optional": false } }, "right": { "type": "NumericLiteral", "span": { "start": 2093, "end": 2096, "ctxt": 0 }, "value": 123.0 } } }, { "type": "ExpressionStatement", "span": { "start": 2110, "end": 2124, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2110, "end": 2123, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2110, "end": 2117, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2110, "end": 2113, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 2113, "end": 2117, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2114, "end": 2116, "ctxt": 0 }, "value": "k1", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 2120, "end": 2123, "ctxt": 0 }, "value": 123.0 } } }, { "type": "ExpressionStatement", "span": { "start": 2137, "end": 2151, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2137, "end": 2150, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2137, "end": 2144, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2137, "end": 2140, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 2140, "end": 2144, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2141, "end": 2143, "ctxt": 0 }, "value": "k2", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 2147, "end": 2150, "ctxt": 0 }, "value": 123.0 } } }, { "type": "ExpressionStatement", "span": { "start": 2164, "end": 2178, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2164, "end": 2177, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2164, "end": 2171, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2164, "end": 2167, "ctxt": 0 }, "value": "obj", "optional": false }, "property": { "type": "Computed", "span": { "start": 2167, "end": 2171, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2168, "end": 2170, "ctxt": 0 }, "value": "k3", "optional": false } } }, "right": { "type": "NumericLiteral", "span": { "start": 2174, "end": 2177, "ctxt": 0 }, "value": 123.0 } } } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 1989, "end": 2034, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1990, "end": 2014, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1990, "end": 1991, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2000, "end": 2014, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2000, "end": 2008, "ctxt": 0 }, "value": "Readonly", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2008, "end": 2014, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2009, "end": 2013, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2009, "end": 2013, "ctxt": 0 }, "value": "Dict", "optional": false }, "typeParams": null } ] } }, "default": null }, { "type": "TsTypeParameter", "span": { "start": 2016, "end": 2033, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2016, "end": 2017, "ctxt": 0 }, "value": "K", "optional": false }, "constraint": { "type": "TsTypeOperator", "span": { "start": 2026, "end": 2033, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2032, "end": 2033, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2032, "end": 2033, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "default": null } ] }, "returnType": null }, { "type": "ExportDeclaration", "span": { "start": 2214, "end": 2266, "ctxt": 0 }, "declaration": { "type": "TsInterfaceDeclaration", "span": { "start": 2221, "end": 2266, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2231, "end": 2237, "ctxt": 0 }, "value": "Entity", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 2238, "end": 2266, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 2244, "end": 2264, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2244, "end": 2246, "ctxt": 0 }, "value": "id", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2246, "end": 2263, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 2248, "end": 2263, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 2248, "end": 2254, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 2257, "end": 2263, "ctxt": 0 }, "kind": "string" } ] } }, "typeParams": null } ] } } }, { "type": "ExportDeclaration", "span": { "start": 2268, "end": 2313, "ctxt": 0 }, "declaration": { "type": "TsTypeAliasDeclaration", "span": { "start": 2275, "end": 2313, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 2280, "end": 2284, "ctxt": 0 }, "value": "IdOf", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2284, "end": 2302, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2285, "end": 2301, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2285, "end": 2286, "ctxt": 0 }, "value": "E", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2295, "end": 2301, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2295, "end": 2301, "ctxt": 0 }, "value": "Entity", "optional": false }, "typeParams": null }, "default": null } ] }, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 2305, "end": 2312, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 2305, "end": 2306, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2305, "end": 2306, "ctxt": 0 }, "value": "E", "optional": false }, "typeParams": null }, "indexType": { "type": "TsLiteralType", "span": { "start": 2307, "end": 2311, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2307, "end": 2311, "ctxt": 0 }, "value": "id", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } } } }, { "type": "ExportDeclaration", "span": { "start": 2315, "end": 2439, "ctxt": 0 }, "declaration": { "type": "TsInterfaceDeclaration", "span": { "start": 2322, "end": 2439, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2332, "end": 2343, "ctxt": 0 }, "value": "EntityState", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2343, "end": 2361, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2344, "end": 2360, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2344, "end": 2345, "ctxt": 0 }, "value": "E", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2354, "end": 2360, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2354, "end": 2360, "ctxt": 0 }, "value": "Entity", "optional": false }, "typeParams": null }, "default": null } ] }, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 2362, "end": 2439, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 2368, "end": 2383, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2368, "end": 2371, "ctxt": 0 }, "value": "ids", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2371, "end": 2382, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2373, "end": 2382, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2373, "end": 2380, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2373, "end": 2377, "ctxt": 0 }, "value": "IdOf", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2377, "end": 2380, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2378, "end": 2379, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2378, "end": 2379, "ctxt": 0 }, "value": "E", "optional": false }, "typeParams": null } ] } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2388, "end": 2437, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2388, "end": 2396, "ctxt": 0 }, "value": "entities", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2396, "end": 2436, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 2398, "end": 2436, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 2401, "end": 2412, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2404, "end": 2412, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2406, "end": 2412, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2413, "end": 2416, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2415, "end": 2416, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2415, "end": 2416, "ctxt": 0 }, "value": "E", "optional": false }, "typeParams": null } }, "readonly": false, "static": false, "span": { "start": 2400, "end": 2417, "ctxt": 0 } }, { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 2419, "end": 2430, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2422, "end": 2430, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2424, "end": 2430, "ctxt": 0 }, "kind": "number" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2431, "end": 2434, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2433, "end": 2434, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2433, "end": 2434, "ctxt": 0 }, "value": "E", "optional": false }, "typeParams": null } }, "readonly": false, "static": false, "span": { "start": 2418, "end": 2434, "ctxt": 0 } } ] } }, "typeParams": null } ] } } }, { "type": "ExportDeclaration", "span": { "start": 2442, "end": 2599, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2458, "end": 2472, "ctxt": 0 }, "value": "getAllEntities", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 2491, "end": 2512, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2491, "end": 2512, "ctxt": 0 }, "value": "state", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2496, "end": 2512, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2498, "end": 2512, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2498, "end": 2509, "ctxt": 0 }, "value": "EntityState", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2509, "end": 2512, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2510, "end": 2511, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2510, "end": 2511, "ctxt": 0 }, "value": "E", "optional": false }, "typeParams": null } ] } } } } } ], "decorators": [], "span": { "start": 2449, "end": 2599, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2519, "end": 2599, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 2525, "end": 2557, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2531, "end": 2556, "ctxt": 0 }, "id": { "type": "ObjectPattern", "span": { "start": 2531, "end": 2548, "ctxt": 0 }, "properties": [ { "type": "AssignmentPatternProperty", "span": { "start": 2533, "end": 2536, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2533, "end": 2536, "ctxt": 0 }, "value": "ids", "optional": false }, "value": null }, { "type": "AssignmentPatternProperty", "span": { "start": 2538, "end": 2546, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2538, "end": 2546, "ctxt": 0 }, "value": "entities", "optional": false }, "value": null } ], "optional": false, "typeAnnotation": null }, "init": { "type": "Identifier", "span": { "start": 2551, "end": 2556, "ctxt": 0 }, "value": "state", "optional": false }, "definite": false } ] }, { "type": "ReturnStatement", "span": { "start": 2562, "end": 2597, "ctxt": 0 }, "argument": { "type": "CallExpression", "span": { "start": 2569, "end": 2596, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 2569, "end": 2576, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2569, "end": 2572, "ctxt": 0 }, "value": "ids", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2573, "end": 2576, "ctxt": 0 }, "value": "map", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 2577, "end": 2595, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2577, "end": 2579, "ctxt": 0 }, "value": "id", "optional": false, "typeAnnotation": null } ], "body": { "type": "MemberExpression", "span": { "start": 2583, "end": 2595, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2583, "end": 2591, "ctxt": 0 }, "value": "entities", "optional": false }, "property": { "type": "Computed", "span": { "start": 2591, "end": 2595, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2592, "end": 2594, "ctxt": 0 }, "value": "id", "optional": false } } }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } ], "typeArguments": null } } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2472, "end": 2490, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2473, "end": 2489, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2473, "end": 2474, "ctxt": 0 }, "value": "E", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2483, "end": 2489, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2483, "end": 2489, "ctxt": 0 }, "value": "Entity", "optional": false }, "typeParams": null }, "default": null } ] }, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 2513, "end": 2518, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 2515, "end": 2518, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 2515, "end": 2516, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2515, "end": 2516, "ctxt": 0 }, "value": "E", "optional": false }, "typeParams": null } } } } }, { "type": "ExportDeclaration", "span": { "start": 2601, "end": 2824, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2617, "end": 2626, "ctxt": 0 }, "value": "getEntity", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 2645, "end": 2656, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2645, "end": 2656, "ctxt": 0 }, "value": "id", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2647, "end": 2656, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2649, "end": 2656, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2649, "end": 2653, "ctxt": 0 }, "value": "IdOf", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2653, "end": 2656, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2654, "end": 2655, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2654, "end": 2655, "ctxt": 0 }, "value": "E", "optional": false }, "typeParams": null } ] } } } } }, { "type": "Parameter", "span": { "start": 2658, "end": 2679, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 2658, "end": 2679, "ctxt": 0 }, "value": "state", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2663, "end": 2679, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2665, "end": 2679, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2665, "end": 2676, "ctxt": 0 }, "value": "EntityState", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2676, "end": 2679, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 2677, "end": 2678, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2677, "end": 2678, "ctxt": 0 }, "value": "E", "optional": false }, "typeParams": null } ] } } } } } ], "decorators": [], "span": { "start": 2608, "end": 2824, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2696, "end": 2824, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 2702, "end": 2734, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2708, "end": 2733, "ctxt": 0 }, "id": { "type": "ObjectPattern", "span": { "start": 2708, "end": 2725, "ctxt": 0 }, "properties": [ { "type": "AssignmentPatternProperty", "span": { "start": 2710, "end": 2713, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2710, "end": 2713, "ctxt": 0 }, "value": "ids", "optional": false }, "value": null }, { "type": "AssignmentPatternProperty", "span": { "start": 2715, "end": 2723, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2715, "end": 2723, "ctxt": 0 }, "value": "entities", "optional": false }, "value": null } ], "optional": false, "typeAnnotation": null }, "init": { "type": "Identifier", "span": { "start": 2728, "end": 2733, "ctxt": 0 }, "value": "state", "optional": false }, "definite": false } ] }, { "type": "IfStatement", "span": { "start": 2740, "end": 2796, "ctxt": 0 }, "test": { "type": "UnaryExpression", "span": { "start": 2744, "end": 2761, "ctxt": 0 }, "operator": "!", "argument": { "type": "CallExpression", "span": { "start": 2745, "end": 2761, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 2745, "end": 2757, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2745, "end": 2748, "ctxt": 0 }, "value": "ids", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2749, "end": 2757, "ctxt": 0 }, "value": "includes", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 2758, "end": 2760, "ctxt": 0 }, "value": "id", "optional": false } } ], "typeArguments": null } }, "consequent": { "type": "BlockStatement", "span": { "start": 2763, "end": 2796, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 2773, "end": 2790, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 2780, "end": 2789, "ctxt": 0 }, "value": "undefined", "optional": false } } ] }, "alternate": null }, { "type": "ReturnStatement", "span": { "start": 2802, "end": 2822, "ctxt": 0 }, "argument": { "type": "MemberExpression", "span": { "start": 2809, "end": 2821, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2809, "end": 2817, "ctxt": 0 }, "value": "entities", "optional": false }, "property": { "type": "Computed", "span": { "start": 2817, "end": 2821, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2818, "end": 2820, "ctxt": 0 }, "value": "id", "optional": false } } } } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2626, "end": 2644, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2627, "end": 2643, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2627, "end": 2628, "ctxt": 0 }, "value": "E", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 2637, "end": 2643, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2637, "end": 2643, "ctxt": 0 }, "value": "Entity", "optional": false }, "typeParams": null }, "default": null } ] }, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 2680, "end": 2695, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 2682, "end": 2695, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 2682, "end": 2683, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2682, "end": 2683, "ctxt": 0 }, "value": "E", "optional": false }, "typeParams": null }, { "type": "TsKeywordType", "span": { "start": 2686, "end": 2695, "ctxt": 0 }, "kind": "undefined" } ] } } } }, { "type": "TsInterfaceDeclaration", "span": { "start": 2848, "end": 2900, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2858, "end": 2862, "ctxt": 0 }, "value": "Type", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 2863, "end": 2900, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 2869, "end": 2876, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2869, "end": 2870, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2870, "end": 2875, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 2872, "end": 2875, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 2872, "end": 2875, "ctxt": 0 }, "value": 123.0 } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 2881, "end": 2898, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2881, "end": 2882, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2882, "end": 2897, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 2884, "end": 2897, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2884, "end": 2897, "ctxt": 0 }, "value": "some string", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null } ] } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2911, "end": 2917, "ctxt": 0 }, "value": "get123", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 2902, "end": 2980, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 2951, "end": 2980, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 2957, "end": 2968, "ctxt": 0 }, "argument": { "type": "NumericLiteral", "span": { "start": 2964, "end": 2967, "ctxt": 0 }, "value": 123.0 } } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 2917, "end": 2939, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2918, "end": 2938, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2918, "end": 2919, "ctxt": 0 }, "value": "K", "optional": false }, "constraint": { "type": "TsTypeOperator", "span": { "start": 2928, "end": 2938, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2934, "end": 2938, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2934, "end": 2938, "ctxt": 0 }, "value": "Type", "optional": false }, "typeParams": null } }, "default": null } ] }, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 2941, "end": 2950, "ctxt": 0 }, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 2943, "end": 2950, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 2943, "end": 2947, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2943, "end": 2947, "ctxt": 0 }, "value": "Type", "optional": false }, "typeParams": null }, "indexType": { "type": "TsTypeReference", "span": { "start": 2948, "end": 2949, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2948, "end": 2949, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 3004, "end": 3077, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 3009, "end": 3022, "ctxt": 0 }, "value": "StrictExtract", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3022, "end": 3028, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3023, "end": 3024, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3023, "end": 3024, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 3026, "end": 3027, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3026, "end": 3027, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsConditionalType", "span": { "start": 3031, "end": 3076, "ctxt": 0 }, "checkType": { "type": "TsTypeReference", "span": { "start": 3031, "end": 3032, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3031, "end": 3032, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, "extendsType": { "type": "TsTypeReference", "span": { "start": 3041, "end": 3042, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3041, "end": 3042, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null }, "trueType": { "type": "TsConditionalType", "span": { "start": 3045, "end": 3068, "ctxt": 0 }, "checkType": { "type": "TsTypeReference", "span": { "start": 3045, "end": 3046, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3045, "end": 3046, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null }, "extendsType": { "type": "TsTypeReference", "span": { "start": 3055, "end": 3056, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3055, "end": 3056, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, "trueType": { "type": "TsTypeReference", "span": { "start": 3059, "end": 3060, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3059, "end": 3060, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, "falseType": { "type": "TsKeywordType", "span": { "start": 3063, "end": 3068, "ctxt": 0 }, "kind": "never" } }, "falseType": { "type": "TsKeywordType", "span": { "start": 3071, "end": 3076, "ctxt": 0 }, "kind": "never" } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 3078, "end": 3147, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 3083, "end": 3096, "ctxt": 0 }, "value": "StrictExclude", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3096, "end": 3102, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3097, "end": 3098, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3097, "end": 3098, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 3100, "end": 3101, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3100, "end": 3101, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsConditionalType", "span": { "start": 3105, "end": 3146, "ctxt": 0 }, "checkType": { "type": "TsTypeReference", "span": { "start": 3105, "end": 3106, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3105, "end": 3106, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, "extendsType": { "type": "TsTypeReference", "span": { "start": 3115, "end": 3134, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3115, "end": 3128, "ctxt": 0 }, "value": "StrictExtract", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3128, "end": 3134, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 3129, "end": 3130, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3129, "end": 3130, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 3132, "end": 3133, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3132, "end": 3133, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } ] } }, "trueType": { "type": "TsKeywordType", "span": { "start": 3137, "end": 3142, "ctxt": 0 }, "kind": "never" }, "falseType": { "type": "TsTypeReference", "span": { "start": 3145, "end": 3146, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3145, "end": 3146, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 3148, "end": 3210, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 3153, "end": 3154, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3154, "end": 3157, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3155, "end": 3156, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3155, "end": 3156, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsMappedType", "span": { "start": 3160, "end": 3209, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 3163, "end": 3199, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3163, "end": 3164, "ctxt": 0 }, "value": "Q", "optional": false }, "constraint": { "type": "TsIndexedAccessType", "span": { "start": 3168, "end": 3199, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsMappedType", "span": { "start": 3168, "end": 3190, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 3171, "end": 3183, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3171, "end": 3172, "ctxt": 0 }, "value": "P", "optional": false }, "constraint": { "type": "TsTypeOperator", "span": { "start": 3176, "end": 3183, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3182, "end": 3183, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3182, "end": 3183, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3186, "end": 3187, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3186, "end": 3187, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null } }, "indexType": { "type": "TsTypeOperator", "span": { "start": 3191, "end": 3198, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3197, "end": 3198, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3197, "end": 3198, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 3202, "end": 3206, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 3202, "end": 3203, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3202, "end": 3203, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, "indexType": { "type": "TsTypeReference", "span": { "start": 3204, "end": 3205, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3204, "end": 3205, "ctxt": 0 }, "value": "Q", "optional": false }, "typeParams": null } } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 3211, "end": 3280, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 3216, "end": 3217, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3217, "end": 3223, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3218, "end": 3219, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3218, "end": 3219, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 3221, "end": 3222, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3221, "end": 3222, "ctxt": 0 }, "value": "V", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3226, "end": 3279, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3226, "end": 3227, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3227, "end": 3279, "ctxt": 0 }, "params": [ { "type": "TsMappedType", "span": { "start": 3228, "end": 3278, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 3231, "end": 3243, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3231, "end": 3232, "ctxt": 0 }, "value": "Q", "optional": false }, "constraint": { "type": "TsTypeOperator", "span": { "start": 3236, "end": 3243, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3242, "end": 3243, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3242, "end": 3243, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3246, "end": 3275, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3246, "end": 3259, "ctxt": 0 }, "value": "StrictExclude", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3259, "end": 3275, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 3260, "end": 3270, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3260, "end": 3261, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3261, "end": 3270, "ctxt": 0 }, "params": [ { "type": "TsIndexedAccessType", "span": { "start": 3262, "end": 3266, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 3262, "end": 3263, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3262, "end": 3263, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, "indexType": { "type": "TsTypeReference", "span": { "start": 3264, "end": 3265, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3264, "end": 3265, "ctxt": 0 }, "value": "Q", "optional": false }, "typeParams": null } }, { "type": "TsTypeReference", "span": { "start": 3268, "end": 3269, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3268, "end": 3269, "ctxt": 0 }, "value": "V", "optional": false }, "typeParams": null } ] } }, { "type": "TsTypeLiteral", "span": { "start": 3272, "end": 3274, "ctxt": 0 }, "members": [] } ] } } } ] } } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 3314, "end": 3316, "ctxt": 0 }, "value": "fn", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 3382, "end": 3390, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3382, "end": 3390, "ctxt": 0 }, "value": "param", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3387, "end": 3390, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3389, "end": 3390, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3389, "end": 3390, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 3392, "end": 3436, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3392, "end": 3436, "ctxt": 0 }, "value": "cb", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3394, "end": 3436, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3396, "end": 3436, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3397, "end": 3427, "ctxt": 0 }, "value": "element", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3404, "end": 3427, "ctxt": 0 }, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 3406, "end": 3427, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsIndexedAccessType", "span": { "start": 3406, "end": 3419, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 3406, "end": 3407, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3406, "end": 3407, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, "indexType": { "type": "TsLiteralType", "span": { "start": 3408, "end": 3418, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 3408, "end": 3418, "ctxt": 0 }, "value": "elements", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "indexType": { "type": "TsKeywordType", "span": { "start": 3420, "end": 3426, "ctxt": 0 }, "kind": "number" } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3429, "end": 3436, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3432, "end": 3436, "ctxt": 0 }, "kind": "void" } } } } } } ], "decorators": [], "span": { "start": 3305, "end": 3468, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 3438, "end": 3468, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 3444, "end": 3466, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 3444, "end": 3465, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 3444, "end": 3446, "ctxt": 0 }, "value": "cb", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3447, "end": 3464, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3447, "end": 3461, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3447, "end": 3452, "ctxt": 0 }, "value": "param", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3453, "end": 3461, "ctxt": 0 }, "value": "elements", "optional": false } }, "property": { "type": "Computed", "span": { "start": 3461, "end": 3464, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 3462, "end": 3463, "ctxt": 0 }, "value": 0.0 } } } } ], "typeArguments": null } } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3316, "end": 3381, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3317, "end": 3380, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3317, "end": 3318, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsUnionType", "span": { "start": 3327, "end": 3380, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 3327, "end": 3352, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3328, "end": 3351, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3328, "end": 3336, "ctxt": 0 }, "value": "elements", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3336, "end": 3351, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3338, "end": 3351, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3338, "end": 3343, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3343, "end": 3351, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 3344, "end": 3350, "ctxt": 0 }, "kind": "string" } ] } } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 3355, "end": 3380, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 3356, "end": 3379, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3356, "end": 3364, "ctxt": 0 }, "value": "elements", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3364, "end": 3379, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3366, "end": 3379, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3366, "end": 3371, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3371, "end": 3379, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 3372, "end": 3378, "ctxt": 0 }, "kind": "number" } ] } } }, "typeParams": null } ] } ] }, "default": null } ] }, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 3479, "end": 3482, "ctxt": 0 }, "value": "fn2", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 3508, "end": 3516, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3508, "end": 3516, "ctxt": 0 }, "value": "param", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3513, "end": 3516, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3515, "end": 3516, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3515, "end": 3516, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 3518, "end": 3550, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3518, "end": 3550, "ctxt": 0 }, "value": "cb", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3520, "end": 3550, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3522, "end": 3550, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3523, "end": 3541, "ctxt": 0 }, "value": "element", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3530, "end": 3541, "ctxt": 0 }, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 3532, "end": 3541, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 3532, "end": 3533, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3532, "end": 3533, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, "indexType": { "type": "TsKeywordType", "span": { "start": 3534, "end": 3540, "ctxt": 0 }, "kind": "number" } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3543, "end": 3550, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3546, "end": 3550, "ctxt": 0 }, "kind": "void" } } } } } } ], "decorators": [], "span": { "start": 3470, "end": 3573, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 3552, "end": 3573, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 3558, "end": 3571, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 3558, "end": 3570, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 3558, "end": 3560, "ctxt": 0 }, "value": "cb", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3561, "end": 3569, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3561, "end": 3566, "ctxt": 0 }, "value": "param", "optional": false }, "property": { "type": "Computed", "span": { "start": 3566, "end": 3569, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 3567, "end": 3568, "ctxt": 0 }, "value": 0.0 } } } } ], "typeArguments": null } } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3482, "end": 3507, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3483, "end": 3506, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3483, "end": 3484, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 3493, "end": 3506, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3493, "end": 3498, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3498, "end": 3506, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 3499, "end": 3505, "ctxt": 0 }, "kind": "string" } ] } }, "default": null } ] }, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 3606, "end": 3609, "ctxt": 0 }, "value": "fn3", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 3643, "end": 3651, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3643, "end": 3651, "ctxt": 0 }, "value": "param", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3648, "end": 3651, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 3650, "end": 3651, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3650, "end": 3651, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 3653, "end": 3685, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 3653, "end": 3685, "ctxt": 0 }, "value": "cb", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3655, "end": 3685, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 3657, "end": 3685, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 3658, "end": 3676, "ctxt": 0 }, "value": "element", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3665, "end": 3676, "ctxt": 0 }, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 3667, "end": 3676, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 3667, "end": 3668, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3667, "end": 3668, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, "indexType": { "type": "TsKeywordType", "span": { "start": 3669, "end": 3675, "ctxt": 0 }, "kind": "number" } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3678, "end": 3685, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3681, "end": 3685, "ctxt": 0 }, "kind": "void" } } } } } } ], "decorators": [], "span": { "start": 3597, "end": 3708, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 3687, "end": 3708, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 3693, "end": 3706, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 3693, "end": 3705, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 3693, "end": 3695, "ctxt": 0 }, "value": "cb", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "MemberExpression", "span": { "start": 3696, "end": 3704, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3696, "end": 3701, "ctxt": 0 }, "value": "param", "optional": false }, "property": { "type": "Computed", "span": { "start": 3701, "end": 3704, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 3702, "end": 3703, "ctxt": 0 }, "value": 0.0 } } } } ], "typeArguments": null } } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3609, "end": 3642, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3610, "end": 3641, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3610, "end": 3611, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 3620, "end": 3641, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3620, "end": 3633, "ctxt": 0 }, "value": "ReadonlyArray", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3633, "end": 3641, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 3634, "end": 3640, "ctxt": 0 }, "kind": "string" } ] } }, "default": null } ] }, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 3719, "end": 3722, "ctxt": 0 }, "value": "fn4", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 3710, "end": 3828, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 3743, "end": 3828, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 3749, "end": 3781, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3753, "end": 3780, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3753, "end": 3754, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3754, "end": 3772, "ctxt": 0 }, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 3756, "end": 3772, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 3756, "end": 3769, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3756, "end": 3761, "ctxt": 0 }, "value": "Array", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3761, "end": 3769, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 3762, "end": 3768, "ctxt": 0 }, "kind": "string" } ] } }, "indexType": { "type": "TsTypeReference", "span": { "start": 3770, "end": 3771, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3770, "end": 3771, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } } } }, "init": { "type": "StringLiteral", "span": { "start": 3775, "end": 3780, "ctxt": 0 }, "value": "abc", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3786, "end": 3826, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3790, "end": 3825, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3790, "end": 3791, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3791, "end": 3817, "ctxt": 0 }, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 3793, "end": 3817, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 3793, "end": 3814, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3793, "end": 3806, "ctxt": 0 }, "value": "ReadonlyArray", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3806, "end": 3814, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 3807, "end": 3813, "ctxt": 0 }, "kind": "string" } ] } }, "indexType": { "type": "TsTypeReference", "span": { "start": 3815, "end": 3816, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3815, "end": 3816, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } } } }, "init": { "type": "StringLiteral", "span": { "start": 3820, "end": 3825, "ctxt": 0 }, "value": "abc", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "definite": false } ] } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 3722, "end": 3740, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3723, "end": 3739, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3723, "end": 3724, "ctxt": 0 }, "value": "K", "optional": false }, "constraint": { "type": "TsKeywordType", "span": { "start": 3733, "end": 3739, "ctxt": 0 }, "kind": "number" }, "default": null } ] }, "returnType": null }, { "type": "ExportDeclaration", "span": { "start": 3863, "end": 3965, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 3876, "end": 3877, "ctxt": 0 }, "value": "c", "optional": false }, "declare": false, "span": { "start": 3870, "end": 3965, "ctxt": 0 }, "decorators": [], "body": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 3883, "end": 3892, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3884, "end": 3892, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3886, "end": 3892, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3893, "end": 3901, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3895, "end": 3901, "ctxt": 0 }, "kind": "string" } }, "readonly": false, "static": false, "span": { "start": 3882, "end": 3902, "ctxt": 0 } }, { "type": "Constructor", "span": { "start": 3905, "end": 3963, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 3905, "end": 3916, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [], "body": { "type": "BlockStatement", "span": { "start": 3919, "end": 3963, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 3925, "end": 3938, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3925, "end": 3937, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3925, "end": 3931, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3925, "end": 3929, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 3930, "end": 3931, "ctxt": 0 }, "value": "a", "optional": false } }, "right": { "type": "StringLiteral", "span": { "start": 3934, "end": 3937, "ctxt": 0 }, "value": "b", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, { "type": "ExpressionStatement", "span": { "start": 3943, "end": 3959, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 3943, "end": 3958, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 3943, "end": 3952, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 3943, "end": 3947, "ctxt": 0 } }, "property": { "type": "Computed", "span": { "start": 3947, "end": 3952, "ctxt": 0 }, "expression": { "type": "StringLiteral", "span": { "start": 3948, "end": 3951, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "right": { "type": "StringLiteral", "span": { "start": 3955, "end": 3958, "ctxt": 0 }, "value": "b", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } } ] }, "accessibility": null, "isOptional": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 3989, "end": 4053, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 3994, "end": 3997, "ctxt": 0 }, "value": "Foo", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 3997, "end": 4000, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 3998, "end": 3999, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3998, "end": 3999, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 4003, "end": 4052, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 4006, "end": 4017, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4009, "end": 4017, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4011, "end": 4017, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4018, "end": 4050, "ctxt": 0 }, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 4020, "end": 4050, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsMappedType", "span": { "start": 4020, "end": 4041, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 4023, "end": 4035, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4023, "end": 4024, "ctxt": 0 }, "value": "K", "optional": false }, "constraint": { "type": "TsTypeOperator", "span": { "start": 4028, "end": 4035, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4034, "end": 4035, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4034, "end": 4035, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4038, "end": 4039, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4038, "end": 4039, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } }, "indexType": { "type": "TsTypeOperator", "span": { "start": 4042, "end": 4049, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4048, "end": 4049, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4048, "end": 4049, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "readonly": false, "static": false, "span": { "start": 4005, "end": 4050, "ctxt": 0 } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 4055, "end": 4121, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 4060, "end": 4063, "ctxt": 0 }, "value": "Bar", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 4063, "end": 4066, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4064, "end": 4065, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4064, "end": 4065, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 4069, "end": 4120, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 4072, "end": 4083, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4075, "end": 4083, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 4077, "end": 4083, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 4084, "end": 4118, "ctxt": 0 }, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 4086, "end": 4118, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsMappedType", "span": { "start": 4086, "end": 4109, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 4089, "end": 4101, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4089, "end": 4090, "ctxt": 0 }, "value": "K", "optional": false }, "constraint": { "type": "TsTypeOperator", "span": { "start": 4094, "end": 4101, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4100, "end": 4101, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4100, "end": 4101, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsTupleType", "span": { "start": 4104, "end": 4107, "ctxt": 0 }, "elemTypes": [ { "type": "TsTupleElement", "span": { "start": 4105, "end": 4106, "ctxt": 0 }, "label": null, "ty": { "type": "TsTypeReference", "span": { "start": 4105, "end": 4106, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4105, "end": 4106, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } } ] } }, "indexType": { "type": "TsTypeOperator", "span": { "start": 4110, "end": 4117, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4116, "end": 4117, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4116, "end": 4117, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } } } }, "readonly": false, "static": false, "span": { "start": 4071, "end": 4118, "ctxt": 0 } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 4123, "end": 4183, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 4128, "end": 4131, "ctxt": 0 }, "value": "Baz", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 4131, "end": 4152, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4132, "end": 4133, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4132, "end": 4133, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 4135, "end": 4151, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4135, "end": 4136, "ctxt": 0 }, "value": "Q", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 4145, "end": 4151, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4145, "end": 4148, "ctxt": 0 }, "value": "Foo", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 4148, "end": 4151, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 4149, "end": 4150, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4149, "end": 4150, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } }, "default": null } ] }, "typeAnnotation": { "type": "TsMappedType", "span": { "start": 4155, "end": 4182, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 4158, "end": 4170, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4158, "end": 4159, "ctxt": 0 }, "value": "K", "optional": false }, "constraint": { "type": "TsTypeOperator", "span": { "start": 4163, "end": 4170, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4169, "end": 4170, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4169, "end": 4170, "ctxt": 0 }, "value": "Q", "optional": false }, "typeParams": null } }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 4173, "end": 4180, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 4173, "end": 4174, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4173, "end": 4174, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, "indexType": { "type": "TsIndexedAccessType", "span": { "start": 4175, "end": 4179, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 4175, "end": 4176, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4175, "end": 4176, "ctxt": 0 }, "value": "Q", "optional": false }, "typeParams": null }, "indexType": { "type": "TsTypeReference", "span": { "start": 4177, "end": 4178, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4177, "end": 4178, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } } } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 4185, "end": 4250, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 4190, "end": 4193, "ctxt": 0 }, "value": "Qux", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 4193, "end": 4214, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 4194, "end": 4195, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4194, "end": 4195, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 4197, "end": 4213, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4197, "end": 4198, "ctxt": 0 }, "value": "Q", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 4207, "end": 4213, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4207, "end": 4210, "ctxt": 0 }, "value": "Bar", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 4210, "end": 4213, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 4211, "end": 4212, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4211, "end": 4212, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } }, "default": null } ] }, "typeAnnotation": { "type": "TsMappedType", "span": { "start": 4217, "end": 4249, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 4220, "end": 4232, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4220, "end": 4221, "ctxt": 0 }, "value": "K", "optional": false }, "constraint": { "type": "TsTypeOperator", "span": { "start": 4225, "end": 4232, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 4231, "end": 4232, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4231, "end": 4232, "ctxt": 0 }, "value": "Q", "optional": false }, "typeParams": null } }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 4235, "end": 4247, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 4235, "end": 4236, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4235, "end": 4236, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, "indexType": { "type": "TsIndexedAccessType", "span": { "start": 4237, "end": 4246, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsIndexedAccessType", "span": { "start": 4237, "end": 4241, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 4237, "end": 4238, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4237, "end": 4238, "ctxt": 0 }, "value": "Q", "optional": false }, "typeParams": null }, "indexType": { "type": "TsTypeReference", "span": { "start": 4239, "end": 4240, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4239, "end": 4240, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } }, "indexType": { "type": "TsLiteralType", "span": { "start": 4242, "end": 4245, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 4242, "end": 4245, "ctxt": 0 }, "value": "0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } } } } }, { "type": "VariableDeclaration", "span": { "start": 4274, "end": 4324, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4280, "end": 4323, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4280, "end": 4287, "ctxt": 0 }, "value": "actions", "optional": false, "typeAnnotation": null }, "init": { "type": "TsConstAssertion", "span": { "start": 4290, "end": 4323, "ctxt": 0 }, "expression": { "type": "ArrayExpression", "span": { "start": 4290, "end": 4314, "ctxt": 0 }, "elements": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 4291, "end": 4301, "ctxt": 0 }, "value": "resizeTo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 4303, "end": 4313, "ctxt": 0 }, "value": "resizeBy", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } }, "definite": false } ] }, { "type": "ForOfStatement", "span": { "start": 4325, "end": 4415, "ctxt": 0 }, "await": null, "left": { "type": "VariableDeclaration", "span": { "start": 4330, "end": 4342, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4336, "end": 4342, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4336, "end": 4342, "ctxt": 0 }, "value": "action", "optional": false, "typeAnnotation": null }, "init": null, "definite": false } ] }, "right": { "type": "Identifier", "span": { "start": 4346, "end": 4353, "ctxt": 0 }, "value": "actions", "optional": false }, "body": { "type": "BlockStatement", "span": { "start": 4355, "end": 4415, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 4358, "end": 4413, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 4358, "end": 4413, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 4358, "end": 4372, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4358, "end": 4364, "ctxt": 0 }, "value": "window", "optional": false }, "property": { "type": "Computed", "span": { "start": 4364, "end": 4372, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 4365, "end": 4371, "ctxt": 0 }, "value": "action", "optional": false } } }, "right": { "type": "ArrowFunctionExpression", "span": { "start": 4375, "end": 4413, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 4376, "end": 4377, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, { "type": "Identifier", "span": { "start": 4379, "end": 4380, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 4385, "end": 4413, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 4389, "end": 4410, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 4389, "end": 4409, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 4389, "end": 4403, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4389, "end": 4395, "ctxt": 0 }, "value": "window", "optional": false }, "property": { "type": "Computed", "span": { "start": 4395, "end": 4403, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 4396, "end": 4402, "ctxt": 0 }, "value": "action", "optional": false } } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4404, "end": 4405, "ctxt": 0 }, "value": "x", "optional": false } }, { "spread": null, "expression": { "type": "Identifier", "span": { "start": 4407, "end": 4408, "ctxt": 0 }, "value": "y", "optional": false } } ], "typeArguments": null } } ] }, "async": false, "generator": false, "typeParameters": null, "returnType": null } } } ] } } ], "interpreter": null }