{ "type": "Module", "span": { "start": 97, "end": 1215, "ctxt": 0 }, "body": [ { "type": "ExportDeclaration", "span": { "start": 97, "end": 157, "ctxt": 0 }, "declaration": { "type": "TsTypeAliasDeclaration", "span": { "start": 104, "end": 157, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 109, "end": 120, "ctxt": 0 }, "value": "Constructor", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 120, "end": 128, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 121, "end": 127, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 121, "end": 122, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": { "type": "TsTypeLiteral", "span": { "start": 125, "end": 127, "ctxt": 0 }, "members": [] } } ] }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 131, "end": 156, "ctxt": 0 }, "params": [ { "type": "RestElement", "span": { "start": 136, "end": 150, "ctxt": 0 }, "rest": { "start": 136, "end": 139, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 139, "end": 143, "ctxt": 0 }, "value": "args", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 143, "end": 150, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 145, "end": 150, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 145, "end": 148, "ctxt": 0 }, "kind": "any" } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 152, "end": 156, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 155, "end": 156, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 155, "end": 156, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isAbstract": false } } }, { "type": "ExportDeclaration", "span": { "start": 158, "end": 213, "ctxt": 0 }, "declaration": { "type": "TsTypeAliasDeclaration", "span": { "start": 165, "end": 213, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 170, "end": 182, "ctxt": 0 }, "value": "PropertiesOf", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 182, "end": 185, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 183, "end": 184, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 183, "end": 184, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsMappedType", "span": { "start": 188, "end": 212, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 191, "end": 203, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 191, "end": 192, "ctxt": 0 }, "value": "K", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeOperator", "span": { "start": 196, "end": 203, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 202, "end": 203, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 202, "end": 203, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsIndexedAccessType", "span": { "start": 206, "end": 210, "ctxt": 0 }, "readonly": false, "objectType": { "type": "TsTypeReference", "span": { "start": 206, "end": 207, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 206, "end": 207, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null }, "indexType": { "type": "TsTypeReference", "span": { "start": 208, "end": 209, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 208, "end": 209, "ctxt": 0 }, "value": "K", "optional": false }, "typeParams": null } } } } }, { "type": "TsInterfaceDeclaration", "span": { "start": 215, "end": 306, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 225, "end": 244, "ctxt": 0 }, "value": "IApiItemConstructor", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 253, "end": 273, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 253, "end": 264, "ctxt": 0 }, "value": "Constructor", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 264, "end": 273, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 265, "end": 272, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 265, "end": 272, "ctxt": 0 }, "value": "ApiItem", "optional": false }, "typeParams": null } ] } }, { "type": "TsExpressionWithTypeArguments", "span": { "start": 275, "end": 303, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 275, "end": 287, "ctxt": 0 }, "value": "PropertiesOf", "optional": false }, "typeArguments": { "type": "TsTypeParameterInstantiation", "span": { "start": 287, "end": 303, "ctxt": 0 }, "params": [ { "type": "TsTypeQuery", "span": { "start": 288, "end": 302, "ctxt": 0 }, "exprName": { "type": "Identifier", "span": { "start": 295, "end": 302, "ctxt": 0 }, "value": "ApiItem", "optional": false }, "typeArguments": null } ] } } ], "body": { "type": "TsInterfaceBody", "span": { "start": 304, "end": 306, "ctxt": 0 }, "body": [] } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 328, "end": 335, "ctxt": 0 }, "value": "ApiItem", "optional": false }, "declare": false, "span": { "start": 322, "end": 407, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassMethod", "span": { "start": 340, "end": 405, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 351, "end": 358, "ctxt": 0 }, "value": "members", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 340, "end": 405, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 385, "end": 405, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 391, "end": 401, "ctxt": 0 }, "argument": { "type": "ArrayExpression", "span": { "start": 398, "end": 400, "ctxt": 0 }, "elements": [] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 360, "end": 384, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 362, "end": 384, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 362, "end": 375, "ctxt": 0 }, "value": "ReadonlyArray", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 375, "end": 384, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 376, "end": 383, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 376, "end": 383, "ctxt": 0 }, "value": "ApiItem", "optional": false }, "typeParams": null } ] } } } }, "kind": "getter", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 434, "end": 447, "ctxt": 0 }, "value": "ApiEnumMember", "optional": false }, "declare": false, "span": { "start": 428, "end": 467, "ctxt": 0 }, "decorators": [], "body": [], "superClass": { "type": "Identifier", "span": { "start": 456, "end": 463, "ctxt": 0 }, "value": "ApiItem", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "TsInterfaceDeclaration", "span": { "start": 489, "end": 584, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 499, "end": 520, "ctxt": 0 }, "value": "ApiItemContainerMixin", "optional": false }, "declare": false, "typeParams": null, "extends": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 529, "end": 536, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 529, "end": 536, "ctxt": 0 }, "value": "ApiItem", "optional": false }, "typeArguments": null } ], "body": { "type": "TsInterfaceBody", "span": { "start": 537, "end": 584, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 541, "end": 582, "ctxt": 0 }, "readonly": true, "key": { "type": "Identifier", "span": { "start": 550, "end": 557, "ctxt": 0 }, "value": "members", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 557, "end": 581, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 559, "end": 581, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 559, "end": 572, "ctxt": 0 }, "value": "ReadonlyArray", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 572, "end": 581, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 573, "end": 580, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 573, "end": 580, "ctxt": 0 }, "value": "ApiItem", "optional": false }, "typeParams": null } ] } } }, "typeParams": null } ] } }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 595, "end": 616, "ctxt": 0 }, "value": "ApiItemContainerMixin", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 660, "end": 681, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 660, "end": 681, "ctxt": 0 }, "value": "baseClass", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 669, "end": 681, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 671, "end": 681, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 671, "end": 681, "ctxt": 0 }, "value": "TBaseClass", "optional": false }, "typeParams": null } } } } ], "decorators": [], "span": { "start": 586, "end": 1000, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 746, "end": 1000, "ctxt": 0 }, "stmts": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 765, "end": 775, "ctxt": 0 }, "value": "MixedClass", "optional": false }, "declare": false, "span": { "start": 750, "end": 976, "ctxt": 0 }, "decorators": [], "body": [ { "type": "Constructor", "span": { "start": 833, "end": 897, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 840, "end": 851, "ctxt": 0 }, "value": "constructor", "optional": false }, "params": [ { "type": "Parameter", "span": { "start": 852, "end": 866, "ctxt": 0 }, "decorators": [], "pat": { "type": "RestElement", "span": { "start": 852, "end": 866, "ctxt": 0 }, "rest": { "start": 852, "end": 855, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 855, "end": 859, "ctxt": 0 }, "value": "args", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 859, "end": 866, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 861, "end": 866, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 861, "end": 864, "ctxt": 0 }, "kind": "any" } } } } } ], "body": { "type": "BlockStatement", "span": { "start": 868, "end": 897, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 876, "end": 891, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 876, "end": 890, "ctxt": 0 }, "callee": { "type": "Super", "span": { "start": 876, "end": 881, "ctxt": 0 } }, "arguments": [ { "spread": { "start": 882, "end": 885, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 885, "end": 889, "ctxt": 0 }, "value": "args", "optional": false } } ], "typeArguments": null } } ] }, "accessibility": "public", "isOptional": false }, { "type": "ClassMethod", "span": { "start": 903, "end": 972, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 914, "end": 921, "ctxt": 0 }, "value": "members", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 903, "end": 972, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 948, "end": 972, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 956, "end": 966, "ctxt": 0 }, "argument": { "type": "ArrayExpression", "span": { "start": 963, "end": 965, "ctxt": 0 }, "elements": [] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 923, "end": 947, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 925, "end": 947, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 925, "end": 938, "ctxt": 0 }, "value": "ReadonlyArray", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 938, "end": 947, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 939, "end": 946, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 939, "end": 946, "ctxt": 0 }, "value": "ApiItem", "optional": false }, "typeParams": null } ] } } } }, "kind": "getter", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": { "type": "Identifier", "span": { "start": 784, "end": 793, "ctxt": 0 }, "value": "baseClass", "optional": false }, "isAbstract": true, "typeParams": null, "superTypeParams": null, "implements": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 805, "end": 826, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 805, "end": 826, "ctxt": 0 }, "value": "ApiItemContainerMixin", "optional": false }, "typeArguments": null } ] }, { "type": "ReturnStatement", "span": { "start": 980, "end": 998, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 987, "end": 997, "ctxt": 0 }, "value": "MixedClass", "optional": false } } ] }, "generator": false, "async": false, "typeParameters": { "type": "TsTypeParameterDeclaration", "span": { "start": 616, "end": 656, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 617, "end": 655, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 617, "end": 627, "ctxt": 0 }, "value": "TBaseClass", "optional": false }, "in": false, "out": false, "const": false, "constraint": { "type": "TsTypeReference", "span": { "start": 636, "end": 655, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 636, "end": 655, "ctxt": 0 }, "value": "IApiItemConstructor", "optional": false }, "typeParams": null }, "default": null } ] }, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 683, "end": 745, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 685, "end": 745, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 685, "end": 695, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 685, "end": 695, "ctxt": 0 }, "value": "TBaseClass", "optional": false }, "typeParams": null }, { "type": "TsParenthesizedType", "span": { "start": 698, "end": 745, "ctxt": 0 }, "typeAnnotation": { "type": "TsConstructorType", "span": { "start": 699, "end": 744, "ctxt": 0 }, "params": [ { "type": "RestElement", "span": { "start": 704, "end": 718, "ctxt": 0 }, "rest": { "start": 704, "end": 707, "ctxt": 0 }, "argument": { "type": "Identifier", "span": { "start": 707, "end": 711, "ctxt": 0 }, "value": "args", "optional": false, "typeAnnotation": null }, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 711, "end": 718, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 713, "end": 718, "ctxt": 0 }, "elemType": { "type": "TsKeywordType", "span": { "start": 713, "end": 716, "ctxt": 0 }, "kind": "any" } } } } ], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 720, "end": 744, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 723, "end": 744, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 723, "end": 744, "ctxt": 0 }, "value": "ApiItemContainerMixin", "optional": false }, "typeParams": null } }, "isAbstract": false } } ] } } }, { "type": "ExportDeclaration", "span": { "start": 1036, "end": 1215, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1049, "end": 1056, "ctxt": 0 }, "value": "ApiEnum", "optional": false }, "declare": false, "span": { "start": 1043, "end": 1215, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassMethod", "span": { "start": 1142, "end": 1213, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1153, "end": 1160, "ctxt": 0 }, "value": "members", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 1142, "end": 1213, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 1193, "end": 1213, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1199, "end": 1209, "ctxt": 0 }, "argument": { "type": "ArrayExpression", "span": { "start": 1206, "end": 1208, "ctxt": 0 }, "elements": [] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 1162, "end": 1192, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 1164, "end": 1192, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1164, "end": 1177, "ctxt": 0 }, "value": "ReadonlyArray", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 1177, "end": 1192, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 1178, "end": 1191, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1178, "end": 1191, "ctxt": 0 }, "value": "ApiEnumMember", "optional": false }, "typeParams": null } ] } } } }, "kind": "getter", "isStatic": false, "accessibility": "public", "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": { "type": "CallExpression", "span": { "start": 1065, "end": 1095, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 1065, "end": 1086, "ctxt": 0 }, "value": "ApiItemContainerMixin", "optional": false }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 1087, "end": 1094, "ctxt": 0 }, "value": "ApiItem", "optional": false } } ], "typeArguments": null }, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } } ], "interpreter": null }