{ "type": "Script", "span": { "start": 42, "end": 850, "ctxt": 0 }, "body": [ { "type": "TsModuleDeclaration", "span": { "start": 42, "end": 224, "ctxt": 0 }, "declare": true, "global": false, "id": { "type": "Identifier", "span": { "start": 57, "end": 60, "ctxt": 0 }, "value": "JSX", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 61, "end": 224, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 64, "end": 85, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 74, "end": 81, "ctxt": 0 }, "value": "Element", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 82, "end": 85, "ctxt": 0 }, "body": [] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 87, "end": 119, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 97, "end": 114, "ctxt": 0 }, "value": "IntrinsicElements", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 115, "end": 119, "ctxt": 0 }, "body": [] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 121, "end": 170, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 131, "end": 156, "ctxt": 0 }, "value": "ElementAttributesProperty", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 157, "end": 170, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 161, "end": 167, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 161, "end": 166, "ctxt": 0 }, "value": "props", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": null, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 172, "end": 222, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 182, "end": 201, "ctxt": 0 }, "value": "IntrinsicAttributes", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 202, "end": 222, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 206, "end": 219, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 206, "end": 209, "ctxt": 0 }, "value": "ref", "optional": false }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 210, "end": 218, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 212, "end": 218, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } ] } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 263, "end": 272, "ctxt": 0 }, "value": "Component", "optional": false }, "declare": true, "span": { "start": 249, "end": 547, "ctxt": 0 }, "decorators": [], "body": [ { "type": "Constructor", "span": { "start": 283, "end": 321, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 283, "end": 294, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "Parameter", "span": { "start": 295, "end": 304, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 295, "end": 304, "ctxt": 0 }, "value": "props", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 301, "end": 304, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 303, "end": 304, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 303, "end": 304, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 306, "end": 319, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 306, "end": 319, "ctxt": 0 }, "value": "context", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 314, "end": 319, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 316, "end": 319, "ctxt": 0 }, "kind": "any" } } } } ], "body": null, "accessibility": null, "isOptional": false }, { "type": "ClassMethod", "span": { "start": 323, "end": 394, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 323, "end": 331, "ctxt": 0 }, "value": "setState", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 332, "end": 364, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 332, "end": 364, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 333, "end": 364, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 335, "end": 364, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 336, "end": 348, "ctxt": 0 }, "value": "prevState", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 345, "end": 348, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 347, "end": 348, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 347, "end": 348, "ctxt": 0 }, "value": "S", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 350, "end": 358, "ctxt": 0 }, "value": "props", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 355, "end": 358, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 357, "end": 358, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 357, "end": 358, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 360, "end": 364, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 363, "end": 364, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 363, "end": 364, "ctxt": 0 }, "value": "S", "optional": false }, "typeParams": null } } } } } }, { "type": "Parameter", "span": { "start": 366, "end": 386, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 366, "end": 386, "ctxt": 0 }, "value": "callback", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 375, "end": 386, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 377, "end": 386, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 380, "end": 386, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 383, "end": 386, "ctxt": 0 }, "kind": "any" } } } } } } ], "decorators": [], "span": { "start": 323, "end": 394, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 387, "end": 393, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 389, "end": 393, "ctxt": 0 }, "kind": "void" } } }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 396, "end": 443, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 396, "end": 404, "ctxt": 0 }, "value": "setState", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 405, "end": 413, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 405, "end": 413, "ctxt": 0 }, "value": "state", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 410, "end": 413, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 412, "end": 413, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 412, "end": 413, "ctxt": 0 }, "value": "S", "optional": false }, "typeParams": null } } } }, { "type": "Parameter", "span": { "start": 415, "end": 435, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 415, "end": 435, "ctxt": 0 }, "value": "callback", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 424, "end": 435, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 426, "end": 435, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 429, "end": 435, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 432, "end": 435, "ctxt": 0 }, "kind": "any" } } } } } } ], "decorators": [], "span": { "start": 396, "end": 443, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 436, "end": 442, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 438, "end": 442, "ctxt": 0 }, "kind": "void" } } }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 445, "end": 485, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 445, "end": 456, "ctxt": 0 }, "value": "forceUpdate", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 457, "end": 477, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 457, "end": 477, "ctxt": 0 }, "value": "callBack", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 466, "end": 477, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 468, "end": 477, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 471, "end": 477, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 474, "end": 477, "ctxt": 0 }, "kind": "any" } } } } } } ], "decorators": [], "span": { "start": 445, "end": 485, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 478, "end": 484, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 480, "end": 484, "ctxt": 0 }, "kind": "void" } } }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 487, "end": 509, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 487, "end": 493, "ctxt": 0 }, "value": "render", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 487, "end": 509, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 495, "end": 508, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 497, "end": 508, "ctxt": 0 }, "typeName": { "type": "TsQualifiedName", "left": { "type": "Identifier", "span": { "start": 497, "end": 500, "ctxt": 0 }, "value": "JSX", "optional": false }, "right": { "type": "Identifier", "span": { "start": 501, "end": 508, "ctxt": 0 }, "value": "Element", "optional": false } }, "typeParams": null } } }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassProperty", "span": { "start": 511, "end": 520, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 511, "end": 516, "ctxt": 0 }, "value": "props", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 516, "end": 519, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 518, "end": 519, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 518, "end": 519, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 522, "end": 531, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 522, "end": 527, "ctxt": 0 }, "value": "state", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 527, "end": 530, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 529, "end": 530, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 529, "end": 530, "ctxt": 0 }, "value": "S", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 533, "end": 545, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 533, "end": 540, "ctxt": 0 }, "value": "context", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 540, "end": 544, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 542, "end": 544, "ctxt": 0 }, "members": [] } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 272, "end": 278, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 273, "end": 274, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 273, "end": 274, "ctxt": 0 }, "value": "P", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 276, "end": 277, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 276, "end": 277, "ctxt": 0 }, "value": "S", "optional": false }, "constraint": null, "default": null } ] }, "superTypeParams": null, "implements": [] }, { "type": "TsInterfaceDeclaration", "span": { "start": 550, "end": 633, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 560, "end": 574, "ctxt": 0 }, "value": "ComponentClass", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 574, "end": 577, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 575, "end": 576, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 575, "end": 576, "ctxt": 0 }, "value": "P", "optional": false }, "constraint": null, "default": null } ] }, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 578, "end": 633, "ctxt": 0 }, "body": [ { "type": "TsConstructSignatureDeclaration", "span": { "start": 581, "end": 631, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 586, "end": 595, "ctxt": 0 }, "value": "props", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 592, "end": 595, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 594, "end": 595, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 594, "end": 595, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null } } }, { "type": "Identifier", "span": { "start": 597, "end": 610, "ctxt": 0 }, "value": "context", "optional": true, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 605, "end": 610, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 607, "end": 610, "ctxt": 0 }, "kind": "any" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 611, "end": 630, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 613, "end": 630, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 613, "end": 622, "ctxt": 0 }, "value": "Component", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 622, "end": 630, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 623, "end": 624, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 623, "end": 624, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null }, { "type": "TsKeywordType", "span": { "start": 626, "end": 629, "ctxt": 0 }, "kind": "any" } ] } } }, "typeParams": null } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 635, "end": 745, "ctxt": 0 }, "declare": true, "global": false, "id": { "type": "Identifier", "span": { "start": 650, "end": 657, "ctxt": 0 }, "value": "TestMod", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 658, "end": 745, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 661, "end": 721, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 671, "end": 680, "ctxt": 0 }, "value": "TestClass", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 689, "end": 716, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 689, "end": 703, "ctxt": 0 }, "value": "ComponentClass", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 703, "end": 716, "ctxt": 0 }, "params": [ { "type": "TsTypeLiteral", "span": { "start": 704, "end": 715, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 705, "end": 714, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 705, "end": 709, "ctxt": 0 }, "value": "reqd", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 709, "end": 714, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 711, "end": 714, "ctxt": 0 }, "kind": "any" } }, "typeParams": null } ] } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 717, "end": 721, "ctxt": 0 }, "body": [] } }, { "type": "VariableDeclaration", "span": { "start": 723, "end": 743, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 727, "end": 742, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 727, "end": 731, "ctxt": 0 }, "value": "Test", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 731, "end": 742, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 733, "end": 742, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 733, "end": 742, "ctxt": 0 }, "value": "TestClass", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] } ] } }, { "type": "VariableDeclaration", "span": { "start": 767, "end": 790, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 773, "end": 789, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 773, "end": 774, "ctxt": 0 }, "value": "T", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 777, "end": 789, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 777, "end": 784, "ctxt": 0 }, "value": "TestMod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 785, "end": 789, "ctxt": 0 }, "value": "Test", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 791, "end": 806, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 795, "end": 805, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 795, "end": 797, "ctxt": 0 }, "value": "t1", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 800, "end": 805, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 801, "end": 802, "ctxt": 0 }, "value": "T", "optional": false }, "span": { "start": 800, "end": 805, "ctxt": 0 }, "attributes": [], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 824, "end": 850, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 828, "end": 849, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 828, "end": 830, "ctxt": 0 }, "value": "t2", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 833, "end": 849, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "JSXMemberExpression", "object": { "type": "Identifier", "span": { "start": 834, "end": 841, "ctxt": 0 }, "value": "TestMod", "optional": false }, "property": { "type": "Identifier", "span": { "start": 842, "end": 846, "ctxt": 0 }, "value": "Test", "optional": false } }, "span": { "start": 833, "end": 849, "ctxt": 0 }, "attributes": [], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] } ], "interpreter": null }