{ "type": "Script", "span": { "start": 28, "end": 1852, "ctxt": 0 }, "body": [ { "type": "TsTypeAliasDeclaration", "span": { "start": 28, "end": 52, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 33, "end": 35, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 38, "end": 51, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 40, "end": 49, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 40, "end": 41, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 41, "end": 49, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 43, "end": 49, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 53, "end": 82, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 58, "end": 60, "ctxt": 0 }, "value": "T2", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 63, "end": 81, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 63, "end": 65, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 63, "end": 65, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null }, { "type": "TsTypeLiteral", "span": { "start": 68, "end": 81, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 70, "end": 79, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 70, "end": 71, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 71, "end": 79, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 73, "end": 79, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 83, "end": 104, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 88, "end": 90, "ctxt": 0 }, "value": "T3", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 93, "end": 103, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 96, "end": 103, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 99, "end": 103, "ctxt": 0 }, "kind": "void" } } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 105, "end": 139, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 110, "end": 112, "ctxt": 0 }, "value": "T4", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 115, "end": 138, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 122, "end": 138, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 125, "end": 138, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 127, "end": 136, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 127, "end": 128, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 128, "end": 136, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 130, "end": 136, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, "isAbstract": false } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 140, "end": 159, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 145, "end": 147, "ctxt": 0 }, "value": "T5", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 150, "end": 158, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 150, "end": 156, "ctxt": 0 }, "kind": "number" } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 160, "end": 187, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 165, "end": 167, "ctxt": 0 }, "value": "T6", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTupleType", "span": { "start": 170, "end": 186, "ctxt": 0 }, "elemTypes": [ { "type": "TsTupleElement", "span": { "start": 171, "end": 177, "ctxt": 0 }, "label": null, "ty": { "type": "TsKeywordType", "span": { "start": 171, "end": 177, "ctxt": 0 }, "kind": "string" } }, { "type": "TsTupleElement", "span": { "start": 179, "end": 185, "ctxt": 0 }, "label": null, "ty": { "type": "TsKeywordType", "span": { "start": 179, "end": 185, "ctxt": 0 }, "kind": "number" } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 188, "end": 233, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 193, "end": 195, "ctxt": 0 }, "value": "T7", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsMappedType", "span": { "start": 198, "end": 232, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 201, "end": 221, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 201, "end": 202, "ctxt": 0 }, "value": "P", "optional": false }, "constraint": { "type": "TsUnionType", "span": { "start": 206, "end": 221, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 206, "end": 209, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 206, "end": 209, "ctxt": 0 }, "value": "a", "raw": "'a'" } }, { "type": "TsLiteralType", "span": { "start": 212, "end": 215, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 212, "end": 215, "ctxt": 0 }, "value": "b", "raw": "'b'" } }, { "type": "TsLiteralType", "span": { "start": 218, "end": 221, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 218, "end": 221, "ctxt": 0 }, "value": "c", "raw": "'c'" } } ] }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 224, "end": 230, "ctxt": 0 }, "kind": "string" } } }, { "type": "TsInterfaceDeclaration", "span": { "start": 235, "end": 272, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 245, "end": 247, "ctxt": 0 }, "value": "I1", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 256, "end": 258, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 256, "end": 258, "ctxt": 0 }, "value": "T1", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 259, "end": 272, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 261, "end": 270, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 261, "end": 262, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 262, "end": 270, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 264, "end": 270, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 273, "end": 310, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 283, "end": 285, "ctxt": 0 }, "value": "I2", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 294, "end": 296, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 294, "end": 296, "ctxt": 0 }, "value": "T2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 297, "end": 310, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 299, "end": 308, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 299, "end": 300, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 300, "end": 308, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 302, "end": 308, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 311, "end": 348, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 321, "end": 323, "ctxt": 0 }, "value": "I3", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 332, "end": 334, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 332, "end": 334, "ctxt": 0 }, "value": "T3", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 335, "end": 348, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 337, "end": 346, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 337, "end": 338, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 338, "end": 346, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 340, "end": 346, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 349, "end": 386, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 359, "end": 361, "ctxt": 0 }, "value": "I4", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 370, "end": 372, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 370, "end": 372, "ctxt": 0 }, "value": "T4", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 373, "end": 386, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 375, "end": 384, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 375, "end": 376, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 376, "end": 384, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 378, "end": 384, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 387, "end": 424, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 397, "end": 399, "ctxt": 0 }, "value": "I5", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 408, "end": 410, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 408, "end": 410, "ctxt": 0 }, "value": "T5", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 411, "end": 424, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 413, "end": 422, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 413, "end": 414, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 414, "end": 422, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 416, "end": 422, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 425, "end": 462, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 435, "end": 437, "ctxt": 0 }, "value": "I6", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 446, "end": 448, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 446, "end": 448, "ctxt": 0 }, "value": "T6", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 449, "end": 462, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 451, "end": 460, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 451, "end": 452, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 452, "end": 460, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 454, "end": 460, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 463, "end": 500, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 473, "end": 475, "ctxt": 0 }, "value": "I7", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 484, "end": 486, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 484, "end": 486, "ctxt": 0 }, "value": "T7", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 487, "end": 500, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 489, "end": 498, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 489, "end": 490, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 490, "end": 498, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 492, "end": 498, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 502, "end": 536, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 507, "end": 518, "ctxt": 0 }, "value": "Constructor", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 518, "end": 521, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 519, "end": 520, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 519, "end": 520, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 524, "end": 535, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 531, "end": 535, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 534, "end": 535, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 534, "end": 535, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 554, "end": 565, "ctxt": 0 }, "value": "Constructor", "optional": false }, "declare": true, "params": [], "decorators": [], "span": { "start": 537, "end": 587, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 565, "end": 568, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 566, "end": 567, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 566, "end": 567, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 570, "end": 586, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 572, "end": 586, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 572, "end": 583, "ctxt": 0 }, "value": "Constructor", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 583, "end": 586, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 584, "end": 585, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 584, "end": 585, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 595, "end": 597, "ctxt": 0 }, "value": "C1", "optional": false }, "declare": false, "span": { "start": 589, "end": 637, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 626, "end": 635, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 626, "end": 627, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 627, "end": 635, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 629, "end": 635, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "CallExpression", "span": { "start": 606, "end": 623, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 606, "end": 617, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 617, "end": 621, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 618, "end": 620, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 618, "end": 620, "ctxt": 0 }, "value": "I1", "optional": false }, "typeParams": null } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 644, "end": 646, "ctxt": 0 }, "value": "C2", "optional": false }, "declare": false, "span": { "start": 638, "end": 686, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 675, "end": 684, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 675, "end": 676, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 676, "end": 684, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 678, "end": 684, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "CallExpression", "span": { "start": 655, "end": 672, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 655, "end": 666, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 666, "end": 670, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 667, "end": 669, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 667, "end": 669, "ctxt": 0 }, "value": "I2", "optional": false }, "typeParams": null } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 693, "end": 695, "ctxt": 0 }, "value": "C3", "optional": false }, "declare": false, "span": { "start": 687, "end": 735, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 724, "end": 733, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 724, "end": 725, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 725, "end": 733, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 727, "end": 733, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "CallExpression", "span": { "start": 704, "end": 721, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 704, "end": 715, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 715, "end": 719, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 716, "end": 718, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 716, "end": 718, "ctxt": 0 }, "value": "I3", "optional": false }, "typeParams": null } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 742, "end": 744, "ctxt": 0 }, "value": "C4", "optional": false }, "declare": false, "span": { "start": 736, "end": 784, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 773, "end": 782, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 773, "end": 774, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 774, "end": 782, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 776, "end": 782, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "CallExpression", "span": { "start": 753, "end": 770, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 753, "end": 764, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 764, "end": 768, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 765, "end": 767, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 765, "end": 767, "ctxt": 0 }, "value": "I4", "optional": false }, "typeParams": null } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 791, "end": 793, "ctxt": 0 }, "value": "C5", "optional": false }, "declare": false, "span": { "start": 785, "end": 833, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 822, "end": 831, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 822, "end": 823, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 823, "end": 831, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 825, "end": 831, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "CallExpression", "span": { "start": 802, "end": 819, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 802, "end": 813, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 813, "end": 817, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 814, "end": 816, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 814, "end": 816, "ctxt": 0 }, "value": "I5", "optional": false }, "typeParams": null } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 840, "end": 842, "ctxt": 0 }, "value": "C6", "optional": false }, "declare": false, "span": { "start": 834, "end": 882, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 871, "end": 880, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 871, "end": 872, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 872, "end": 880, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 874, "end": 880, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "CallExpression", "span": { "start": 851, "end": 868, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 851, "end": 862, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 862, "end": 866, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 863, "end": 865, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 863, "end": 865, "ctxt": 0 }, "value": "I6", "optional": false }, "typeParams": null } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 889, "end": 891, "ctxt": 0 }, "value": "C7", "optional": false }, "declare": false, "span": { "start": 883, "end": 931, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 920, "end": 929, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 920, "end": 921, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 921, "end": 929, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 923, "end": 929, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "CallExpression", "span": { "start": 900, "end": 917, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 900, "end": 911, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 911, "end": 915, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 912, "end": 914, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 912, "end": 914, "ctxt": 0 }, "value": "I7", "optional": false }, "typeParams": null } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 950, "end": 952, "ctxt": 0 }, "value": "fx", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 953, "end": 962, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 953, "end": 962, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 954, "end": 962, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 956, "end": 962, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 933, "end": 972, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 963, "end": 971, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 965, "end": 971, "ctxt": 0 }, "kind": "string" } } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 987, "end": 989, "ctxt": 0 }, "value": "CX", "optional": false }, "declare": true, "span": { "start": 973, "end": 1003, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 992, "end": 1001, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 992, "end": 993, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 993, "end": 1001, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 995, "end": 1001, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "TsEnumDeclaration", "span": { "start": 1004, "end": 1031, "ctxt": 0 }, "declare": true, "isConst": false, "id": { "type": "Identifier", "span": { "start": 1017, "end": 1019, "ctxt": 0 }, "value": "EX", "optional": false }, "members": [ { "type": "TsEnumMember", "span": { "start": 1022, "end": 1023, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1022, "end": 1023, "ctxt": 0 }, "value": "A", "optional": false }, "init": null }, { "type": "TsEnumMember", "span": { "start": 1025, "end": 1026, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1025, "end": 1026, "ctxt": 0 }, "value": "B", "optional": false }, "init": null }, { "type": "TsEnumMember", "span": { "start": 1028, "end": 1029, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1028, "end": 1029, "ctxt": 0 }, "value": "C", "optional": false }, "init": null } ] }, { "type": "TsModuleDeclaration", "span": { "start": 1032, "end": 1075, "ctxt": 0 }, "declare": true, "global": false, "id": { "type": "Identifier", "span": { "start": 1050, "end": 1052, "ctxt": 0 }, "value": "NX", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 1053, "end": 1075, "ctxt": 0 }, "body": [ { "type": "ExportDeclaration", "span": { "start": 1055, "end": 1073, "ctxt": 0 }, "declaration": { "type": "VariableDeclaration", "span": { "start": 1062, "end": 1073, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1068, "end": 1073, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1068, "end": 1069, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "NumericLiteral", "span": { "start": 1072, "end": 1073, "ctxt": 0 }, "value": 1.0 }, "definite": false } ] } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1077, "end": 1098, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1082, "end": 1085, "ctxt": 0 }, "value": "T10", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1088, "end": 1097, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1095, "end": 1097, "ctxt": 0 }, "value": "fx", "optional": false }, "typeArguments": null } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1099, "end": 1120, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1104, "end": 1107, "ctxt": 0 }, "value": "T11", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1110, "end": 1119, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1117, "end": 1119, "ctxt": 0 }, "value": "CX", "optional": false }, "typeArguments": null } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1121, "end": 1142, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1126, "end": 1129, "ctxt": 0 }, "value": "T12", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1132, "end": 1141, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1139, "end": 1141, "ctxt": 0 }, "value": "EX", "optional": false }, "typeArguments": null } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1143, "end": 1164, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1148, "end": 1151, "ctxt": 0 }, "value": "T13", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1154, "end": 1163, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1161, "end": 1163, "ctxt": 0 }, "value": "NX", "optional": false }, "typeArguments": null } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1166, "end": 1205, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1176, "end": 1179, "ctxt": 0 }, "value": "I10", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1188, "end": 1191, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1188, "end": 1191, "ctxt": 0 }, "value": "T10", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1192, "end": 1205, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1194, "end": 1203, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1194, "end": 1195, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1195, "end": 1203, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1197, "end": 1203, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1206, "end": 1245, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1216, "end": 1219, "ctxt": 0 }, "value": "I11", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1228, "end": 1231, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1228, "end": 1231, "ctxt": 0 }, "value": "T11", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1232, "end": 1245, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1234, "end": 1243, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1234, "end": 1235, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1235, "end": 1243, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1237, "end": 1243, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1246, "end": 1285, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1256, "end": 1259, "ctxt": 0 }, "value": "I12", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1268, "end": 1271, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1268, "end": 1271, "ctxt": 0 }, "value": "T12", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1272, "end": 1285, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1274, "end": 1283, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1274, "end": 1275, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1275, "end": 1283, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1277, "end": 1283, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1286, "end": 1325, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1296, "end": 1299, "ctxt": 0 }, "value": "I13", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1308, "end": 1311, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1308, "end": 1311, "ctxt": 0 }, "value": "T13", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1312, "end": 1325, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1314, "end": 1323, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1314, "end": 1315, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1315, "end": 1323, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1317, "end": 1323, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1327, "end": 1370, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1332, "end": 1344, "ctxt": 0 }, "value": "Identifiable", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1344, "end": 1347, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1345, "end": 1346, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1345, "end": 1346, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 1350, "end": 1369, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 1350, "end": 1365, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1352, "end": 1363, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1352, "end": 1355, "ctxt": 0 }, "value": "_id", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1355, "end": 1363, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1357, "end": 1363, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeReference", "span": { "start": 1368, "end": 1369, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1368, "end": 1369, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1372, "end": 1419, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1382, "end": 1385, "ctxt": 0 }, "value": "I20", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1394, "end": 1405, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1394, "end": 1401, "ctxt": 0 }, "value": "Partial", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1401, "end": 1405, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1402, "end": 1404, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1402, "end": 1404, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1406, "end": 1419, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1408, "end": 1417, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1408, "end": 1409, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1409, "end": 1417, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1411, "end": 1417, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1420, "end": 1468, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1430, "end": 1433, "ctxt": 0 }, "value": "I21", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1442, "end": 1454, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1442, "end": 1450, "ctxt": 0 }, "value": "Readonly", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1450, "end": 1454, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1451, "end": 1453, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1451, "end": 1453, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1455, "end": 1468, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1457, "end": 1466, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1457, "end": 1458, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1458, "end": 1466, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1460, "end": 1466, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1469, "end": 1521, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1479, "end": 1482, "ctxt": 0 }, "value": "I22", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1491, "end": 1507, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1491, "end": 1503, "ctxt": 0 }, "value": "Identifiable", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1503, "end": 1507, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1504, "end": 1506, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1504, "end": 1506, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1508, "end": 1521, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1510, "end": 1519, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1510, "end": 1511, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1511, "end": 1519, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1513, "end": 1519, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1522, "end": 1589, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1532, "end": 1535, "ctxt": 0 }, "value": "I23", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1544, "end": 1575, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1544, "end": 1556, "ctxt": 0 }, "value": "Identifiable", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1556, "end": 1575, "ctxt": 0 }, "params": [ { "type": "TsIntersectionType", "span": { "start": 1557, "end": 1574, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1557, "end": 1559, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1557, "end": 1559, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null }, { "type": "TsTypeLiteral", "span": { "start": 1562, "end": 1574, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1564, "end": 1573, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1564, "end": 1565, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1565, "end": 1573, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1567, "end": 1573, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1576, "end": 1589, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1578, "end": 1587, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1578, "end": 1579, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1579, "end": 1587, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1581, "end": 1587, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1597, "end": 1600, "ctxt": 0 }, "value": "C20", "optional": false }, "declare": false, "span": { "start": 1591, "end": 1649, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1638, "end": 1647, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1638, "end": 1639, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1639, "end": 1647, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1641, "end": 1647, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "CallExpression", "span": { "start": 1609, "end": 1635, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1609, "end": 1620, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1620, "end": 1633, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1621, "end": 1632, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1621, "end": 1628, "ctxt": 0 }, "value": "Partial", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1628, "end": 1632, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1629, "end": 1631, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1629, "end": 1631, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null } ] } } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1656, "end": 1659, "ctxt": 0 }, "value": "C21", "optional": false }, "declare": false, "span": { "start": 1650, "end": 1709, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1698, "end": 1707, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1698, "end": 1699, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1699, "end": 1707, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1701, "end": 1707, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "CallExpression", "span": { "start": 1668, "end": 1695, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1668, "end": 1679, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1679, "end": 1693, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1680, "end": 1692, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1680, "end": 1688, "ctxt": 0 }, "value": "Readonly", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1688, "end": 1692, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1689, "end": 1691, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1689, "end": 1691, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null } ] } } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1716, "end": 1719, "ctxt": 0 }, "value": "C22", "optional": false }, "declare": false, "span": { "start": 1710, "end": 1773, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1762, "end": 1771, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1762, "end": 1763, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1763, "end": 1771, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1765, "end": 1771, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "CallExpression", "span": { "start": 1728, "end": 1759, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1728, "end": 1739, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1739, "end": 1757, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1740, "end": 1756, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1740, "end": 1752, "ctxt": 0 }, "value": "Identifiable", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1752, "end": 1756, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1753, "end": 1755, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1753, "end": 1755, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null } ] } } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1780, "end": 1783, "ctxt": 0 }, "value": "C23", "optional": false }, "declare": false, "span": { "start": 1774, "end": 1852, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1841, "end": 1850, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1841, "end": 1842, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1842, "end": 1850, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1844, "end": 1850, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "CallExpression", "span": { "start": 1792, "end": 1838, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1792, "end": 1803, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1803, "end": 1836, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1804, "end": 1835, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1804, "end": 1816, "ctxt": 0 }, "value": "Identifiable", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1816, "end": 1835, "ctxt": 0 }, "params": [ { "type": "TsIntersectionType", "span": { "start": 1817, "end": 1834, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1817, "end": 1819, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1817, "end": 1819, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null }, { "type": "TsTypeLiteral", "span": { "start": 1822, "end": 1834, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1824, "end": 1833, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1824, "end": 1825, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1825, "end": 1833, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1827, "end": 1833, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } ] } } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ], "interpreter": null }