{ "type": "Script", "span": { "start": 69, "end": 1081, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 69, "end": 101, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 79, "end": 80, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 81, "end": 101, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 87, "end": 99, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 87, "end": 90, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 90, "end": 98, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 92, "end": 98, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 103, "end": 135, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 113, "end": 114, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 115, "end": 135, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 121, "end": 133, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 121, "end": 124, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 124, "end": 132, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 126, "end": 132, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 137, "end": 170, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 147, "end": 148, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 149, "end": 170, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 155, "end": 168, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 155, "end": 158, "ctxt": 0 }, "value": "baz", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 158, "end": 167, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 160, "end": 167, "ctxt": 0 }, "kind": "boolean" } }, "typeParams": null } ] } }, { "type": "VariableDeclaration", "span": { "start": 172, "end": 181, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 176, "end": 180, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 176, "end": 177, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 177, "end": 180, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 179, "end": 180, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 179, "end": 180, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 182, "end": 196, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 186, "end": 196, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 186, "end": 188, "ctxt": 0 }, "value": "r1", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 191, "end": 196, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 191, "end": 192, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Identifier", "span": { "start": 193, "end": 196, "ctxt": 0 }, "value": "foo", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 197, "end": 212, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 201, "end": 211, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 201, "end": 203, "ctxt": 0 }, "value": "r2", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 206, "end": 211, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 206, "end": 207, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Identifier", "span": { "start": 208, "end": 211, "ctxt": 0 }, "value": "bar", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 213, "end": 228, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 217, "end": 227, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 217, "end": 219, "ctxt": 0 }, "value": "r3", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 222, "end": 227, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 222, "end": 223, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Identifier", "span": { "start": 224, "end": 227, "ctxt": 0 }, "value": "baz", "optional": false } }, "definite": false } ] }, { "type": "TsInterfaceDeclaration", "span": { "start": 252, "end": 282, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 262, "end": 263, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 263, "end": 266, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 264, "end": 265, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 264, "end": 265, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 267, "end": 282, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 273, "end": 280, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 273, "end": 276, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 276, "end": 279, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 278, "end": 279, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 278, "end": 279, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 284, "end": 314, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 294, "end": 295, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 295, "end": 298, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 296, "end": 297, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 296, "end": 297, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 299, "end": 314, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 305, "end": 312, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 305, "end": 308, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 308, "end": 311, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 310, "end": 311, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 310, "end": 311, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 316, "end": 346, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 326, "end": 327, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 327, "end": 330, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 328, "end": 329, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 328, "end": 329, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 331, "end": 346, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 337, "end": 344, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 337, "end": 340, "ctxt": 0 }, "value": "baz", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 340, "end": 343, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 342, "end": 343, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 342, "end": 343, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "VariableDeclaration", "span": { "start": 348, "end": 365, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 352, "end": 364, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 352, "end": 353, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 353, "end": 364, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 355, "end": 364, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 355, "end": 356, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 356, "end": 364, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 357, "end": 363, "ctxt": 0 }, "kind": "string" } ] } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 366, "end": 380, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 370, "end": 380, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 370, "end": 372, "ctxt": 0 }, "value": "r4", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 375, "end": 380, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 375, "end": 376, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 377, "end": 380, "ctxt": 0 }, "value": "foo", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 381, "end": 396, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 385, "end": 395, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 385, "end": 387, "ctxt": 0 }, "value": "r5", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 390, "end": 395, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 390, "end": 391, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 392, "end": 395, "ctxt": 0 }, "value": "bar", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 397, "end": 412, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 401, "end": 411, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 401, "end": 403, "ctxt": 0 }, "value": "r6", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 406, "end": 411, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 406, "end": 407, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 408, "end": 411, "ctxt": 0 }, "value": "baz", "optional": false } }, "definite": false } ] }, { "type": "TsModuleDeclaration", "span": { "start": 468, "end": 1081, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 475, "end": 476, "ctxt": 0 }, "value": "M", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 477, "end": 1081, "ctxt": 0 }, "body": [ { "type": "TsInterfaceDeclaration", "span": { "start": 483, "end": 523, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 493, "end": 494, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 495, "end": 523, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 505, "end": 517, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 505, "end": 508, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 508, "end": 516, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 510, "end": 516, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 529, "end": 569, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 539, "end": 540, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 541, "end": 569, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 551, "end": 563, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 551, "end": 554, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 554, "end": 562, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 556, "end": 562, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 575, "end": 616, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 585, "end": 586, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 587, "end": 616, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 597, "end": 610, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 597, "end": 600, "ctxt": 0 }, "value": "baz", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 600, "end": 609, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 602, "end": 609, "ctxt": 0 }, "kind": "boolean" } }, "typeParams": null } ] } }, { "type": "VariableDeclaration", "span": { "start": 622, "end": 631, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 626, "end": 630, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 626, "end": 627, "ctxt": 0 }, "value": "a", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 627, "end": 630, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 629, "end": 630, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 629, "end": 630, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 636, "end": 651, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 640, "end": 650, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 640, "end": 642, "ctxt": 0 }, "value": "r1", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 645, "end": 650, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 645, "end": 646, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Identifier", "span": { "start": 647, "end": 650, "ctxt": 0 }, "value": "foo", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 674, "end": 689, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 678, "end": 688, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 678, "end": 680, "ctxt": 0 }, "value": "r2", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 683, "end": 688, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 683, "end": 684, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Identifier", "span": { "start": 685, "end": 688, "ctxt": 0 }, "value": "bar", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 737, "end": 752, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 741, "end": 751, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 741, "end": 743, "ctxt": 0 }, "value": "r3", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 746, "end": 751, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 746, "end": 747, "ctxt": 0 }, "value": "a", "optional": false }, "property": { "type": "Identifier", "span": { "start": 748, "end": 751, "ctxt": 0 }, "value": "baz", "optional": false } }, "definite": false } ] }, { "type": "TsInterfaceDeclaration", "span": { "start": 784, "end": 822, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 794, "end": 795, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 795, "end": 798, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 796, "end": 797, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 796, "end": 797, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 799, "end": 822, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 809, "end": 816, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 809, "end": 812, "ctxt": 0 }, "value": "foo", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 812, "end": 815, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 814, "end": 815, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 814, "end": 815, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 828, "end": 866, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 838, "end": 839, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 839, "end": 842, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 840, "end": 841, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 840, "end": 841, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 843, "end": 866, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 853, "end": 860, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 853, "end": 856, "ctxt": 0 }, "value": "bar", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 856, "end": 859, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 858, "end": 859, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 858, "end": 859, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "TsInterfaceDeclaration", "span": { "start": 872, "end": 910, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 882, "end": 883, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 883, "end": 886, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 884, "end": 885, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 884, "end": 885, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "constraint": null, "default": null } ] }, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 887, "end": 910, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 897, "end": 904, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 897, "end": 900, "ctxt": 0 }, "value": "baz", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 900, "end": 903, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 902, "end": 903, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 902, "end": 903, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "typeParams": null } ] } }, { "type": "VariableDeclaration", "span": { "start": 916, "end": 933, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 920, "end": 932, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 920, "end": 921, "ctxt": 0 }, "value": "b", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 921, "end": 932, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 923, "end": 932, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 923, "end": 924, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 924, "end": 932, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 925, "end": 931, "ctxt": 0 }, "kind": "string" } ] } } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 938, "end": 952, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 942, "end": 952, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 942, "end": 944, "ctxt": 0 }, "value": "r4", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 947, "end": 952, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 947, "end": 948, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 949, "end": 952, "ctxt": 0 }, "value": "foo", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 975, "end": 990, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 979, "end": 989, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 979, "end": 981, "ctxt": 0 }, "value": "r5", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 984, "end": 989, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 984, "end": 985, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 986, "end": 989, "ctxt": 0 }, "value": "bar", "optional": false } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 1038, "end": 1053, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1042, "end": 1052, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1042, "end": 1044, "ctxt": 0 }, "value": "r6", "optional": false, "typeAnnotation": null }, "init": { "type": "MemberExpression", "span": { "start": 1047, "end": 1052, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 1047, "end": 1048, "ctxt": 0 }, "value": "b", "optional": false }, "property": { "type": "Identifier", "span": { "start": 1049, "end": 1052, "ctxt": 0 }, "value": "baz", "optional": false } }, "definite": false } ] } ] } } ], "interpreter": null }