{ "type": "Script", "span": { "start": 29, "end": 1853, "ctxt": 0 }, "body": [ { "type": "TsTypeAliasDeclaration", "span": { "start": 29, "end": 53, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 34, "end": 36, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 39, "end": 52, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 41, "end": 50, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 41, "end": 42, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 42, "end": 50, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 44, "end": 50, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 54, "end": 83, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 59, "end": 61, "ctxt": 0 }, "value": "T2", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 64, "end": 82, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 64, "end": 66, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 64, "end": 66, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null }, { "type": "TsTypeLiteral", "span": { "start": 69, "end": 82, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 71, "end": 80, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 71, "end": 72, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 72, "end": 80, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 74, "end": 80, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 84, "end": 105, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 89, "end": 91, "ctxt": 0 }, "value": "T3", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 94, "end": 104, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 97, "end": 104, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 100, "end": 104, "ctxt": 0 }, "kind": "void" } } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 106, "end": 140, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 111, "end": 113, "ctxt": 0 }, "value": "T4", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 116, "end": 139, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 123, "end": 139, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 126, "end": 139, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 128, "end": 137, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 128, "end": 129, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 129, "end": 137, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 131, "end": 137, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, "isAbstract": false } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 141, "end": 160, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 146, "end": 148, "ctxt": 0 }, "value": "T5", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 151, "end": 159, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 151, "end": 157, "ctxt": 0 }, "kind": "number" } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 161, "end": 188, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 166, "end": 168, "ctxt": 0 }, "value": "T6", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTupleType", "span": { "start": 171, "end": 187, "ctxt": 0 }, "elemTypes": [ { "type": "TsTupleElement", "span": { "start": 172, "end": 178, "ctxt": 0 }, "label": null, "ty": { "type": "TsKeywordType", "span": { "start": 172, "end": 178, "ctxt": 0 }, "kind": "string" } }, { "type": "TsTupleElement", "span": { "start": 180, "end": 186, "ctxt": 0 }, "label": null, "ty": { "type": "TsKeywordType", "span": { "start": 180, "end": 186, "ctxt": 0 }, "kind": "number" } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 189, "end": 234, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 194, "end": 196, "ctxt": 0 }, "value": "T7", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsMappedType", "span": { "start": 199, "end": 233, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 202, "end": 222, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 202, "end": 203, "ctxt": 0 }, "value": "P", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsUnionType", "span": { "start": 207, "end": 222, "ctxt": 0 }, "types": [ { "type": "TsLiteralType", "span": { "start": 207, "end": 210, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 207, "end": 210, "ctxt": 0 }, "value": "a", "raw": "'a'" } }, { "type": "TsLiteralType", "span": { "start": 213, "end": 216, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 213, "end": 216, "ctxt": 0 }, "value": "b", "raw": "'b'" } }, { "type": "TsLiteralType", "span": { "start": 219, "end": 222, "ctxt": 0 }, "literal": { "type": "StringLiteral", "span": { "start": 219, "end": 222, "ctxt": 0 }, "value": "c", "raw": "'c'" } } ] }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 225, "end": 231, "ctxt": 0 }, "kind": "string" } } }, { "type": "TsInterfaceDeclaration", "span": { "start": 236, "end": 273, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 246, "end": 248, "ctxt": 0 }, "value": "I1", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 257, "end": 259, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 257, "end": 259, "ctxt": 0 }, "value": "T1", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 260, "end": 273, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 262, "end": 271, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 262, "end": 263, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 263, "end": 271, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 265, "end": 271, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 274, "end": 311, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 284, "end": 286, "ctxt": 0 }, "value": "I2", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 295, "end": 297, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 295, "end": 297, "ctxt": 0 }, "value": "T2", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 298, "end": 311, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 300, "end": 309, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 300, "end": 301, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 301, "end": 309, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 303, "end": 309, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 312, "end": 349, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 322, "end": 324, "ctxt": 0 }, "value": "I3", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 333, "end": 335, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 333, "end": 335, "ctxt": 0 }, "value": "T3", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 336, "end": 349, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 338, "end": 347, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 338, "end": 339, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 339, "end": 347, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 341, "end": 347, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 350, "end": 387, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 360, "end": 362, "ctxt": 0 }, "value": "I4", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 371, "end": 373, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 371, "end": 373, "ctxt": 0 }, "value": "T4", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 374, "end": 387, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 376, "end": 385, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 376, "end": 377, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 377, "end": 385, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 379, "end": 385, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 388, "end": 425, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 398, "end": 400, "ctxt": 0 }, "value": "I5", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 409, "end": 411, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 409, "end": 411, "ctxt": 0 }, "value": "T5", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 412, "end": 425, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 414, "end": 423, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 414, "end": 415, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 415, "end": 423, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 417, "end": 423, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 426, "end": 463, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 436, "end": 438, "ctxt": 0 }, "value": "I6", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 447, "end": 449, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 447, "end": 449, "ctxt": 0 }, "value": "T6", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 450, "end": 463, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 452, "end": 461, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 452, "end": 453, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 453, "end": 461, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 455, "end": 461, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 464, "end": 501, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 474, "end": 476, "ctxt": 0 }, "value": "I7", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 485, "end": 487, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 485, "end": 487, "ctxt": 0 }, "value": "T7", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 488, "end": 501, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 490, "end": 499, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 490, "end": 491, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 491, "end": 499, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 493, "end": 499, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 503, "end": 537, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 508, "end": 519, "ctxt": 0 }, "value": "Constructor", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 519, "end": 522, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 520, "end": 521, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 520, "end": 521, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 525, "end": 536, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 532, "end": 536, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 535, "end": 536, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 535, "end": 536, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 555, "end": 566, "ctxt": 0 }, "value": "Constructor", "optional": false }, "declare": true, "params": [], "decorators": [], "span": { "start": 538, "end": 588, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 566, "end": 569, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 567, "end": 568, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 567, "end": 568, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 571, "end": 587, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 573, "end": 587, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 573, "end": 584, "ctxt": 0 }, "value": "Constructor", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 584, "end": 587, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 585, "end": 586, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 585, "end": 586, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } } } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 596, "end": 598, "ctxt": 0 }, "value": "C1", "optional": false }, "declare": false, "span": { "start": 590, "end": 638, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 627, "end": 636, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 627, "end": 628, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 628, "end": 636, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 630, "end": 636, "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": 607, "end": 624, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 607, "end": 618, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 618, "end": 622, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 619, "end": 621, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 619, "end": 621, "ctxt": 0 }, "value": "I1", "optional": false }, "typeParams": null } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 645, "end": 647, "ctxt": 0 }, "value": "C2", "optional": false }, "declare": false, "span": { "start": 639, "end": 687, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 676, "end": 685, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 676, "end": 677, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 677, "end": 685, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 679, "end": 685, "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": 656, "end": 673, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 656, "end": 667, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 667, "end": 671, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 668, "end": 670, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 668, "end": 670, "ctxt": 0 }, "value": "I2", "optional": false }, "typeParams": null } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 694, "end": 696, "ctxt": 0 }, "value": "C3", "optional": false }, "declare": false, "span": { "start": 688, "end": 736, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 725, "end": 734, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 725, "end": 726, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 726, "end": 734, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 728, "end": 734, "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": 705, "end": 722, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 705, "end": 716, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 716, "end": 720, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 717, "end": 719, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 717, "end": 719, "ctxt": 0 }, "value": "I3", "optional": false }, "typeParams": null } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 743, "end": 745, "ctxt": 0 }, "value": "C4", "optional": false }, "declare": false, "span": { "start": 737, "end": 785, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 774, "end": 783, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 774, "end": 775, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 775, "end": 783, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 777, "end": 783, "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": 754, "end": 771, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 754, "end": 765, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 765, "end": 769, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 766, "end": 768, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 766, "end": 768, "ctxt": 0 }, "value": "I4", "optional": false }, "typeParams": null } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 792, "end": 794, "ctxt": 0 }, "value": "C5", "optional": false }, "declare": false, "span": { "start": 786, "end": 834, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 823, "end": 832, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 823, "end": 824, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 824, "end": 832, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 826, "end": 832, "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": 803, "end": 820, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 803, "end": 814, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 814, "end": 818, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 815, "end": 817, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 815, "end": 817, "ctxt": 0 }, "value": "I5", "optional": false }, "typeParams": null } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 841, "end": 843, "ctxt": 0 }, "value": "C6", "optional": false }, "declare": false, "span": { "start": 835, "end": 883, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 872, "end": 881, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 872, "end": 873, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 873, "end": 881, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 875, "end": 881, "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": 852, "end": 869, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 852, "end": 863, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 863, "end": 867, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 864, "end": 866, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 864, "end": 866, "ctxt": 0 }, "value": "I6", "optional": false }, "typeParams": null } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 890, "end": 892, "ctxt": 0 }, "value": "C7", "optional": false }, "declare": false, "span": { "start": 884, "end": 932, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 921, "end": 930, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 921, "end": 922, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 922, "end": 930, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 924, "end": 930, "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": 901, "end": 918, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 901, "end": 912, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 912, "end": 916, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 913, "end": 915, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 913, "end": 915, "ctxt": 0 }, "value": "I7", "optional": false }, "typeParams": null } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 951, "end": 953, "ctxt": 0 }, "value": "fx", "optional": false }, "declare": true, "params": [ { "type": "Parameter", "span": { "start": 954, "end": 963, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 954, "end": 963, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 955, "end": 963, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 957, "end": 963, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 934, "end": 973, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 964, "end": 972, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 966, "end": 972, "ctxt": 0 }, "kind": "string" } } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 988, "end": 990, "ctxt": 0 }, "value": "CX", "optional": false }, "declare": true, "span": { "start": 974, "end": 1004, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 993, "end": 1002, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 993, "end": 994, "ctxt": 0 }, "value": "a", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 994, "end": 1002, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 996, "end": 1002, "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": 1005, "end": 1032, "ctxt": 0 }, "declare": true, "isConst": false, "id": { "type": "Identifier", "span": { "start": 1018, "end": 1020, "ctxt": 0 }, "value": "EX", "optional": false }, "members": [ { "type": "TsEnumMember", "span": { "start": 1023, "end": 1024, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1023, "end": 1024, "ctxt": 0 }, "value": "A", "optional": false }, "init": null }, { "type": "TsEnumMember", "span": { "start": 1026, "end": 1027, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1026, "end": 1027, "ctxt": 0 }, "value": "B", "optional": false }, "init": null }, { "type": "TsEnumMember", "span": { "start": 1029, "end": 1030, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1029, "end": 1030, "ctxt": 0 }, "value": "C", "optional": false }, "init": null } ] }, { "type": "TsModuleDeclaration", "span": { "start": 1033, "end": 1076, "ctxt": 0 }, "declare": true, "global": false, "id": { "type": "Identifier", "span": { "start": 1051, "end": 1053, "ctxt": 0 }, "value": "NX", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 1054, "end": 1076, "ctxt": 0 }, "body": [ { "type": "ExportDeclaration", "span": { "start": 1056, "end": 1074, "ctxt": 0 }, "declaration": { "type": "VariableDeclaration", "span": { "start": 1063, "end": 1074, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1069, "end": 1074, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1069, "end": 1070, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "NumericLiteral", "span": { "start": 1073, "end": 1074, "ctxt": 0 }, "value": 1.0, "raw": "1" }, "definite": false } ] } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1078, "end": 1099, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1083, "end": 1086, "ctxt": 0 }, "value": "T10", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1089, "end": 1098, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1096, "end": 1098, "ctxt": 0 }, "value": "fx", "optional": false }, "typeArguments": null } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1100, "end": 1121, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1105, "end": 1108, "ctxt": 0 }, "value": "T11", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1111, "end": 1120, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1118, "end": 1120, "ctxt": 0 }, "value": "CX", "optional": false }, "typeArguments": null } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1122, "end": 1143, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1127, "end": 1130, "ctxt": 0 }, "value": "T12", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1133, "end": 1142, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1140, "end": 1142, "ctxt": 0 }, "value": "EX", "optional": false }, "typeArguments": null } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1144, "end": 1165, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1149, "end": 1152, "ctxt": 0 }, "value": "T13", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeQuery", "span": { "start": 1155, "end": 1164, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 1162, "end": 1164, "ctxt": 0 }, "value": "NX", "optional": false }, "typeArguments": null } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1167, "end": 1206, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1177, "end": 1180, "ctxt": 0 }, "value": "I10", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1189, "end": 1192, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1189, "end": 1192, "ctxt": 0 }, "value": "T10", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1193, "end": 1206, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1195, "end": 1204, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1195, "end": 1196, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1196, "end": 1204, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1198, "end": 1204, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1207, "end": 1246, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1217, "end": 1220, "ctxt": 0 }, "value": "I11", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1229, "end": 1232, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1229, "end": 1232, "ctxt": 0 }, "value": "T11", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1233, "end": 1246, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1235, "end": 1244, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1235, "end": 1236, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1236, "end": 1244, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1238, "end": 1244, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1247, "end": 1286, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1257, "end": 1260, "ctxt": 0 }, "value": "I12", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1269, "end": 1272, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1269, "end": 1272, "ctxt": 0 }, "value": "T12", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1273, "end": 1286, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1275, "end": 1284, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1275, "end": 1276, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1276, "end": 1284, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1278, "end": 1284, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1287, "end": 1326, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1297, "end": 1300, "ctxt": 0 }, "value": "I13", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1309, "end": 1312, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1309, "end": 1312, "ctxt": 0 }, "value": "T13", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1313, "end": 1326, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1315, "end": 1324, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1315, "end": 1316, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1316, "end": 1324, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1318, "end": 1324, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1328, "end": 1371, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1333, "end": 1345, "ctxt": 0 }, "value": "Identifiable", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1345, "end": 1348, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1346, "end": 1347, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1346, "end": 1347, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 1351, "end": 1370, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 1351, "end": 1366, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1353, "end": 1364, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1353, "end": 1356, "ctxt": 0 }, "value": "_id", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1356, "end": 1364, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1358, "end": 1364, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeReference", "span": { "start": 1369, "end": 1370, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1369, "end": 1370, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1373, "end": 1420, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1383, "end": 1386, "ctxt": 0 }, "value": "I20", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1395, "end": 1406, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1395, "end": 1402, "ctxt": 0 }, "value": "Partial", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1402, "end": 1406, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1403, "end": 1405, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1403, "end": 1405, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1407, "end": 1420, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1409, "end": 1418, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1409, "end": 1410, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1410, "end": 1418, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1412, "end": 1418, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1421, "end": 1469, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1431, "end": 1434, "ctxt": 0 }, "value": "I21", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1443, "end": 1455, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1443, "end": 1451, "ctxt": 0 }, "value": "Readonly", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1451, "end": 1455, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1452, "end": 1454, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1452, "end": 1454, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1456, "end": 1469, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1458, "end": 1467, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1458, "end": 1459, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1459, "end": 1467, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1461, "end": 1467, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1470, "end": 1522, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1480, "end": 1483, "ctxt": 0 }, "value": "I22", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1492, "end": 1508, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1492, "end": 1504, "ctxt": 0 }, "value": "Identifiable", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1504, "end": 1508, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1505, "end": 1507, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1505, "end": 1507, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1509, "end": 1522, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1511, "end": 1520, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1511, "end": 1512, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1512, "end": 1520, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1514, "end": 1520, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1523, "end": 1590, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1533, "end": 1536, "ctxt": 0 }, "value": "I23", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1545, "end": 1576, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1545, "end": 1557, "ctxt": 0 }, "value": "Identifiable", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1557, "end": 1576, "ctxt": 0 }, "params": [ { "type": "TsIntersectionType", "span": { "start": 1558, "end": 1575, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1558, "end": 1560, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1558, "end": 1560, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null }, { "type": "TsTypeLiteral", "span": { "start": 1563, "end": 1575, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1565, "end": 1574, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1565, "end": 1566, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1566, "end": 1574, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1568, "end": 1574, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1577, "end": 1590, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 1579, "end": 1588, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1579, "end": 1580, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1580, "end": 1588, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1582, "end": 1588, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1598, "end": 1601, "ctxt": 0 }, "value": "C20", "optional": false }, "declare": false, "span": { "start": 1592, "end": 1650, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1639, "end": 1648, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1639, "end": 1640, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1640, "end": 1648, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1642, "end": 1648, "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": 1610, "end": 1636, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1610, "end": 1621, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1621, "end": 1634, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1622, "end": 1633, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1622, "end": 1629, "ctxt": 0 }, "value": "Partial", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1629, "end": 1633, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1630, "end": 1632, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1630, "end": 1632, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null } ] } } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1657, "end": 1660, "ctxt": 0 }, "value": "C21", "optional": false }, "declare": false, "span": { "start": 1651, "end": 1710, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1699, "end": 1708, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1699, "end": 1700, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1700, "end": 1708, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1702, "end": 1708, "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": 1669, "end": 1696, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1669, "end": 1680, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1680, "end": 1694, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1681, "end": 1693, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1681, "end": 1689, "ctxt": 0 }, "value": "Readonly", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1689, "end": 1693, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1690, "end": 1692, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1690, "end": 1692, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null } ] } } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1717, "end": 1720, "ctxt": 0 }, "value": "C22", "optional": false }, "declare": false, "span": { "start": 1711, "end": 1774, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1763, "end": 1772, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1763, "end": 1764, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1764, "end": 1772, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1766, "end": 1772, "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": 1729, "end": 1760, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1729, "end": 1740, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1740, "end": 1758, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1741, "end": 1757, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1741, "end": 1753, "ctxt": 0 }, "value": "Identifiable", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1753, "end": 1757, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1754, "end": 1756, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1754, "end": 1756, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null } ] } } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1781, "end": 1784, "ctxt": 0 }, "value": "C23", "optional": false }, "declare": false, "span": { "start": 1775, "end": 1853, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1842, "end": 1851, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1842, "end": 1843, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1843, "end": 1851, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1845, "end": 1851, "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": 1793, "end": 1839, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1793, "end": 1804, "ctxt": 0 }, "value": "Constructor", "optional": false }, "arguments": [], "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 1804, "end": 1837, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1805, "end": 1836, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1805, "end": 1817, "ctxt": 0 }, "value": "Identifiable", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1817, "end": 1836, "ctxt": 0 }, "params": [ { "type": "TsIntersectionType", "span": { "start": 1818, "end": 1835, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1818, "end": 1820, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1818, "end": 1820, "ctxt": 0 }, "value": "T1", "optional": false }, "typeParams": null }, { "type": "TsTypeLiteral", "span": { "start": 1823, "end": 1835, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1825, "end": 1834, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1825, "end": 1826, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1826, "end": 1834, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1828, "end": 1834, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } ] } } ] } }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ], "interpreter": null }