{ "type": "Script", "span": { "start": 18, "end": 2685, "ctxt": 0 }, "body": [ { "type": "VariableDeclaration", "span": { "start": 18, "end": 52, "ctxt": 0 }, "kind": "const", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 32, "end": 51, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 32, "end": 36, "ctxt": 0 }, "value": "sym1", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 36, "end": 51, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeOperator", "span": { "start": 38, "end": 51, "ctxt": 0 }, "op": "unique", "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 45, "end": 51, "ctxt": 0 }, "kind": "symbol" } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 53, "end": 87, "ctxt": 0 }, "kind": "const", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 67, "end": 86, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 67, "end": 71, "ctxt": 0 }, "value": "sym2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 71, "end": 86, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeOperator", "span": { "start": 73, "end": 86, "ctxt": 0 }, "op": "unique", "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 80, "end": 86, "ctxt": 0 }, "kind": "symbol" } } } }, "init": null, "definite": false } ] }, { "type": "TsTypeAliasDeclaration", "span": { "start": 89, "end": 112, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 94, "end": 96, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 99, "end": 111, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 99, "end": 105, "ctxt": 0 }, "kind": "string" }, { "type": "TsLiteralType", "span": { "start": 108, "end": 111, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 108, "end": 111, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 121, "end": 150, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 126, "end": 128, "ctxt": 0 }, "value": "T2", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 131, "end": 149, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 131, "end": 134, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 131, "end": 134, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "TsKeywordType", "span": { "start": 137, "end": 143, "ctxt": 0 }, "kind": "string" }, { "type": "TsLiteralType", "span": { "start": 146, "end": 149, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 146, "end": 149, "ctxt": 0 }, "value": "b", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 161, "end": 183, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 166, "end": 168, "ctxt": 0 }, "value": "T3", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 171, "end": 182, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 171, "end": 177, "ctxt": 0 }, "kind": "number" }, { "type": "TsLiteralType", "span": { "start": 180, "end": 182, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 180, "end": 182, "ctxt": 0 }, "value": 10.0 } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 191, "end": 218, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 196, "end": 198, "ctxt": 0 }, "value": "T4", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 201, "end": 217, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 201, "end": 203, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 201, "end": 203, "ctxt": 0 }, "value": 10.0 } }, { "type": "TsKeywordType", "span": { "start": 206, "end": 212, "ctxt": 0 }, "kind": "number" }, { "type": "TsLiteralType", "span": { "start": 215, "end": 217, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 215, "end": 217, "ctxt": 0 }, "value": 20.0 } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 229, "end": 260, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 234, "end": 236, "ctxt": 0 }, "value": "T5", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 239, "end": 259, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 239, "end": 245, "ctxt": 0 }, "kind": "symbol" }, { "type": "TsTypeQuery", "span": { "start": 248, "end": 259, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 255, "end": 259, "ctxt": 0 }, "value": "sym1", "optional": false }, "typeArguments": null } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 277, "end": 322, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 282, "end": 284, "ctxt": 0 }, "value": "T6", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 287, "end": 321, "ctxt": 0 }, "types": [ { "type": "TsTypeQuery", "span": { "start": 287, "end": 298, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 294, "end": 298, "ctxt": 0 }, "value": "sym1", "optional": false }, "typeArguments": null }, { "type": "TsKeywordType", "span": { "start": 301, "end": 307, "ctxt": 0 }, "kind": "symbol" }, { "type": "TsTypeQuery", "span": { "start": 310, "end": 321, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 317, "end": 321, "ctxt": 0 }, "value": "sym2", "optional": false }, "typeArguments": null } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 333, "end": 393, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 338, "end": 340, "ctxt": 0 }, "value": "T7", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 343, "end": 392, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 343, "end": 349, "ctxt": 0 }, "kind": "string" }, { "type": "TsLiteralType", "span": { "start": 352, "end": 355, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 352, "end": 355, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "TsKeywordType", "span": { "start": 358, "end": 364, "ctxt": 0 }, "kind": "number" }, { "type": "TsLiteralType", "span": { "start": 367, "end": 369, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 367, "end": 369, "ctxt": 0 }, "value": 10.0 } }, { "type": "TsKeywordType", "span": { "start": 372, "end": 378, "ctxt": 0 }, "kind": "symbol" }, { "type": "TsTypeQuery", "span": { "start": 381, "end": 392, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 388, "end": 392, "ctxt": 0 }, "value": "sym1", "optional": false }, "typeArguments": null } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 405, "end": 437, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 410, "end": 413, "ctxt": 0 }, "value": "T10", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 416, "end": 436, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 416, "end": 422, "ctxt": 0 }, "kind": "string" }, { "type": "TsParenthesizedType", "span": { "start": 425, "end": 436, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 426, "end": 435, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 426, "end": 429, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 426, "end": 429, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "TsLiteralType", "span": { "start": 432, "end": 435, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 432, "end": 435, "ctxt": 0 }, "value": "b", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 452, "end": 494, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 457, "end": 460, "ctxt": 0 }, "value": "T11", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 463, "end": 493, "ctxt": 0 }, "types": [ { "type": "TsParenthesizedType", "span": { "start": 463, "end": 480, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 464, "end": 479, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 464, "end": 470, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 473, "end": 479, "ctxt": 0 }, "kind": "number" } ] } }, { "type": "TsParenthesizedType", "span": { "start": 483, "end": 493, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 484, "end": 492, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 484, "end": 487, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 484, "end": 487, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "TsLiteralType", "span": { "start": 490, "end": 492, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 490, "end": 492, "ctxt": 0 }, "value": 10.0 } } ] } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 509, "end": 529, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 514, "end": 516, "ctxt": 0 }, "value": "N1", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 519, "end": 528, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 519, "end": 522, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 519, "end": 522, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "TsLiteralType", "span": { "start": 525, "end": 528, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 525, "end": 528, "ctxt": 0 }, "value": "b", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 530, "end": 561, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 535, "end": 537, "ctxt": 0 }, "value": "N2", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 540, "end": 560, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 540, "end": 553, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 542, "end": 551, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 542, "end": 543, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 543, "end": 551, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 545, "end": 551, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsKeywordType", "span": { "start": 556, "end": 560, "ctxt": 0 }, "kind": "null" } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 562, "end": 598, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 567, "end": 569, "ctxt": 0 }, "value": "N3", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 572, "end": 597, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 572, "end": 585, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 574, "end": 583, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 574, "end": 575, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 575, "end": 583, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 577, "end": 583, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsKeywordType", "span": { "start": 588, "end": 597, "ctxt": 0 }, "kind": "undefined" } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 599, "end": 625, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 604, "end": 606, "ctxt": 0 }, "value": "N4", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 609, "end": 624, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 609, "end": 615, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 618, "end": 624, "ctxt": 0 }, "kind": "number" } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 626, "end": 652, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 631, "end": 633, "ctxt": 0 }, "value": "N5", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 636, "end": 651, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 636, "end": 642, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 645, "end": 651, "ctxt": 0 }, "kind": "object" } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 653, "end": 679, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 658, "end": 660, "ctxt": 0 }, "value": "N6", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 663, "end": 678, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 663, "end": 669, "ctxt": 0 }, "kind": "symbol" }, { "type": "TsKeywordType", "span": { "start": 672, "end": 678, "ctxt": 0 }, "kind": "string" } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 680, "end": 704, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 685, "end": 687, "ctxt": 0 }, "value": "N7", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 690, "end": 703, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 690, "end": 694, "ctxt": 0 }, "kind": "void" }, { "type": "TsKeywordType", "span": { "start": 697, "end": 703, "ctxt": 0 }, "kind": "string" } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 706, "end": 729, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 711, "end": 712, "ctxt": 0 }, "value": "X", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 715, "end": 728, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 717, "end": 726, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 717, "end": 718, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 718, "end": 726, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 720, "end": 726, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 731, "end": 755, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 736, "end": 738, "ctxt": 0 }, "value": "X1", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 741, "end": 754, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 741, "end": 742, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 741, "end": 742, "ctxt": 0 }, "value": "X", "optional": false }, "typeParams": null }, { "type": "TsIntersectionType", "span": { "start": 745, "end": 754, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 745, "end": 748, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 745, "end": 748, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "TsLiteralType", "span": { "start": 751, "end": 754, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 751, "end": 754, "ctxt": 0 }, "value": "b", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 756, "end": 791, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 761, "end": 763, "ctxt": 0 }, "value": "X2", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 766, "end": 790, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 766, "end": 767, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 766, "end": 767, "ctxt": 0 }, "value": "X", "optional": false }, "typeParams": null }, { "type": "TsIntersectionType", "span": { "start": 770, "end": 790, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 770, "end": 783, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 772, "end": 781, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 772, "end": 773, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 773, "end": 781, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 775, "end": 781, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsKeywordType", "span": { "start": 786, "end": 790, "ctxt": 0 }, "kind": "null" } ] } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 792, "end": 832, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 797, "end": 799, "ctxt": 0 }, "value": "X3", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 802, "end": 831, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 802, "end": 803, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 802, "end": 803, "ctxt": 0 }, "value": "X", "optional": false }, "typeParams": null }, { "type": "TsIntersectionType", "span": { "start": 806, "end": 831, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 806, "end": 819, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 808, "end": 817, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 808, "end": 809, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 809, "end": 817, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 811, "end": 817, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsKeywordType", "span": { "start": 822, "end": 831, "ctxt": 0 }, "kind": "undefined" } ] } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 833, "end": 863, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 838, "end": 840, "ctxt": 0 }, "value": "X4", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 843, "end": 862, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 843, "end": 844, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 843, "end": 844, "ctxt": 0 }, "value": "X", "optional": false }, "typeParams": null }, { "type": "TsIntersectionType", "span": { "start": 847, "end": 862, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 847, "end": 853, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 856, "end": 862, "ctxt": 0 }, "kind": "number" } ] } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 864, "end": 894, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 869, "end": 871, "ctxt": 0 }, "value": "X5", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 874, "end": 893, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 874, "end": 875, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 874, "end": 875, "ctxt": 0 }, "value": "X", "optional": false }, "typeParams": null }, { "type": "TsIntersectionType", "span": { "start": 878, "end": 893, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 878, "end": 884, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 887, "end": 893, "ctxt": 0 }, "kind": "object" } ] } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 895, "end": 925, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 900, "end": 902, "ctxt": 0 }, "value": "X6", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 905, "end": 924, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 905, "end": 906, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 905, "end": 906, "ctxt": 0 }, "value": "X", "optional": false }, "typeParams": null }, { "type": "TsIntersectionType", "span": { "start": 909, "end": 924, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 909, "end": 915, "ctxt": 0 }, "kind": "symbol" }, { "type": "TsKeywordType", "span": { "start": 918, "end": 924, "ctxt": 0 }, "kind": "string" } ] } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 926, "end": 954, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 931, "end": 933, "ctxt": 0 }, "value": "X7", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 936, "end": 953, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 936, "end": 937, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 936, "end": 937, "ctxt": 0 }, "value": "X", "optional": false }, "typeParams": null }, { "type": "TsIntersectionType", "span": { "start": 940, "end": 953, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 940, "end": 944, "ctxt": 0 }, "kind": "void" }, { "type": "TsKeywordType", "span": { "start": 947, "end": 953, "ctxt": 0 }, "kind": "string" } ] } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 956, "end": 992, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 961, "end": 962, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 965, "end": 991, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 967, "end": 977, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 967, "end": 971, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 971, "end": 976, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 973, "end": 976, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 973, "end": 976, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 978, "end": 989, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 978, "end": 981, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 981, "end": 989, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 983, "end": 989, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 993, "end": 1029, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 998, "end": 999, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1002, "end": 1028, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1004, "end": 1014, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1004, "end": 1008, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1008, "end": 1013, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1010, "end": 1013, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 1010, "end": 1013, "ctxt": 0 }, "value": "b", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1015, "end": 1026, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1015, "end": 1018, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1018, "end": 1026, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1020, "end": 1026, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1030, "end": 1066, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1035, "end": 1036, "ctxt": 0 }, "value": "C", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 1039, "end": 1065, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1041, "end": 1051, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1041, "end": 1045, "ctxt": 0 }, "value": "kind", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1045, "end": 1050, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1047, "end": 1050, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 1047, "end": 1050, "ctxt": 0 }, "value": "c", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1052, "end": 1063, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1052, "end": 1055, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1055, "end": 1063, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1057, "end": 1063, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "VariableDeclaration", "span": { "start": 1068, "end": 1090, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1080, "end": 1089, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1080, "end": 1082, "ctxt": 0 }, "value": "ab", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1082, "end": 1089, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 1084, "end": 1089, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1084, "end": 1085, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1084, "end": 1085, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1088, "end": 1089, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1088, "end": 1089, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1091, "end": 1099, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 1091, "end": 1098, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1091, "end": 1093, "ctxt": 0 }, "value": "ab", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1094, "end": 1098, "ctxt": 0 }, "value": "kind", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 1111, "end": 1138, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1123, "end": 1137, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1123, "end": 1124, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1124, "end": 1137, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1126, "end": 1137, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1126, "end": 1127, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1126, "end": 1127, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null }, { "type": "TsParenthesizedType", "span": { "start": 1130, "end": 1137, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 1131, "end": 1136, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1131, "end": 1132, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1131, "end": 1132, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1135, "end": 1136, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1135, "end": 1136, "ctxt": 0 }, "value": "C", "optional": false }, "typeParams": null } ] } } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1145, "end": 1158, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1149, "end": 1157, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1149, "end": 1150, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1150, "end": 1153, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1152, "end": 1153, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1152, "end": 1153, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null } } }, "init": { "type": "Identifier", "span": { "start": 1156, "end": 1157, "ctxt": 0 }, "value": "x", "optional": false }, "definite": false } ] }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1160, "end": 1176, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1165, "end": 1167, "ctxt": 0 }, "value": "AB", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 1170, "end": 1175, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1170, "end": 1171, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1170, "end": 1171, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1174, "end": 1175, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1174, "end": 1175, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1187, "end": 1203, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1192, "end": 1194, "ctxt": 0 }, "value": "BC", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 1197, "end": 1202, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1197, "end": 1198, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1197, "end": 1198, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1201, "end": 1202, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1201, "end": 1202, "ctxt": 0 }, "value": "C", "optional": false }, "typeParams": null } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1215, "end": 1240, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1220, "end": 1222, "ctxt": 0 }, "value": "U1", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1225, "end": 1239, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1225, "end": 1232, "ctxt": 0 }, "value": "Partial", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1232, "end": 1239, "ctxt": 0 }, "params": [ { "type": "TsIntersectionType", "span": { "start": 1233, "end": 1238, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1233, "end": 1234, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1233, "end": 1234, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1237, "end": 1238, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1237, "end": 1238, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null } ] } ] } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1251, "end": 1277, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1256, "end": 1258, "ctxt": 0 }, "value": "U2", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1261, "end": 1276, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1261, "end": 1269, "ctxt": 0 }, "value": "Readonly", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1269, "end": 1276, "ctxt": 0 }, "params": [ { "type": "TsIntersectionType", "span": { "start": 1270, "end": 1275, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1270, "end": 1271, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1270, "end": 1271, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1274, "end": 1275, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1274, "end": 1275, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null } ] } ] } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1288, "end": 1314, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1293, "end": 1295, "ctxt": 0 }, "value": "U3", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 1298, "end": 1313, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsParenthesizedType", "span": { "start": 1298, "end": 1305, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 1299, "end": 1304, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1299, "end": 1300, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1299, "end": 1300, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1303, "end": 1304, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1303, "end": 1304, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null } ] } }, "indexType": { "type": "TsLiteralType", "span": { "start": 1306, "end": 1312, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 1306, "end": 1312, "ctxt": 0 }, "value": "kind", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1325, "end": 1349, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1330, "end": 1332, "ctxt": 0 }, "value": "U4", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1335, "end": 1348, "ctxt": 0 }, "types": [ { "type": "TsIntersectionType", "span": { "start": 1335, "end": 1340, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1335, "end": 1336, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1335, "end": 1336, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1339, "end": 1340, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1339, "end": 1340, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null } ] }, { "type": "TsIntersectionType", "span": { "start": 1343, "end": 1348, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1343, "end": 1344, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1343, "end": 1344, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1347, "end": 1348, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1347, "end": 1348, "ctxt": 0 }, "value": "C", "optional": false }, "typeParams": null } ] } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1360, "end": 1380, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1365, "end": 1367, "ctxt": 0 }, "value": "U5", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1370, "end": 1379, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1370, "end": 1371, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1370, "end": 1371, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null }, { "type": "TsIntersectionType", "span": { "start": 1374, "end": 1379, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1374, "end": 1375, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1374, "end": 1375, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1378, "end": 1379, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1378, "end": 1379, "ctxt": 0 }, "value": "C", "optional": false }, "typeParams": null } ] } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1388, "end": 1412, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1393, "end": 1395, "ctxt": 0 }, "value": "K1", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeOperator", "span": { "start": 1398, "end": 1411, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsParenthesizedType", "span": { "start": 1404, "end": 1411, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 1405, "end": 1410, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1405, "end": 1406, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1405, "end": 1406, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1409, "end": 1410, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1409, "end": 1410, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null } ] } } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1442, "end": 1470, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1447, "end": 1449, "ctxt": 0 }, "value": "K2", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1452, "end": 1469, "ctxt": 0 }, "types": [ { "type": "TsTypeOperator", "span": { "start": 1452, "end": 1459, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1458, "end": 1459, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1458, "end": 1459, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null } }, { "type": "TsTypeOperator", "span": { "start": 1462, "end": 1469, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1468, "end": 1469, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1468, "end": 1469, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1491, "end": 1578, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1496, "end": 1502, "ctxt": 0 }, "value": "Merge1", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1502, "end": 1508, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1503, "end": 1504, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1503, "end": 1504, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1506, "end": 1507, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1506, "end": 1507, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsMappedType", "span": { "start": 1511, "end": 1578, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 1514, "end": 1532, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1514, "end": 1515, "ctxt": 0 }, "value": "P", "optional": false }, "constraint": { "type": "TsTypeOperator", "span": { "start": 1519, "end": 1532, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsParenthesizedType", "span": { "start": 1525, "end": 1532, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 1526, "end": 1531, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1526, "end": 1527, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1526, "end": 1527, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1530, "end": 1531, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1530, "end": 1531, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } ] } } }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsConditionalType", "span": { "start": 1535, "end": 1576, "ctxt": 0 }, "checkType": { "type": "TsTypeReference", "span": { "start": 1535, "end": 1536, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1535, "end": 1536, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null }, "extendsType": { "type": "TsTypeOperator", "span": { "start": 1545, "end": 1552, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1551, "end": 1552, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1551, "end": 1552, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "trueType": { "type": "TsIndexedAccessType", "span": { "start": 1555, "end": 1559, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 1555, "end": 1556, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1555, "end": 1556, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, "indexType": { "type": "TsTypeReference", "span": { "start": 1557, "end": 1558, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1557, "end": 1558, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null } }, "falseType": { "type": "TsIndexedAccessType", "span": { "start": 1562, "end": 1576, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 1562, "end": 1563, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1562, "end": 1563, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null }, "indexType": { "type": "TsIntersectionType", "span": { "start": 1564, "end": 1575, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1564, "end": 1565, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1564, "end": 1565, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null }, { "type": "TsTypeOperator", "span": { "start": 1568, "end": 1575, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1574, "end": 1575, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1574, "end": 1575, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } ] } } } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1579, "end": 1670, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1584, "end": 1590, "ctxt": 0 }, "value": "Merge2", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1590, "end": 1596, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1591, "end": 1592, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1591, "end": 1592, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1594, "end": 1595, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1594, "end": 1595, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsMappedType", "span": { "start": 1599, "end": 1670, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 1602, "end": 1624, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1602, "end": 1603, "ctxt": 0 }, "value": "P", "optional": false }, "constraint": { "type": "TsUnionType", "span": { "start": 1607, "end": 1624, "ctxt": 0 }, "types": [ { "type": "TsTypeOperator", "span": { "start": 1607, "end": 1614, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1613, "end": 1614, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1613, "end": 1614, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, { "type": "TsTypeOperator", "span": { "start": 1617, "end": 1624, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1623, "end": 1624, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1623, "end": 1624, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } ] }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsConditionalType", "span": { "start": 1627, "end": 1668, "ctxt": 0 }, "checkType": { "type": "TsTypeReference", "span": { "start": 1627, "end": 1628, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1627, "end": 1628, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null }, "extendsType": { "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 } }, "trueType": { "type": "TsIndexedAccessType", "span": { "start": 1647, "end": 1651, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 1647, "end": 1648, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1647, "end": 1648, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, "indexType": { "type": "TsTypeReference", "span": { "start": 1649, "end": 1650, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1649, "end": 1650, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null } }, "falseType": { "type": "TsIndexedAccessType", "span": { "start": 1654, "end": 1668, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 1654, "end": 1655, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1654, "end": 1655, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null }, "indexType": { "type": "TsIntersectionType", "span": { "start": 1656, "end": 1667, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1656, "end": 1657, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1656, "end": 1657, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null }, { "type": "TsTypeOperator", "span": { "start": 1660, "end": 1667, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1666, "end": 1667, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1666, "end": 1667, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } } ] } } } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1672, "end": 1714, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1677, "end": 1679, "ctxt": 0 }, "value": "M1", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 1682, "end": 1713, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 1682, "end": 1696, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1684, "end": 1689, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1684, "end": 1685, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1685, "end": 1688, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1687, "end": 1688, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1687, "end": 1688, "ctxt": 0 }, "value": 1.0 } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1690, "end": 1694, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1690, "end": 1691, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1691, "end": 1694, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1693, "end": 1694, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1693, "end": 1694, "ctxt": 0 }, "value": 2.0 } } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 1699, "end": 1713, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1701, "end": 1706, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1701, "end": 1702, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1702, "end": 1705, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1704, "end": 1705, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1704, "end": 1705, "ctxt": 0 }, "value": 2.0 } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1707, "end": 1711, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1707, "end": 1708, "ctxt": 0 }, "value": "c", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1708, "end": 1711, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1710, "end": 1711, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1710, "end": 1711, "ctxt": 0 }, "value": 3.0 } } }, "typeParams": null } ] } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1725, "end": 1774, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1730, "end": 1732, "ctxt": 0 }, "value": "M2", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1735, "end": 1773, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1735, "end": 1741, "ctxt": 0 }, "value": "Merge1", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1741, "end": 1773, "ctxt": 0 }, "params": [ { "type": "TsTypeLiteral", "span": { "start": 1742, "end": 1756, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1744, "end": 1749, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1744, "end": 1745, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1745, "end": 1748, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1747, "end": 1748, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1747, "end": 1748, "ctxt": 0 }, "value": 1.0 } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1750, "end": 1754, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1750, "end": 1751, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1751, "end": 1754, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1753, "end": 1754, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1753, "end": 1754, "ctxt": 0 }, "value": 2.0 } } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 1758, "end": 1772, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1760, "end": 1765, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1760, "end": 1761, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1761, "end": 1764, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1763, "end": 1764, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1763, "end": 1764, "ctxt": 0 }, "value": 2.0 } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1766, "end": 1770, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1766, "end": 1767, "ctxt": 0 }, "value": "c", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1767, "end": 1770, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1769, "end": 1770, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1769, "end": 1770, "ctxt": 0 }, "value": 3.0 } } }, "typeParams": null } ] } ] } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1782, "end": 1831, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1787, "end": 1789, "ctxt": 0 }, "value": "M3", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1792, "end": 1830, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1792, "end": 1798, "ctxt": 0 }, "value": "Merge2", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1798, "end": 1830, "ctxt": 0 }, "params": [ { "type": "TsTypeLiteral", "span": { "start": 1799, "end": 1813, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1801, "end": 1806, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1801, "end": 1802, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1802, "end": 1805, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1804, "end": 1805, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1804, "end": 1805, "ctxt": 0 }, "value": 1.0 } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1807, "end": 1811, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1807, "end": 1808, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1808, "end": 1811, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1810, "end": 1811, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1810, "end": 1811, "ctxt": 0 }, "value": 2.0 } } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 1815, "end": 1829, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1817, "end": 1822, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1817, "end": 1818, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1818, "end": 1821, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1820, "end": 1821, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1820, "end": 1821, "ctxt": 0 }, "value": 2.0 } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1823, "end": 1827, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1823, "end": 1824, "ctxt": 0 }, "value": "c", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1824, "end": 1827, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 1826, "end": 1827, "ctxt": 0 }, "literal": { "type": "NumericLiteral", "span": { "start": 1826, "end": 1827, "ctxt": 0 }, "value": 3.0 } } }, "typeParams": null } ] } ] } } }, { "type": "VariableDeclaration", "span": { "start": 1880, "end": 1911, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1886, "end": 1910, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1886, "end": 1888, "ctxt": 0 }, "value": "x1", "optional": false, "typeAnnotation": null }, "init": { "type": "ObjectExpression", "span": { "start": 1891, "end": 1910, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1893, "end": 1894, "ctxt": 0 }, "value": "a", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 1896, "end": 1901, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1903, "end": 1904, "ctxt": 0 }, "value": "b", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 1906, "end": 1908, "ctxt": 0 }, "value": 42.0 } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1912, "end": 1945, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1918, "end": 1944, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1918, "end": 1920, "ctxt": 0 }, "value": "x2", "optional": false, "typeAnnotation": null }, "init": { "type": "ObjectExpression", "span": { "start": 1923, "end": 1944, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1925, "end": 1926, "ctxt": 0 }, "value": "a", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 1928, "end": 1933, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1935, "end": 1936, "ctxt": 0 }, "value": "b", "optional": false }, "value": { "type": "BooleanLiteral", "span": { "start": 1938, "end": 1942, "ctxt": 0 }, "value": true } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1947, "end": 1972, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1959, "end": 1971, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1959, "end": 1960, "ctxt": 0 }, "value": "k", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1960, "end": 1971, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 1962, "end": 1971, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 1962, "end": 1965, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 1962, "end": 1965, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "TsLiteralType", "span": { "start": 1968, "end": 1971, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 1968, "end": 1971, "ctxt": 0 }, "value": "b", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 1974, "end": 1995, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 1974, "end": 1994, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 1974, "end": 1979, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1974, "end": 1976, "ctxt": 0 }, "value": "x1", "optional": false }, "property": { "type": "Computed", "span": { "start": 1976, "end": 1979, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1977, "end": 1978, "ctxt": 0 }, "value": "k", "optional": false } } }, "right": { "type": "TsAsExpression", "span": { "start": 1982, "end": 1994, "ctxt": 0 }, "expression": { "type": "StringLiteral", "span": { "start": 1982, "end": 1987, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1991, "end": 1994, "ctxt": 0 }, "kind": "any" } } } }, { "type": "ExpressionStatement", "span": { "start": 2006, "end": 2027, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2006, "end": 2026, "ctxt": 0 }, "operator": "=", "left": { "type": "MemberExpression", "span": { "start": 2006, "end": 2011, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2006, "end": 2008, "ctxt": 0 }, "value": "x2", "optional": false }, "property": { "type": "Computed", "span": { "start": 2008, "end": 2011, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 2009, "end": 2010, "ctxt": 0 }, "value": "k", "optional": false } } }, "right": { "type": "TsAsExpression", "span": { "start": 2014, "end": 2026, "ctxt": 0 }, "expression": { "type": "StringLiteral", "span": { "start": 2014, "end": 2019, "ctxt": 0 }, "value": "bar", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2023, "end": 2026, "ctxt": 0 }, "kind": "any" } } } }, { "type": "TsEnumDeclaration", "span": { "start": 2039, "end": 2057, "ctxt": 0 }, "declare": false, "isConst": true, "id": { "type": "Identifier", "span": { "start": 2050, "end": 2054, "ctxt": 0 }, "value": "Tag1", "optional": false }, "members": [] }, { "type": "TsEnumDeclaration", "span": { "start": 2058, "end": 2076, "ctxt": 0 }, "declare": false, "isConst": true, "id": { "type": "Identifier", "span": { "start": 2069, "end": 2073, "ctxt": 0 }, "value": "Tag2", "optional": false }, "members": [] }, { "type": "VariableDeclaration", "span": { "start": 2078, "end": 2108, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2090, "end": 2107, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2090, "end": 2092, "ctxt": 0 }, "value": "s1", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2092, "end": 2107, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 2094, "end": 2107, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 2094, "end": 2100, "ctxt": 0 }, "kind": "string" }, { "type": "TsTypeReference", "span": { "start": 2103, "end": 2107, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2103, "end": 2107, "ctxt": 0 }, "value": "Tag1", "optional": false }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2109, "end": 2139, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2121, "end": 2138, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2121, "end": 2123, "ctxt": 0 }, "value": "s2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2123, "end": 2138, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 2125, "end": 2138, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 2125, "end": 2131, "ctxt": 0 }, "kind": "string" }, { "type": "TsTypeReference", "span": { "start": 2134, "end": 2138, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2134, "end": 2138, "ctxt": 0 }, "value": "Tag2", "optional": false }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2141, "end": 2183, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2153, "end": 2182, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2153, "end": 2155, "ctxt": 0 }, "value": "t1", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2155, "end": 2182, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 2157, "end": 2182, "ctxt": 0 }, "types": [ { "type": "TsIntersectionType", "span": { "start": 2157, "end": 2170, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 2157, "end": 2163, "ctxt": 0 }, "kind": "string" }, { "type": "TsTypeReference", "span": { "start": 2166, "end": 2170, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2166, "end": 2170, "ctxt": 0 }, "value": "Tag1", "optional": false }, "typeParams": null } ] }, { "type": "TsKeywordType", "span": { "start": 2173, "end": 2182, "ctxt": 0 }, "kind": "undefined" } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2184, "end": 2226, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2196, "end": 2225, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2196, "end": 2198, "ctxt": 0 }, "value": "t2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2198, "end": 2225, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 2200, "end": 2225, "ctxt": 0 }, "types": [ { "type": "TsIntersectionType", "span": { "start": 2200, "end": 2213, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 2200, "end": 2206, "ctxt": 0 }, "kind": "string" }, { "type": "TsTypeReference", "span": { "start": 2209, "end": 2213, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2209, "end": 2213, "ctxt": 0 }, "value": "Tag2", "optional": false }, "typeParams": null } ] }, { "type": "TsKeywordType", "span": { "start": 2216, "end": 2225, "ctxt": 0 }, "kind": "undefined" } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 2228, "end": 2236, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2228, "end": 2235, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2228, "end": 2230, "ctxt": 0 }, "value": "s1", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2233, "end": 2235, "ctxt": 0 }, "value": "s2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2237, "end": 2245, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2237, "end": 2244, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2237, "end": 2239, "ctxt": 0 }, "value": "s2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2242, "end": 2244, "ctxt": 0 }, "value": "s1", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2247, "end": 2255, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2247, "end": 2254, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2247, "end": 2249, "ctxt": 0 }, "value": "t1", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2252, "end": 2254, "ctxt": 0 }, "value": "t2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 2256, "end": 2264, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 2256, "end": 2263, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 2256, "end": 2258, "ctxt": 0 }, "value": "t2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 2261, "end": 2263, "ctxt": 0 }, "value": "t1", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 2288, "end": 2332, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2294, "end": 2331, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2294, "end": 2296, "ctxt": 0 }, "value": "f1", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 2299, "end": 2331, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2300, "end": 2320, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2301, "end": 2320, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 2303, "end": 2320, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 2303, "end": 2306, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2303, "end": 2306, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "TsParenthesizedType", "span": { "start": 2309, "end": 2320, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 2310, "end": 2319, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 2310, "end": 2313, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2310, "end": 2313, "ctxt": 0 }, "value": "b", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "TsLiteralType", "span": { "start": 2316, "end": 2319, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2316, "end": 2319, "ctxt": 0 }, "value": "c", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } } ] } } } ], "body": { "type": "Identifier", "span": { "start": 2330, "end": 2331, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 2321, "end": 2326, "ctxt": 0 }, "typeAnnotation": { "type": "TsLiteralType", "span": { "start": 2323, "end": 2326, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2323, "end": 2326, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } } }, "definite": false } ] }, { "type": "TsTypeAliasDeclaration", "span": { "start": 2334, "end": 2391, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 2339, "end": 2348, "ctxt": 0 }, "value": "Container", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 2348, "end": 2369, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 2349, "end": 2368, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2349, "end": 2353, "ctxt": 0 }, "value": "Type", "optional": false }, "constraint": { "type": "TsKeywordType", "span": { "start": 2362, "end": 2368, "ctxt": 0 }, "kind": "string" }, "default": null } ] }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 2372, "end": 2391, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2378, "end": 2389, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2378, "end": 2382, "ctxt": 0 }, "value": "type", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2382, "end": 2388, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2384, "end": 2388, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2384, "end": 2388, "ctxt": 0 }, "value": "Type", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "VariableDeclaration", "span": { "start": 2393, "end": 2481, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2399, "end": 2480, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2399, "end": 2401, "ctxt": 0 }, "value": "f2", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 2404, "end": 2480, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2405, "end": 2458, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2406, "end": 2458, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 2408, "end": 2458, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 2408, "end": 2422, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2408, "end": 2417, "ctxt": 0 }, "value": "Container", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2417, "end": 2422, "ctxt": 0 }, "params": [ { "type": "TsLiteralType", "span": { "start": 2418, "end": 2421, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2418, "end": 2421, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } }, { "type": "TsParenthesizedType", "span": { "start": 2425, "end": 2458, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 2426, "end": 2457, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 2426, "end": 2440, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2426, "end": 2435, "ctxt": 0 }, "value": "Container", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2435, "end": 2440, "ctxt": 0 }, "params": [ { "type": "TsLiteralType", "span": { "start": 2436, "end": 2439, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2436, "end": 2439, "ctxt": 0 }, "value": "b", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } }, { "type": "TsTypeReference", "span": { "start": 2443, "end": 2457, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2443, "end": 2452, "ctxt": 0 }, "value": "Container", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2452, "end": 2457, "ctxt": 0 }, "params": [ { "type": "TsLiteralType", "span": { "start": 2453, "end": 2456, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2453, "end": 2456, "ctxt": 0 }, "value": "c", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } } ] } } ] } } } ], "body": { "type": "Identifier", "span": { "start": 2479, "end": 2480, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 2459, "end": 2475, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2461, "end": 2475, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2461, "end": 2470, "ctxt": 0 }, "value": "Container", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2470, "end": 2475, "ctxt": 0 }, "params": [ { "type": "TsLiteralType", "span": { "start": 2471, "end": 2474, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2471, "end": 2474, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2482, "end": 2591, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2488, "end": 2590, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2488, "end": 2490, "ctxt": 0 }, "value": "f3", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 2493, "end": 2590, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2494, "end": 2568, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2495, "end": 2568, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 2497, "end": 2568, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 2497, "end": 2511, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2497, "end": 2506, "ctxt": 0 }, "value": "Container", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2506, "end": 2511, "ctxt": 0 }, "params": [ { "type": "TsLiteralType", "span": { "start": 2507, "end": 2510, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2507, "end": 2510, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } }, { "type": "TsParenthesizedType", "span": { "start": 2514, "end": 2568, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 2515, "end": 2567, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 2515, "end": 2529, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2515, "end": 2524, "ctxt": 0 }, "value": "Container", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2524, "end": 2529, "ctxt": 0 }, "params": [ { "type": "TsLiteralType", "span": { "start": 2525, "end": 2528, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2525, "end": 2528, "ctxt": 0 }, "value": "b", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } }, { "type": "TsTypeLiteral", "span": { "start": 2532, "end": 2550, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2534, "end": 2548, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2534, "end": 2539, "ctxt": 0 }, "value": "dataB", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2539, "end": 2548, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2541, "end": 2548, "ctxt": 0 }, "kind": "boolean" } }, "typeParams": null } ] }, { "type": "TsTypeReference", "span": { "start": 2553, "end": 2567, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2553, "end": 2562, "ctxt": 0 }, "value": "Container", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2562, "end": 2567, "ctxt": 0 }, "params": [ { "type": "TsLiteralType", "span": { "start": 2563, "end": 2566, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2563, "end": 2566, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } } ] } } ] } } } ], "body": { "type": "Identifier", "span": { "start": 2589, "end": 2590, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 2569, "end": 2585, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 2571, "end": 2585, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2571, "end": 2580, "ctxt": 0 }, "value": "Container", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2580, "end": 2585, "ctxt": 0 }, "params": [ { "type": "TsLiteralType", "span": { "start": 2581, "end": 2584, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2581, "end": 2584, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } } } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2592, "end": 2685, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2598, "end": 2684, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2598, "end": 2600, "ctxt": 0 }, "value": "f4", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 2603, "end": 2684, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 2604, "end": 2670, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2605, "end": 2670, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 2607, "end": 2670, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 2607, "end": 2613, "ctxt": 0 }, "kind": "number" }, { "type": "TsParenthesizedType", "span": { "start": 2616, "end": 2670, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 2617, "end": 2669, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 2617, "end": 2631, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2617, "end": 2626, "ctxt": 0 }, "value": "Container", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2626, "end": 2631, "ctxt": 0 }, "params": [ { "type": "TsLiteralType", "span": { "start": 2627, "end": 2630, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2627, "end": 2630, "ctxt": 0 }, "value": "b", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } }, { "type": "TsTypeLiteral", "span": { "start": 2634, "end": 2652, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 2636, "end": 2650, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 2636, "end": 2641, "ctxt": 0 }, "value": "dataB", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 2641, "end": 2650, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2643, "end": 2650, "ctxt": 0 }, "kind": "boolean" } }, "typeParams": null } ] }, { "type": "TsTypeReference", "span": { "start": 2655, "end": 2669, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 2655, "end": 2664, "ctxt": 0 }, "value": "Container", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 2664, "end": 2669, "ctxt": 0 }, "params": [ { "type": "TsLiteralType", "span": { "start": 2665, "end": 2668, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 2665, "end": 2668, "ctxt": 0 }, "value": "a", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] } } ] } } ] } } } ], "body": { "type": "Identifier", "span": { "start": 2683, "end": 2684, "ctxt": 0 }, "value": "t", "optional": false }, "async": false, "generator": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 2671, "end": 2679, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 2673, "end": 2679, "ctxt": 0 }, "kind": "number" } } }, "definite": false } ] } ], "interpreter": null }