{ "type": "Script", "span": { "start": 36, "end": 4937, "ctxt": 0 }, "body": [ { "type": "TsTypeAliasDeclaration", "span": { "start": 36, "end": 229, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 41, "end": 51, "ctxt": 0 }, "value": "Defaultize", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 51, "end": 70, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 52, "end": 58, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 52, "end": 58, "ctxt": 0 }, "value": "TProps", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 60, "end": 69, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 60, "end": 69, "ctxt": 0 }, "value": "TDefaults", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 77, "end": 228, "ctxt": 0 }, "types": [ { "type": "TsMappedType", "span": { "start": 79, "end": 138, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 81, "end": 124, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 81, "end": 82, "ctxt": 0 }, "value": "K", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 86, "end": 124, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 86, "end": 93, "ctxt": 0 }, "value": "Extract", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 93, "end": 124, "ctxt": 0 }, "params": [ { "type": "TsTypeOperator", "span": { "start": 94, "end": 106, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 100, "end": 106, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 100, "end": 106, "ctxt": 0 }, "value": "TProps", "optional": false }, "typeParams": null } }, { "type": "TsTypeOperator", "span": { "start": 108, "end": 123, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 114, "end": 123, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 114, "end": 123, "ctxt": 0 }, "value": "TDefaults", "optional": false }, "typeParams": null } } ] } }, "default": null }, "nameType": null, "optional": true, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 128, "end": 137, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 128, "end": 134, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 128, "end": 134, "ctxt": 0 }, "value": "TProps", "optional": false }, "typeParams": null }, "indexType": { "type": "TsTypeReference", "span": { "start": 135, "end": 136, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 135, "end": 136, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } } }, { "type": "TsMappedType", "span": { "start": 145, "end": 203, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 147, "end": 190, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 147, "end": 148, "ctxt": 0 }, "value": "K", "optional": false }, "constraint": { "type": "TsTypeReference", "span": { "start": 152, "end": 190, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 152, "end": 159, "ctxt": 0 }, "value": "Exclude", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 159, "end": 190, "ctxt": 0 }, "params": [ { "type": "TsTypeOperator", "span": { "start": 160, "end": 172, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 166, "end": 172, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 166, "end": 172, "ctxt": 0 }, "value": "TProps", "optional": false }, "typeParams": null } }, { "type": "TsTypeOperator", "span": { "start": 174, "end": 189, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 180, "end": 189, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 180, "end": 189, "ctxt": 0 }, "value": "TDefaults", "optional": false }, "typeParams": null } } ] } }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 193, "end": 202, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 193, "end": 199, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 193, "end": 199, "ctxt": 0 }, "value": "TProps", "optional": false }, "typeParams": null }, "indexType": { "type": "TsTypeReference", "span": { "start": 200, "end": 201, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 200, "end": 201, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } } }, { "type": "TsTypeReference", "span": { "start": 210, "end": 228, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 210, "end": 217, "ctxt": 0 }, "value": "Partial", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 217, "end": 228, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 218, "end": 227, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 218, "end": 227, "ctxt": 0 }, "value": "TDefaults", "optional": false }, "typeParams": null } ] } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 231, "end": 373, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 236, "end": 253, "ctxt": 0 }, "value": "InferredPropTypes", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 253, "end": 256, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 254, "end": 255, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 254, "end": 255, "ctxt": 0 }, "value": "P", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsMappedType", "span": { "start": 259, "end": 372, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 261, "end": 273, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 261, "end": 262, "ctxt": 0 }, "value": "K", "optional": false }, "constraint": { "type": "TsTypeOperator", "span": { "start": 266, "end": 273, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 272, "end": 273, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 272, "end": 273, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null } }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsConditionalType", "span": { "start": 276, "end": 371, "ctxt": 0 }, "checkType": { "type": "TsIndexedAccessType", "span": { "start": 276, "end": 280, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 276, "end": 277, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 276, "end": 277, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null }, "indexType": { "type": "TsTypeReference", "span": { "start": 278, "end": 279, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 278, "end": 279, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } }, "extendsType": { "type": "TsTypeReference", "span": { "start": 289, "end": 322, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 289, "end": 304, "ctxt": 0 }, "value": "PropTypeChecker", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 304, "end": 322, "ctxt": 0 }, "params": [ { "type": "TsInferType", "span": { "start": 305, "end": 312, "ctxt": 0 }, "typeParam": { "type": "TsTypeParameter", "span": { "start": 311, "end": 312, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 311, "end": 312, "ctxt": 0 }, "value": "T", "optional": false }, "constraint": null, "default": null } }, { "type": "TsInferType", "span": { "start": 314, "end": 321, "ctxt": 0 }, "typeParam": { "type": "TsTypeParameter", "span": { "start": 320, "end": 321, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 320, "end": 321, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null } } ] } }, "trueType": { "type": "TsIndexedAccessType", "span": { "start": 325, "end": 366, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 325, "end": 346, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 325, "end": 340, "ctxt": 0 }, "value": "PropTypeChecker", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 340, "end": 346, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 341, "end": 342, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 341, "end": 342, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 344, "end": 345, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 344, "end": 345, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null } ] } }, "indexType": { "type": "TsTypeQuery", "span": { "start": 347, "end": 365, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 354, "end": 365, "ctxt": 0 }, "value": "checkedType", "optional": false }, "typeArguments": null } }, "falseType": { "type": "TsTypeLiteral", "span": { "start": 369, "end": 371, "ctxt": 0 }, "members": [] } } } }, { "type": "VariableDeclaration", "span": { "start": 375, "end": 416, "ctxt": 0 }, "kind": "const", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 389, "end": 415, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 389, "end": 400, "ctxt": 0 }, "value": "checkedType", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 400, "end": 415, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeOperator", "span": { "start": 402, "end": 415, "ctxt": 0 }, "op": "unique", "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 409, "end": 415, "ctxt": 0 }, "kind": "symbol" } } } }, "init": null, "definite": false } ] }, { "type": "TsInterfaceDeclaration", "span": { "start": 417, "end": 685, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 427, "end": 442, "ctxt": 0 }, "value": "PropTypeChecker", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 442, "end": 464, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 443, "end": 444, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 443, "end": 444, "ctxt": 0 }, "value": "U", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 446, "end": 463, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 446, "end": 455, "ctxt": 0 }, "value": "TRequired", "optional": false }, "constraint": null, "default": { "type": "TsLiteralType", "span": { "start": 458, "end": 463, "ctxt": 0 }, "literal": { "type": "BooleanLiteral", "span": { "start": 458, "end": 463, "ctxt": 0 }, "value": false } } } ] }, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 465, "end": 685, "ctxt": 0 }, "body": [ { "type": "TsCallSignatureDeclaration", "span": { "start": 471, "end": 571, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 472, "end": 482, "ctxt": 0 }, "value": "props", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 477, "end": 482, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 479, "end": 482, "ctxt": 0 }, "kind": "any" } } }, { "type": "Identifier", "span": { "start": 484, "end": 500, "ctxt": 0 }, "value": "propName", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 492, "end": 500, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 494, "end": 500, "ctxt": 0 }, "kind": "string" } } }, { "type": "Identifier", "span": { "start": 502, "end": 523, "ctxt": 0 }, "value": "componentName", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 515, "end": 523, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 517, "end": 523, "ctxt": 0 }, "kind": "string" } } }, { "type": "Identifier", "span": { "start": 525, "end": 538, "ctxt": 0 }, "value": "location", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 533, "end": 538, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 535, "end": 538, "ctxt": 0 }, "kind": "any" } } }, { "type": "Identifier", "span": { "start": 540, "end": 560, "ctxt": 0 }, "value": "propFullName", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 552, "end": 560, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 554, "end": 560, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 561, "end": 570, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 563, "end": 570, "ctxt": 0 }, "kind": "boolean" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 576, "end": 613, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 576, "end": 586, "ctxt": 0 }, "value": "isRequired", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 586, "end": 612, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 588, "end": 612, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 588, "end": 603, "ctxt": 0 }, "value": "PropTypeChecker", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 603, "end": 612, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 604, "end": 605, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 604, "end": 605, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null }, { "type": "TsLiteralType", "span": { "start": 607, "end": 611, "ctxt": 0 }, "literal": { "type": "BooleanLiteral", "span": { "start": 607, "end": 611, "ctxt": 0 }, "value": true } } ] } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 618, "end": 683, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 619, "end": 630, "ctxt": 0 }, "value": "checkedType", "optional": false }, "computed": true, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 631, "end": 682, "ctxt": 0 }, "typeAnnotation": { "type": "TsConditionalType", "span": { "start": 633, "end": 682, "ctxt": 0 }, "checkType": { "type": "TsTypeReference", "span": { "start": 633, "end": 642, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 633, "end": 642, "ctxt": 0 }, "value": "TRequired", "optional": false }, "typeParams": null }, "extendsType": { "type": "TsLiteralType", "span": { "start": 651, "end": 655, "ctxt": 0 }, "literal": { "type": "BooleanLiteral", "span": { "start": 651, "end": 655, "ctxt": 0 }, "value": true } }, "trueType": { "type": "TsTypeReference", "span": { "start": 658, "end": 659, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 658, "end": 659, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null }, "falseType": { "type": "TsUnionType", "span": { "start": 662, "end": 682, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 662, "end": 663, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 662, "end": 663, "ctxt": 0 }, "value": "U", "optional": false }, "typeParams": null }, { "type": "TsKeywordType", "span": { "start": 666, "end": 670, "ctxt": 0 }, "kind": "null" }, { "type": "TsKeywordType", "span": { "start": 673, "end": 682, "ctxt": 0 }, "kind": "undefined" } ] } } }, "typeParams": null } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 687, "end": 869, "ctxt": 0 }, "declare": true, "global": false, "id": { "type": "Identifier", "span": { "start": 705, "end": 714, "ctxt": 0 }, "value": "PropTypes", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 715, "end": 869, "ctxt": 0 }, "body": [ { "type": "ExportDeclaration", "span": { "start": 721, "end": 766, "ctxt": 0 }, "declaration": { "type": "VariableDeclaration", "span": { "start": 728, "end": 766, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 734, "end": 765, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 734, "end": 740, "ctxt": 0 }, "value": "number", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 740, "end": 765, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 742, "end": 765, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 742, "end": 757, "ctxt": 0 }, "value": "PropTypeChecker", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 757, "end": 765, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 758, "end": 764, "ctxt": 0 }, "kind": "number" } ] } } } }, "init": null, "definite": false } ] } }, { "type": "ExportDeclaration", "span": { "start": 771, "end": 816, "ctxt": 0 }, "declaration": { "type": "VariableDeclaration", "span": { "start": 778, "end": 816, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 784, "end": 815, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 784, "end": 790, "ctxt": 0 }, "value": "string", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 790, "end": 815, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 792, "end": 815, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 792, "end": 807, "ctxt": 0 }, "value": "PropTypeChecker", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 807, "end": 815, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 808, "end": 814, "ctxt": 0 }, "kind": "string" } ] } } } }, "init": null, "definite": false } ] } }, { "type": "ExportDeclaration", "span": { "start": 821, "end": 867, "ctxt": 0 }, "declaration": { "type": "VariableDeclaration", "span": { "start": 828, "end": 867, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 834, "end": 866, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 834, "end": 838, "ctxt": 0 }, "value": "node", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 838, "end": 866, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 840, "end": 866, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 840, "end": 855, "ctxt": 0 }, "value": "PropTypeChecker", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 855, "end": 866, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 856, "end": 865, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 856, "end": 865, "ctxt": 0 }, "value": "ReactNode", "optional": false }, "typeParams": null } ] } } } }, "init": null, "definite": false } ] } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 871, "end": 929, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 876, "end": 885, "ctxt": 0 }, "value": "ReactNode", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 888, "end": 928, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 888, "end": 894, "ctxt": 0 }, "kind": "string" }, { "type": "TsKeywordType", "span": { "start": 897, "end": 903, "ctxt": 0 }, "kind": "number" }, { "type": "TsTypeReference", "span": { "start": 906, "end": 928, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 906, "end": 920, "ctxt": 0 }, "value": "ReactComponent", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 920, "end": 928, "ctxt": 0 }, "params": [ { "type": "TsTypeLiteral", "span": { "start": 921, "end": 923, "ctxt": 0 }, "members": [] }, { "type": "TsTypeLiteral", "span": { "start": 925, "end": 927, "ctxt": 0 }, "members": [] } ] } } ] } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 945, "end": 959, "ctxt": 0 }, "value": "ReactComponent", "optional": false }, "declare": true, "span": { "start": 931, "end": 1109, "ctxt": 0 }, "decorators": [], "body": [ { "type": "Constructor", "span": { "start": 978, "end": 1000, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 978, "end": 989, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "Parameter", "span": { "start": 990, "end": 998, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 990, "end": 998, "ctxt": 0 }, "value": "props", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 995, "end": 998, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 997, "end": 998, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 997, "end": 998, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null } } } } ], "body": null, "accessibility": null, "isOptional": false }, { "type": "ClassProperty", "span": { "start": 1005, "end": 1050, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1005, "end": 1010, "ctxt": 0 }, "value": "props", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1010, "end": 1049, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 1012, "end": 1049, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1012, "end": 1013, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1012, "end": 1013, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1016, "end": 1049, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1016, "end": 1024, "ctxt": 0 }, "value": "Readonly", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1024, "end": 1049, "ctxt": 0 }, "params": [ { "type": "TsTypeLiteral", "span": { "start": 1025, "end": 1048, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1026, "end": 1047, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1026, "end": 1034, "ctxt": 0 }, "value": "children", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1034, "end": 1047, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1036, "end": 1047, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 1036, "end": 1045, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1036, "end": 1045, "ctxt": 0 }, "value": "ReactNode", "optional": false }, "typeParams": null } } }, "typeParams": null } ] } ] } } ] } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 1055, "end": 1082, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1055, "end": 1063, "ctxt": 0 }, "value": "setState", "optional": false }, "function": { "params": [ { "type": "Parameter", "span": { "start": 1064, "end": 1077, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 1064, "end": 1077, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1065, "end": 1077, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1067, "end": 1077, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1067, "end": 1074, "ctxt": 0 }, "value": "Partial", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1074, "end": 1077, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1075, "end": 1076, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1075, "end": 1076, "ctxt": 0 }, "value": "S", "optional": false }, "typeParams": null } ] } } } } } ], "decorators": [], "span": { "start": 1055, "end": 1082, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1078, "end": 1081, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1080, "end": 1081, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1080, "end": 1081, "ctxt": 0 }, "value": "S", "optional": false }, "typeParams": null } } }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false }, { "type": "ClassMethod", "span": { "start": 1087, "end": 1107, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1087, "end": 1093, "ctxt": 0 }, "value": "render", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 1087, "end": 1107, "ctxt": 0 }, "body": null, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1095, "end": 1106, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1097, "end": 1106, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1097, "end": 1106, "ctxt": 0 }, "value": "ReactNode", "optional": false }, "typeParams": null } } }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": null, "isAbstract": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 959, "end": 971, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 960, "end": 964, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 960, "end": 961, "ctxt": 0 }, "value": "P", "optional": false }, "constraint": null, "default": { "type": "TsTypeLiteral", "span": { "start": 962, "end": 964, "ctxt": 0 }, "members": [] } }, { "type": "TsTypeParameter", "span": { "start": 966, "end": 970, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 966, "end": 967, "ctxt": 0 }, "value": "S", "optional": false }, "constraint": null, "default": { "type": "TsTypeLiteral", "span": { "start": 968, "end": 970, "ctxt": 0 }, "members": [] } } ] }, "superTypeParams": null, "implements": [] }, { "type": "TsModuleDeclaration", "span": { "start": 1111, "end": 1649, "ctxt": 0 }, "declare": true, "global": false, "id": { "type": "Identifier", "span": { "start": 1129, "end": 1132, "ctxt": 0 }, "value": "JSX", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 1133, "end": 1649, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 1139, "end": 1182, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1149, "end": 1156, "ctxt": 0 }, "value": "Element", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 1165, "end": 1179, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 1165, "end": 1179, "ctxt": 0 }, "value": "ReactComponent", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 1180, "end": 1182, "ctxt": 0 }, "body": [] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 1187, "end": 1217, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1197, "end": 1214, "ctxt": 0 }, "value": "IntrinsicElements", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 1215, "end": 1217, "ctxt": 0 }, "body": [] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 1222, "end": 1647, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 1227, "end": 1251, "ctxt": 0 }, "value": "LibraryManagedAttributes", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 1251, "end": 1271, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 1252, "end": 1262, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1252, "end": 1262, "ctxt": 0 }, "value": "TComponent", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 1264, "end": 1270, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1264, "end": 1270, "ctxt": 0 }, "value": "TProps", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsConditionalType", "span": { "start": 1282, "end": 1646, "ctxt": 0 }, "checkType": { "type": "TsTypeReference", "span": { "start": 1282, "end": 1292, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1282, "end": 1292, "ctxt": 0 }, "value": "TComponent", "optional": false }, "typeParams": null }, "extendsType": { "type": "TsTypeLiteral", "span": { "start": 1301, "end": 1347, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1303, "end": 1325, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1303, "end": 1315, "ctxt": 0 }, "value": "defaultProps", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1315, "end": 1324, "ctxt": 0 }, "typeAnnotation": { "type": "TsInferType", "span": { "start": 1317, "end": 1324, "ctxt": 0 }, "typeParam": { "type": "TsTypeParameter", "span": { "start": 1323, "end": 1324, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1323, "end": 1324, "ctxt": 0 }, "value": "D", "optional": false }, "constraint": null, "default": null } } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 1326, "end": 1345, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1326, "end": 1335, "ctxt": 0 }, "value": "propTypes", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1335, "end": 1344, "ctxt": 0 }, "typeAnnotation": { "type": "TsInferType", "span": { "start": 1337, "end": 1344, "ctxt": 0 }, "typeParam": { "type": "TsTypeParameter", "span": { "start": 1343, "end": 1344, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1343, "end": 1344, "ctxt": 0 }, "value": "P", "optional": false }, "constraint": null, "default": null } } }, "typeParams": null } ] }, "trueType": { "type": "TsTypeReference", "span": { "start": 1362, "end": 1406, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1362, "end": 1372, "ctxt": 0 }, "value": "Defaultize", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1372, "end": 1406, "ctxt": 0 }, "params": [ { "type": "TsIntersectionType", "span": { "start": 1373, "end": 1402, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1373, "end": 1379, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1373, "end": 1379, "ctxt": 0 }, "value": "TProps", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1382, "end": 1402, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1382, "end": 1399, "ctxt": 0 }, "value": "InferredPropTypes", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1399, "end": 1402, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1400, "end": 1401, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1400, "end": 1401, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null } ] } } ] }, { "type": "TsTypeReference", "span": { "start": 1404, "end": 1405, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1404, "end": 1405, "ctxt": 0 }, "value": "D", "optional": false }, "typeParams": null } ] } }, "falseType": { "type": "TsConditionalType", "span": { "start": 1421, "end": 1646, "ctxt": 0 }, "checkType": { "type": "TsTypeReference", "span": { "start": 1421, "end": 1431, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1421, "end": 1431, "ctxt": 0 }, "value": "TComponent", "optional": false }, "typeParams": null }, "extendsType": { "type": "TsTypeLiteral", "span": { "start": 1440, "end": 1465, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1442, "end": 1463, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1442, "end": 1454, "ctxt": 0 }, "value": "defaultProps", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1454, "end": 1463, "ctxt": 0 }, "typeAnnotation": { "type": "TsInferType", "span": { "start": 1456, "end": 1463, "ctxt": 0 }, "typeParam": { "type": "TsTypeParameter", "span": { "start": 1462, "end": 1463, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1462, "end": 1463, "ctxt": 0 }, "value": "D", "optional": false }, "constraint": null, "default": null } } }, "typeParams": null } ] }, "trueType": { "type": "TsTypeReference", "span": { "start": 1484, "end": 1505, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1484, "end": 1494, "ctxt": 0 }, "value": "Defaultize", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1494, "end": 1505, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1495, "end": 1501, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1495, "end": 1501, "ctxt": 0 }, "value": "TProps", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1503, "end": 1504, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1503, "end": 1504, "ctxt": 0 }, "value": "D", "optional": false }, "typeParams": null } ] } }, "falseType": { "type": "TsConditionalType", "span": { "start": 1524, "end": 1646, "ctxt": 0 }, "checkType": { "type": "TsTypeReference", "span": { "start": 1524, "end": 1534, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1524, "end": 1534, "ctxt": 0 }, "value": "TComponent", "optional": false }, "typeParams": null }, "extendsType": { "type": "TsTypeLiteral", "span": { "start": 1543, "end": 1565, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 1545, "end": 1563, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 1545, "end": 1554, "ctxt": 0 }, "value": "propTypes", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1554, "end": 1563, "ctxt": 0 }, "typeAnnotation": { "type": "TsInferType", "span": { "start": 1556, "end": 1563, "ctxt": 0 }, "typeParam": { "type": "TsTypeParameter", "span": { "start": 1562, "end": 1563, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1562, "end": 1563, "ctxt": 0 }, "value": "P", "optional": false }, "constraint": null, "default": null } } }, "typeParams": null } ] }, "trueType": { "type": "TsIntersectionType", "span": { "start": 1588, "end": 1617, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 1588, "end": 1594, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1588, "end": 1594, "ctxt": 0 }, "value": "TProps", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 1597, "end": 1617, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1597, "end": 1614, "ctxt": 0 }, "value": "InferredPropTypes", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1614, "end": 1617, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1615, "end": 1616, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1615, "end": 1616, "ctxt": 0 }, "value": "P", "optional": false }, "typeParams": null } ] } } ] }, "falseType": { "type": "TsTypeReference", "span": { "start": 1640, "end": 1646, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1640, "end": 1646, "ctxt": 0 }, "value": "TProps", "optional": false }, "typeParams": null } } } } } ] } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1657, "end": 1666, "ctxt": 0 }, "value": "Component", "optional": false }, "declare": false, "span": { "start": 1651, "end": 1878, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1696, "end": 1825, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1703, "end": 1712, "ctxt": 0 }, "value": "propTypes", "optional": false }, "value": { "type": "ObjectExpression", "span": { "start": 1715, "end": 1824, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1725, "end": 1728, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "MemberExpression", "span": { "start": 1730, "end": 1746, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1730, "end": 1739, "ctxt": 0 }, "value": "PropTypes", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1740, "end": 1746, "ctxt": 0 }, "value": "number", "optional": false } } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1756, "end": 1759, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "MemberExpression", "span": { "start": 1761, "end": 1775, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1761, "end": 1770, "ctxt": 0 }, "value": "PropTypes", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1771, "end": 1775, "ctxt": 0 }, "value": "node", "optional": false } } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1785, "end": 1788, "ctxt": 0 }, "value": "baz", "optional": false }, "value": { "type": "MemberExpression", "span": { "start": 1790, "end": 1817, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 1790, "end": 1806, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1790, "end": 1799, "ctxt": 0 }, "value": "PropTypes", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1800, "end": 1806, "ctxt": 0 }, "value": "string", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 1807, "end": 1817, "ctxt": 0 }, "value": "isRequired", "optional": false } } } ] }, "typeAnnotation": null, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 1830, "end": 1876, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1837, "end": 1849, "ctxt": 0 }, "value": "defaultProps", "optional": false }, "value": { "type": "ObjectExpression", "span": { "start": 1852, "end": 1876, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1862, "end": 1865, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 1867, "end": 1869, "ctxt": 0 }, "value": 42.0 } } ] }, "typeAnnotation": null, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 1675, "end": 1689, "ctxt": 0 }, "value": "ReactComponent", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 1880, "end": 1934, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1886, "end": 1933, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1886, "end": 1887, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 1890, "end": 1933, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 1891, "end": 1900, "ctxt": 0 }, "value": "Component", "optional": false }, "span": { "start": 1890, "end": 1933, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 1901, "end": 1909, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1901, "end": 1904, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 1905, "end": 1909, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 1906, "end": 1908, "ctxt": 0 }, "value": 12.0 } } }, { "type": "JSXAttribute", "span": { "start": 1910, "end": 1919, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1910, "end": 1913, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 1914, "end": 1919, "ctxt": 0 }, "value": "yes", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "JSXAttribute", "span": { "start": 1920, "end": 1930, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1920, "end": 1923, "ctxt": 0 }, "value": "baz", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 1924, "end": 1930, "ctxt": 0 }, "value": "yeah", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1935, "end": 1968, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1941, "end": 1967, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1941, "end": 1942, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 1945, "end": 1967, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 1946, "end": 1955, "ctxt": 0 }, "value": "Component", "optional": false }, "span": { "start": 1945, "end": 1967, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 1956, "end": 1964, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 1956, "end": 1959, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 1960, "end": 1964, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 1961, "end": 1963, "ctxt": 0 }, "value": 12.0 } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2005, "end": 2050, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2011, "end": 2049, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2011, "end": 2012, "ctxt": 0 }, "value": "c", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 2015, "end": 2049, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 2016, "end": 2025, "ctxt": 0 }, "value": "Component", "optional": false }, "span": { "start": 2015, "end": 2049, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 2026, "end": 2035, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2026, "end": 2029, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 2030, "end": 2035, "ctxt": 0 }, "value": "yes", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "JSXAttribute", "span": { "start": 2036, "end": 2046, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2036, "end": 2039, "ctxt": 0 }, "value": "baz", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 2040, "end": 2046, "ctxt": 0 }, "value": "yeah", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2051, "end": 2105, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2057, "end": 2104, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2057, "end": 2058, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 2061, "end": 2104, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 2062, "end": 2071, "ctxt": 0 }, "value": "Component", "optional": false }, "span": { "start": 2061, "end": 2104, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 2072, "end": 2081, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2072, "end": 2075, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 2076, "end": 2081, "ctxt": 0 }, "value": "yes", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "JSXAttribute", "span": { "start": 2082, "end": 2090, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2082, "end": 2085, "ctxt": 0 }, "value": "baz", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 2086, "end": 2090, "ctxt": 0 }, "value": "yo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "JSXAttribute", "span": { "start": 2091, "end": 2101, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2091, "end": 2094, "ctxt": 0 }, "value": "bat", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 2095, "end": 2101, "ctxt": 0 }, "value": "ohno", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2137, "end": 2192, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2143, "end": 2191, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2143, "end": 2144, "ctxt": 0 }, "value": "e", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 2147, "end": 2191, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 2148, "end": 2157, "ctxt": 0 }, "value": "Component", "optional": false }, "span": { "start": 2147, "end": 2191, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 2158, "end": 2166, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2158, "end": 2161, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 2162, "end": 2166, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 2163, "end": 2165, "ctxt": 0 }, "value": 12.0 } } }, { "type": "JSXAttribute", "span": { "start": 2167, "end": 2177, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2167, "end": 2170, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 2171, "end": 2177, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 2172, "end": 2176, "ctxt": 0 } } } }, { "type": "JSXAttribute", "span": { "start": 2178, "end": 2188, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2178, "end": 2181, "ctxt": 0 }, "value": "baz", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 2182, "end": 2188, "ctxt": 0 }, "value": "cool", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2259, "end": 2314, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2265, "end": 2313, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2265, "end": 2266, "ctxt": 0 }, "value": "f", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 2269, "end": 2313, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 2270, "end": 2279, "ctxt": 0 }, "value": "Component", "optional": false }, "span": { "start": 2269, "end": 2313, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 2280, "end": 2288, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2280, "end": 2283, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 2284, "end": 2288, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 2285, "end": 2287, "ctxt": 0 }, "value": 12.0 } } }, { "type": "JSXAttribute", "span": { "start": 2289, "end": 2299, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2289, "end": 2292, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 2293, "end": 2299, "ctxt": 0 }, "value": "yeah", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "JSXAttribute", "span": { "start": 2300, "end": 2310, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2300, "end": 2303, "ctxt": 0 }, "value": "baz", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 2304, "end": 2310, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 2305, "end": 2309, "ctxt": 0 } } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2397, "end": 2410, "ctxt": 0 }, "value": "JustPropTypes", "optional": false }, "declare": false, "span": { "start": 2391, "end": 2540, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 2440, "end": 2538, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2447, "end": 2456, "ctxt": 0 }, "value": "propTypes", "optional": false }, "value": { "type": "ObjectExpression", "span": { "start": 2459, "end": 2537, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 2469, "end": 2472, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "MemberExpression", "span": { "start": 2474, "end": 2490, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2474, "end": 2483, "ctxt": 0 }, "value": "PropTypes", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2484, "end": 2490, "ctxt": 0 }, "value": "number", "optional": false } } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 2500, "end": 2503, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "MemberExpression", "span": { "start": 2505, "end": 2530, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 2505, "end": 2519, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 2505, "end": 2514, "ctxt": 0 }, "value": "PropTypes", "optional": false }, "property": { "type": "Identifier", "span": { "start": 2515, "end": 2519, "ctxt": 0 }, "value": "node", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 2520, "end": 2530, "ctxt": 0 }, "value": "isRequired", "optional": false } } } ] }, "typeAnnotation": null, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 2419, "end": 2433, "ctxt": 0 }, "value": "ReactComponent", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 2542, "end": 2588, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2548, "end": 2587, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2548, "end": 2549, "ctxt": 0 }, "value": "g", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 2552, "end": 2587, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 2553, "end": 2566, "ctxt": 0 }, "value": "JustPropTypes", "optional": false }, "span": { "start": 2552, "end": 2587, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 2567, "end": 2575, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2567, "end": 2570, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 2571, "end": 2575, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 2572, "end": 2574, "ctxt": 0 }, "value": 12.0 } } }, { "type": "JSXAttribute", "span": { "start": 2576, "end": 2584, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2576, "end": 2579, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 2580, "end": 2584, "ctxt": 0 }, "value": "ok", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2589, "end": 2626, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2595, "end": 2625, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2595, "end": 2596, "ctxt": 0 }, "value": "h", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 2599, "end": 2625, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 2600, "end": 2613, "ctxt": 0 }, "value": "JustPropTypes", "optional": false }, "span": { "start": 2599, "end": 2625, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 2614, "end": 2622, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2614, "end": 2617, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 2618, "end": 2622, "ctxt": 0 }, "value": "no", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2648, "end": 2696, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2654, "end": 2695, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2654, "end": 2655, "ctxt": 0 }, "value": "i", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 2658, "end": 2695, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 2659, "end": 2672, "ctxt": 0 }, "value": "JustPropTypes", "optional": false }, "span": { "start": 2658, "end": 2695, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 2673, "end": 2683, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2673, "end": 2676, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 2677, "end": 2683, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 2678, "end": 2682, "ctxt": 0 } } } }, { "type": "JSXAttribute", "span": { "start": 2684, "end": 2692, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2684, "end": 2687, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 2688, "end": 2692, "ctxt": 0 }, "value": "ok", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2697, "end": 2745, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2703, "end": 2744, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2703, "end": 2704, "ctxt": 0 }, "value": "j", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 2707, "end": 2744, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 2708, "end": 2721, "ctxt": 0 }, "value": "JustPropTypes", "optional": false }, "span": { "start": 2707, "end": 2744, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 2722, "end": 2730, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2722, "end": 2725, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 2726, "end": 2730, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 2727, "end": 2729, "ctxt": 0 }, "value": 12.0 } } }, { "type": "JSXAttribute", "span": { "start": 2731, "end": 2741, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2731, "end": 2734, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 2735, "end": 2741, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 2736, "end": 2740, "ctxt": 0 } } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 2779, "end": 2795, "ctxt": 0 }, "value": "JustDefaultProps", "optional": false }, "declare": false, "span": { "start": 2773, "end": 2874, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 2825, "end": 2872, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 2832, "end": 2844, "ctxt": 0 }, "value": "defaultProps", "optional": false }, "value": { "type": "ObjectExpression", "span": { "start": 2847, "end": 2871, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 2857, "end": 2860, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 2862, "end": 2864, "ctxt": 0 }, "value": 42.0 } } ] }, "typeAnnotation": null, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 2804, "end": 2818, "ctxt": 0 }, "value": "ReactComponent", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 2876, "end": 2916, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2882, "end": 2915, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2882, "end": 2883, "ctxt": 0 }, "value": "k", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 2886, "end": 2915, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 2887, "end": 2903, "ctxt": 0 }, "value": "JustDefaultProps", "optional": false }, "span": { "start": 2886, "end": 2915, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 2904, "end": 2912, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2904, "end": 2907, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 2908, "end": 2912, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 2909, "end": 2911, "ctxt": 0 }, "value": 12.0 } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2917, "end": 2966, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 2923, "end": 2965, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 2923, "end": 2924, "ctxt": 0 }, "value": "l", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 2927, "end": 2965, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 2928, "end": 2944, "ctxt": 0 }, "value": "JustDefaultProps", "optional": false }, "span": { "start": 2927, "end": 2965, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 2945, "end": 2953, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2945, "end": 2948, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 2949, "end": 2953, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 2950, "end": 2952, "ctxt": 0 }, "value": 12.0 } } }, { "type": "JSXAttribute", "span": { "start": 2954, "end": 2962, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 2954, "end": 2957, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 2958, "end": 2962, "ctxt": 0 }, "value": "ok", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 2995, "end": 3035, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3001, "end": 3034, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3001, "end": 3002, "ctxt": 0 }, "value": "m", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 3005, "end": 3034, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 3006, "end": 3022, "ctxt": 0 }, "value": "JustDefaultProps", "optional": false }, "span": { "start": 3005, "end": 3034, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 3023, "end": 3031, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3023, "end": 3026, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 3027, "end": 3031, "ctxt": 0 }, "value": "no", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "TsInterfaceDeclaration", "span": { "start": 3058, "end": 3097, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3068, "end": 3076, "ctxt": 0 }, "value": "FooProps", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 3077, "end": 3097, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 3083, "end": 3095, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 3083, "end": 3086, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 3086, "end": 3094, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 3088, "end": 3094, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 3105, "end": 3129, "ctxt": 0 }, "value": "BothWithSpecifiedGeneric", "optional": false }, "declare": false, "span": { "start": 3099, "end": 3354, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 3169, "end": 3298, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 3176, "end": 3185, "ctxt": 0 }, "value": "propTypes", "optional": false }, "value": { "type": "ObjectExpression", "span": { "start": 3188, "end": 3297, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 3198, "end": 3201, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "MemberExpression", "span": { "start": 3203, "end": 3219, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3203, "end": 3212, "ctxt": 0 }, "value": "PropTypes", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3213, "end": 3219, "ctxt": 0 }, "value": "string", "optional": false } } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 3229, "end": 3232, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "MemberExpression", "span": { "start": 3234, "end": 3248, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3234, "end": 3243, "ctxt": 0 }, "value": "PropTypes", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3244, "end": 3248, "ctxt": 0 }, "value": "node", "optional": false } } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 3258, "end": 3261, "ctxt": 0 }, "value": "baz", "optional": false }, "value": { "type": "MemberExpression", "span": { "start": 3263, "end": 3290, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 3263, "end": 3279, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 3263, "end": 3272, "ctxt": 0 }, "value": "PropTypes", "optional": false }, "property": { "type": "Identifier", "span": { "start": 3273, "end": 3279, "ctxt": 0 }, "value": "number", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 3280, "end": 3290, "ctxt": 0 }, "value": "isRequired", "optional": false } } } ] }, "typeAnnotation": null, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassProperty", "span": { "start": 3303, "end": 3352, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 3310, "end": 3322, "ctxt": 0 }, "value": "defaultProps", "optional": false }, "value": { "type": "ObjectExpression", "span": { "start": 3325, "end": 3351, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 3335, "end": 3338, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 3340, "end": 3344, "ctxt": 0 }, "value": "yo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] }, "typeAnnotation": null, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 3138, "end": 3152, "ctxt": 0 }, "value": "ReactComponent", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 3152, "end": 3162, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 3153, "end": 3161, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 3153, "end": 3161, "ctxt": 0 }, "value": "FooProps", "optional": false }, "typeParams": null } ] }, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 3355, "end": 3424, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3361, "end": 3423, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3361, "end": 3362, "ctxt": 0 }, "value": "n", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 3365, "end": 3423, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 3366, "end": 3390, "ctxt": 0 }, "value": "BothWithSpecifiedGeneric", "optional": false }, "span": { "start": 3365, "end": 3423, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 3391, "end": 3401, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3391, "end": 3394, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 3395, "end": 3401, "ctxt": 0 }, "value": "fine", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "JSXAttribute", "span": { "start": 3402, "end": 3411, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3402, "end": 3405, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 3406, "end": 3411, "ctxt": 0 }, "value": "yes", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "JSXAttribute", "span": { "start": 3412, "end": 3420, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3412, "end": 3415, "ctxt": 0 }, "value": "baz", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 3416, "end": 3420, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 3417, "end": 3419, "ctxt": 0 }, "value": 12.0 } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3425, "end": 3473, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3431, "end": 3472, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3431, "end": 3432, "ctxt": 0 }, "value": "o", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 3435, "end": 3472, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 3436, "end": 3460, "ctxt": 0 }, "value": "BothWithSpecifiedGeneric", "optional": false }, "span": { "start": 3435, "end": 3472, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 3461, "end": 3469, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3461, "end": 3464, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 3465, "end": 3469, "ctxt": 0 }, "value": "no", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3510, "end": 3568, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3516, "end": 3567, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3516, "end": 3517, "ctxt": 0 }, "value": "p", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 3520, "end": 3567, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 3521, "end": 3545, "ctxt": 0 }, "value": "BothWithSpecifiedGeneric", "optional": false }, "span": { "start": 3520, "end": 3567, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 3546, "end": 3555, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3546, "end": 3549, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 3550, "end": 3555, "ctxt": 0 }, "value": "yes", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "JSXAttribute", "span": { "start": 3556, "end": 3564, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3556, "end": 3559, "ctxt": 0 }, "value": "baz", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 3560, "end": 3564, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 3561, "end": 3563, "ctxt": 0 }, "value": 12.0 } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3569, "end": 3638, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3575, "end": 3637, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3575, "end": 3576, "ctxt": 0 }, "value": "q", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 3579, "end": 3637, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 3580, "end": 3604, "ctxt": 0 }, "value": "BothWithSpecifiedGeneric", "optional": false }, "span": { "start": 3579, "end": 3637, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 3605, "end": 3614, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3605, "end": 3608, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 3609, "end": 3614, "ctxt": 0 }, "value": "yes", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "JSXAttribute", "span": { "start": 3615, "end": 3623, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3615, "end": 3618, "ctxt": 0 }, "value": "baz", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 3619, "end": 3623, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 3620, "end": 3622, "ctxt": 0 }, "value": 12.0 } } }, { "type": "JSXAttribute", "span": { "start": 3624, "end": 3634, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3624, "end": 3627, "ctxt": 0 }, "value": "bat", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 3628, "end": 3634, "ctxt": 0 }, "value": "ohno", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3670, "end": 3737, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3676, "end": 3736, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3676, "end": 3677, "ctxt": 0 }, "value": "r", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 3680, "end": 3736, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 3681, "end": 3705, "ctxt": 0 }, "value": "BothWithSpecifiedGeneric", "optional": false }, "span": { "start": 3680, "end": 3736, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 3706, "end": 3714, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3706, "end": 3709, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 3710, "end": 3714, "ctxt": 0 }, "value": "no", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "JSXAttribute", "span": { "start": 3715, "end": 3725, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3715, "end": 3718, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 3719, "end": 3725, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 3720, "end": 3724, "ctxt": 0 } } } }, { "type": "JSXAttribute", "span": { "start": 3726, "end": 3733, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3726, "end": 3729, "ctxt": 0 }, "value": "baz", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 3730, "end": 3733, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 3731, "end": 3732, "ctxt": 0 }, "value": 0.0 } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 3804, "end": 3874, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 3810, "end": 3873, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 3810, "end": 3811, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 3814, "end": 3873, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 3815, "end": 3839, "ctxt": 0 }, "value": "BothWithSpecifiedGeneric", "optional": false }, "span": { "start": 3814, "end": 3873, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 3840, "end": 3848, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3840, "end": 3843, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 3844, "end": 3848, "ctxt": 0 }, "value": "eh", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "JSXAttribute", "span": { "start": 3849, "end": 3859, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3849, "end": 3852, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 3853, "end": 3859, "ctxt": 0 }, "value": "yeah", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "JSXAttribute", "span": { "start": 3860, "end": 3870, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 3860, "end": 3863, "ctxt": 0 }, "value": "baz", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 3864, "end": 3870, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 3865, "end": 3869, "ctxt": 0 } } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 3957, "end": 3990, "ctxt": 0 }, "value": "JustPropTypesWithSpecifiedGeneric", "optional": false }, "declare": false, "span": { "start": 3951, "end": 4130, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 4030, "end": 4128, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 4037, "end": 4046, "ctxt": 0 }, "value": "propTypes", "optional": false }, "value": { "type": "ObjectExpression", "span": { "start": 4049, "end": 4127, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 4059, "end": 4062, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "MemberExpression", "span": { "start": 4064, "end": 4080, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4064, "end": 4073, "ctxt": 0 }, "value": "PropTypes", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4074, "end": 4080, "ctxt": 0 }, "value": "string", "optional": false } } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 4090, "end": 4093, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "MemberExpression", "span": { "start": 4095, "end": 4120, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 4095, "end": 4109, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 4095, "end": 4104, "ctxt": 0 }, "value": "PropTypes", "optional": false }, "property": { "type": "Identifier", "span": { "start": 4105, "end": 4109, "ctxt": 0 }, "value": "node", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 4110, "end": 4120, "ctxt": 0 }, "value": "isRequired", "optional": false } } } ] }, "typeAnnotation": null, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 3999, "end": 4013, "ctxt": 0 }, "value": "ReactComponent", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 4013, "end": 4023, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 4014, "end": 4022, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4014, "end": 4022, "ctxt": 0 }, "value": "FooProps", "optional": false }, "typeParams": null } ] }, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 4131, "end": 4199, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4137, "end": 4198, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4137, "end": 4138, "ctxt": 0 }, "value": "t", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 4141, "end": 4198, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 4142, "end": 4175, "ctxt": 0 }, "value": "JustPropTypesWithSpecifiedGeneric", "optional": false }, "span": { "start": 4141, "end": 4198, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 4176, "end": 4186, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4176, "end": 4179, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 4180, "end": 4186, "ctxt": 0 }, "value": "nice", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "JSXAttribute", "span": { "start": 4187, "end": 4195, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4187, "end": 4190, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 4191, "end": 4195, "ctxt": 0 }, "value": "ok", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4200, "end": 4257, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4206, "end": 4256, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4206, "end": 4207, "ctxt": 0 }, "value": "u", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 4210, "end": 4256, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 4211, "end": 4244, "ctxt": 0 }, "value": "JustPropTypesWithSpecifiedGeneric", "optional": false }, "span": { "start": 4210, "end": 4256, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 4245, "end": 4253, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4245, "end": 4248, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 4249, "end": 4253, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 4250, "end": 4252, "ctxt": 0 }, "value": 12.0 } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4279, "end": 4347, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4285, "end": 4346, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4285, "end": 4286, "ctxt": 0 }, "value": "v", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 4289, "end": 4346, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 4290, "end": 4323, "ctxt": 0 }, "value": "JustPropTypesWithSpecifiedGeneric", "optional": false }, "span": { "start": 4289, "end": 4346, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 4324, "end": 4334, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4324, "end": 4327, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 4328, "end": 4334, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 4329, "end": 4333, "ctxt": 0 } } } }, { "type": "JSXAttribute", "span": { "start": 4335, "end": 4343, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4335, "end": 4338, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 4339, "end": 4343, "ctxt": 0 }, "value": "ok", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4411, "end": 4481, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4417, "end": 4480, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4417, "end": 4418, "ctxt": 0 }, "value": "w", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 4421, "end": 4480, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 4422, "end": 4455, "ctxt": 0 }, "value": "JustPropTypesWithSpecifiedGeneric", "optional": false }, "span": { "start": 4421, "end": 4480, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 4456, "end": 4466, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4456, "end": 4459, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 4460, "end": 4466, "ctxt": 0 }, "value": "cool", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "JSXAttribute", "span": { "start": 4467, "end": 4477, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4467, "end": 4470, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 4471, "end": 4477, "ctxt": 0 }, "expression": { "type": "NullLiteral", "span": { "start": 4472, "end": 4476, "ctxt": 0 } } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 4515, "end": 4551, "ctxt": 0 }, "value": "JustDefaultPropsWithSpecifiedGeneric", "optional": false }, "declare": false, "span": { "start": 4509, "end": 4642, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 4591, "end": 4640, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 4598, "end": 4610, "ctxt": 0 }, "value": "defaultProps", "optional": false }, "value": { "type": "ObjectExpression", "span": { "start": 4613, "end": 4639, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 4623, "end": 4626, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 4628, "end": 4632, "ctxt": 0 }, "value": "no", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] }, "typeAnnotation": null, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 4560, "end": 4574, "ctxt": 0 }, "value": "ReactComponent", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 4574, "end": 4584, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 4575, "end": 4583, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 4575, "end": 4583, "ctxt": 0 }, "value": "FooProps", "optional": false }, "typeParams": null } ] }, "implements": [] }, { "type": "VariableDeclaration", "span": { "start": 4644, "end": 4704, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4650, "end": 4703, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4650, "end": 4651, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 4654, "end": 4703, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 4655, "end": 4691, "ctxt": 0 }, "value": "JustDefaultPropsWithSpecifiedGeneric", "optional": false }, "span": { "start": 4654, "end": 4703, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 4692, "end": 4700, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4692, "end": 4695, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 4696, "end": 4700, "ctxt": 0 }, "value": "eh", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4705, "end": 4774, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4711, "end": 4773, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4711, "end": 4712, "ctxt": 0 }, "value": "y", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 4715, "end": 4773, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 4716, "end": 4752, "ctxt": 0 }, "value": "JustDefaultPropsWithSpecifiedGeneric", "optional": false }, "span": { "start": 4715, "end": 4773, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 4753, "end": 4761, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4753, "end": 4756, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 4757, "end": 4761, "ctxt": 0 }, "value": "no", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } }, { "type": "JSXAttribute", "span": { "start": 4762, "end": 4770, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4762, "end": 4765, "ctxt": 0 }, "value": "bar", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 4766, "end": 4770, "ctxt": 0 }, "value": "ok", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4803, "end": 4863, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4809, "end": 4862, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4809, "end": 4810, "ctxt": 0 }, "value": "z", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 4813, "end": 4862, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 4814, "end": 4850, "ctxt": 0 }, "value": "JustDefaultPropsWithSpecifiedGeneric", "optional": false }, "span": { "start": 4813, "end": 4862, "ctxt": 0 }, "attributes": [ { "type": "JSXAttribute", "span": { "start": 4851, "end": 4859, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 4851, "end": 4854, "ctxt": 0 }, "value": "foo", "optional": false }, "value": { "type": "JSXExpressionContainer", "span": { "start": 4855, "end": 4859, "ctxt": 0 }, "expression": { "type": "NumericLiteral", "span": { "start": 4856, "end": 4858, "ctxt": 0 }, "value": 12.0 } } } ], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 4885, "end": 4937, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 4891, "end": 4936, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 4891, "end": 4893, "ctxt": 0 }, "value": "aa", "optional": false, "typeAnnotation": null }, "init": { "type": "JSXElement", "span": { "start": 4896, "end": 4936, "ctxt": 0 }, "opening": { "type": "JSXOpeningElement", "name": { "type": "Identifier", "span": { "start": 4897, "end": 4933, "ctxt": 0 }, "value": "JustDefaultPropsWithSpecifiedGeneric", "optional": false }, "span": { "start": 4896, "end": 4936, "ctxt": 0 }, "attributes": [], "selfClosing": true, "typeArguments": null }, "children": [], "closing": null }, "definite": false } ] } ], "interpreter": null }