{ "type": "Script", "span": { "start": 1, "end": 1232, "ctxt": 0 }, "body": [ { "type": "TsModuleDeclaration", "span": { "start": 1, "end": 570, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 8, "end": 9, "ctxt": 0 }, "value": "A", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 10, "end": 570, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 22, "end": 23, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 16, "end": 37, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 26, "end": 35, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 26, "end": 27, "ctxt": 0 }, "value": "s", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 27, "end": 35, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 29, "end": 35, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 48, "end": 50, "ctxt": 0 }, "value": "AA", "optional": false }, "declare": false, "span": { "start": 42, "end": 62, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 56, "end": 60, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 56, "end": 57, "ctxt": 0 }, "value": "s", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 57, "end": 60, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 59, "end": 60, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 59, "end": 60, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 50, "end": 53, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 51, "end": 52, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 51, "end": 52, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "superTypeParams": null, "implements": [] }, { "type": "TsInterfaceDeclaration", "span": { "start": 67, "end": 93, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 77, "end": 78, "ctxt": 0 }, "value": "I", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 79, "end": 93, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 81, "end": 91, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 81, "end": 83, "ctxt": 0 }, "value": "id", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 83, "end": 91, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 85, "end": 91, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 105, "end": 106, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "span": { "start": 99, "end": 153, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 141, "end": 151, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 141, "end": 143, "ctxt": 0 }, "value": "id", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 143, "end": 151, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 145, "end": 151, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 115, "end": 117, "ctxt": 0 }, "value": "AA", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 117, "end": 125, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 118, "end": 124, "ctxt": 0 }, "kind": "string" } ] }, "implements": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 137, "end": 138, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 137, "end": 138, "ctxt": 0 }, "value": "I", "optional": false }, "typeArguments": null } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 164, "end": 166, "ctxt": 0 }, "value": "BB", "optional": false }, "declare": false, "span": { "start": 158, "end": 207, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 190, "end": 201, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 190, "end": 192, "ctxt": 0 }, "value": "id", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 192, "end": 200, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 194, "end": 200, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 178, "end": 179, "ctxt": 0 }, "value": "A", "optional": false }, "isAbstract": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 166, "end": 169, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 167, "end": 168, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 167, "end": 168, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "superTypeParams": null, "implements": [] }, { "type": "TsModuleDeclaration", "span": { "start": 213, "end": 264, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 220, "end": 226, "ctxt": 0 }, "value": "Module", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 227, "end": 264, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 243, "end": 244, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 237, "end": 258, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 247, "end": 256, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 247, "end": 248, "ctxt": 0 }, "value": "s", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 248, "end": 256, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 250, "end": 256, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ] } }, { "type": "TsEnumDeclaration", "span": { "start": 269, "end": 293, "ctxt": 0 }, "declare": false, "isConst": false, "id": { "type": "Identifier", "span": { "start": 274, "end": 279, "ctxt": 0 }, "value": "Color", "optional": false }, "members": [ { "type": "TsEnumMember", "span": { "start": 282, "end": 286, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 282, "end": 286, "ctxt": 0 }, "value": "Blue", "optional": false }, "init": null }, { "type": "TsEnumMember", "span": { "start": 288, "end": 291, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 288, "end": 291, "ctxt": 0 }, "value": "Red", "optional": false }, "init": null } ] }, { "type": "VariableDeclaration", "span": { "start": 298, "end": 309, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 302, "end": 308, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 302, "end": 303, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "init": { "type": "NumericLiteral", "span": { "start": 306, "end": 308, "ctxt": 0 }, "value": 12.0, "raw": "12" }, "definite": false } ] }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 323, "end": 324, "ctxt": 0 }, "value": "F", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 325, "end": 334, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 325, "end": 334, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 326, "end": 334, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 328, "end": 334, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 314, "end": 369, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 344, "end": 369, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 354, "end": 363, "ctxt": 0 }, "argument": { "type": "NumericLiteral", "span": { "start": 361, "end": 362, "ctxt": 0 }, "value": 2.0, "raw": "2" } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 335, "end": 343, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 337, "end": 343, "ctxt": 0 }, "kind": "number" } } }, { "type": "VariableDeclaration", "span": { "start": 374, "end": 396, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 378, "end": 395, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 378, "end": 383, "ctxt": 0 }, "value": "array", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 383, "end": 388, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 385, "end": 388, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 385, "end": 386, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 385, "end": 386, "ctxt": 0 }, "value": "I", "optional": false }, "typeParams": null } } } }, "init": { "type": "NullLiteral", "span": { "start": 391, "end": 395, "ctxt": 0 } }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 401, "end": 461, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 405, "end": 461, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 405, "end": 407, "ctxt": 0 }, "value": "fn", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 410, "end": 461, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 411, "end": 420, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 412, "end": 420, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 414, "end": 420, "ctxt": 0 }, "kind": "string" } } } ], "body": { "type": "BlockStatement", "span": { "start": 425, "end": 461, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 435, "end": 455, "ctxt": 0 }, "argument": { "type": "BinaryExpression", "span": { "start": 442, "end": 454, "ctxt": 0 }, "operator": "+", "left": { "type": "StringLiteral", "span": { "start": 442, "end": 450, "ctxt": 0 }, "value": "hello ", "raw": "'hello '" }, "right": { "type": "Identifier", "span": { "start": 453, "end": 454, "ctxt": 0 }, "value": "s", "optional": false } } } ] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 466, "end": 512, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 470, "end": 511, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 470, "end": 472, "ctxt": 0 }, "value": "ol", "optional": false, "typeAnnotation": null }, "init": { "type": "ObjectExpression", "span": { "start": 475, "end": 511, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 477, "end": 478, "ctxt": 0 }, "value": "s", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 480, "end": 487, "ctxt": 0 }, "value": "hello", "raw": "'hello'" } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 489, "end": 491, "ctxt": 0 }, "value": "id", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 493, "end": 494, "ctxt": 0 }, "value": 2.0, "raw": "2" } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 496, "end": 503, "ctxt": 0 }, "value": "isvalid", "optional": false }, "value": { "type": "BooleanLiteral", "span": { "start": 505, "end": 509, "ctxt": 0 }, "value": true } } ] }, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 532, "end": 534, "ctxt": 0 }, "value": "DC", "optional": false }, "declare": true, "span": { "start": 518, "end": 568, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 545, "end": 562, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 552, "end": 553, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 553, "end": 561, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 555, "end": 561, "ctxt": 0 }, "kind": "number" } }, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ] } }, { "type": "TsModuleDeclaration", "span": { "start": 572, "end": 1232, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 579, "end": 580, "ctxt": 0 }, "value": "Y", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 581, "end": 1232, "ctxt": 0 }, "body": [ { "type": "ExportDeclaration", "span": { "start": 587, "end": 615, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 600, "end": 601, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 594, "end": 615, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 604, "end": 613, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 604, "end": 605, "ctxt": 0 }, "value": "s", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 605, "end": 613, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 607, "end": 613, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 620, "end": 647, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 633, "end": 635, "ctxt": 0 }, "value": "AA", "optional": false }, "declare": false, "span": { "start": 627, "end": 647, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 641, "end": 645, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 641, "end": 642, "ctxt": 0 }, "value": "s", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 642, "end": 645, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 644, "end": 645, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 644, "end": 645, "ctxt": 0 }, "value": "T", "optional": false }, "typeParams": null } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 635, "end": 638, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 636, "end": 637, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 636, "end": 637, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 652, "end": 685, "ctxt": 0 }, "declaration": { "type": "TsInterfaceDeclaration", "span": { "start": 659, "end": 685, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 669, "end": 670, "ctxt": 0 }, "value": "I", "optional": false }, "declare": false, "typeParams": null, "extends": [], "body": { "type": "TsInterfaceBody", "span": { "start": 671, "end": 685, "ctxt": 0 }, "body": [ { "type": "TsPropertySignature", "span": { "start": 673, "end": 683, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 673, "end": 675, "ctxt": 0 }, "value": "id", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 675, "end": 683, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 677, "end": 683, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } }, { "type": "ExportDeclaration", "span": { "start": 691, "end": 752, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 704, "end": 705, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "span": { "start": 698, "end": 752, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 740, "end": 750, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 740, "end": 742, "ctxt": 0 }, "value": "id", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 742, "end": 750, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 744, "end": 750, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 714, "end": 716, "ctxt": 0 }, "value": "AA", "optional": false }, "isAbstract": false, "typeParams": null, "superTypeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 716, "end": 724, "ctxt": 0 }, "params": [ { "type": "TsKeywordType", "span": { "start": 717, "end": 723, "ctxt": 0 }, "kind": "string" } ] }, "implements": [ { "type": "TsExpressionWithTypeArguments", "span": { "start": 736, "end": 737, "ctxt": 0 }, "expression": { "type": "Identifier", "span": { "start": 736, "end": 737, "ctxt": 0 }, "value": "I", "optional": false }, "typeArguments": null } ] } }, { "type": "ExportDeclaration", "span": { "start": 757, "end": 813, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 770, "end": 772, "ctxt": 0 }, "value": "BB", "optional": false }, "declare": false, "span": { "start": 764, "end": 813, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 796, "end": 807, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 796, "end": 798, "ctxt": 0 }, "value": "id", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 798, "end": 806, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 800, "end": 806, "ctxt": 0 }, "kind": "number" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": { "type": "Identifier", "span": { "start": 784, "end": 785, "ctxt": 0 }, "value": "A", "optional": false }, "isAbstract": false, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 772, "end": 775, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 773, "end": 774, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 773, "end": 774, "ctxt": 0 }, "value": "T", "optional": false }, "in": false, "out": false, "const": false, "constraint": null, "default": null } ] }, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 819, "end": 877, "ctxt": 0 }, "declaration": { "type": "TsModuleDeclaration", "span": { "start": 826, "end": 877, "ctxt": 0 }, "declare": false, "global": false, "id": { "type": "Identifier", "span": { "start": 833, "end": 839, "ctxt": 0 }, "value": "Module", "optional": false }, "body": { "type": "TsModuleBlock", "span": { "start": 840, "end": 877, "ctxt": 0 }, "body": [ { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 856, "end": 857, "ctxt": 0 }, "value": "A", "optional": false }, "declare": false, "span": { "start": 850, "end": 871, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 860, "end": 869, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 860, "end": 861, "ctxt": 0 }, "value": "s", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 861, "end": 869, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 863, "end": 869, "ctxt": 0 }, "kind": "string" } }, "isStatic": false, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } ] } } }, { "type": "ExportDeclaration", "span": { "start": 882, "end": 913, "ctxt": 0 }, "declaration": { "type": "TsEnumDeclaration", "span": { "start": 889, "end": 913, "ctxt": 0 }, "declare": false, "isConst": false, "id": { "type": "Identifier", "span": { "start": 894, "end": 899, "ctxt": 0 }, "value": "Color", "optional": false }, "members": [ { "type": "TsEnumMember", "span": { "start": 902, "end": 906, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 902, "end": 906, "ctxt": 0 }, "value": "Blue", "optional": false }, "init": null }, { "type": "TsEnumMember", "span": { "start": 908, "end": 911, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 908, "end": 911, "ctxt": 0 }, "value": "Red", "optional": false }, "init": null } ] } }, { "type": "ExportDeclaration", "span": { "start": 918, "end": 936, "ctxt": 0 }, "declaration": { "type": "VariableDeclaration", "span": { "start": 925, "end": 936, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 929, "end": 935, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 929, "end": 930, "ctxt": 0 }, "value": "x", "optional": false, "typeAnnotation": null }, "init": { "type": "NumericLiteral", "span": { "start": 933, "end": 935, "ctxt": 0 }, "value": 12.0, "raw": "12" }, "definite": false } ] } }, { "type": "ExportDeclaration", "span": { "start": 941, "end": 1003, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 957, "end": 958, "ctxt": 0 }, "value": "F", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 959, "end": 968, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 959, "end": 968, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 960, "end": 968, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 962, "end": 968, "ctxt": 0 }, "kind": "string" } } } } ], "decorators": [], "span": { "start": 948, "end": 1003, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 978, "end": 1003, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 988, "end": 997, "ctxt": 0 }, "argument": { "type": "NumericLiteral", "span": { "start": 995, "end": 996, "ctxt": 0 }, "value": 2.0, "raw": "2" } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": { "type": "TsTypeAnnotation", "span": { "start": 969, "end": 977, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 971, "end": 977, "ctxt": 0 }, "kind": "number" } } } }, { "type": "ExportDeclaration", "span": { "start": 1008, "end": 1037, "ctxt": 0 }, "declaration": { "type": "VariableDeclaration", "span": { "start": 1015, "end": 1037, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1019, "end": 1036, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1019, "end": 1024, "ctxt": 0 }, "value": "array", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1024, "end": 1029, "ctxt": 0 }, "typeAnnotation": { "type": "TsArrayType", "span": { "start": 1026, "end": 1029, "ctxt": 0 }, "elemType": { "type": "TsTypeReference", "span": { "start": 1026, "end": 1027, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 1026, "end": 1027, "ctxt": 0 }, "value": "I", "optional": false }, "typeParams": null } } } }, "init": { "type": "NullLiteral", "span": { "start": 1032, "end": 1036, "ctxt": 0 } }, "definite": false } ] } }, { "type": "ExportDeclaration", "span": { "start": 1042, "end": 1109, "ctxt": 0 }, "declaration": { "type": "VariableDeclaration", "span": { "start": 1049, "end": 1109, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1053, "end": 1109, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1053, "end": 1055, "ctxt": 0 }, "value": "fn", "optional": false, "typeAnnotation": null }, "init": { "type": "ArrowFunctionExpression", "span": { "start": 1058, "end": 1109, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 1059, "end": 1068, "ctxt": 0 }, "value": "s", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1060, "end": 1068, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1062, "end": 1068, "ctxt": 0 }, "kind": "string" } } } ], "body": { "type": "BlockStatement", "span": { "start": 1073, "end": 1109, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 1083, "end": 1103, "ctxt": 0 }, "argument": { "type": "BinaryExpression", "span": { "start": 1090, "end": 1102, "ctxt": 0 }, "operator": "+", "left": { "type": "StringLiteral", "span": { "start": 1090, "end": 1098, "ctxt": 0 }, "value": "hello ", "raw": "'hello '" }, "right": { "type": "Identifier", "span": { "start": 1101, "end": 1102, "ctxt": 0 }, "value": "s", "optional": false } } } ] }, "async": false, "generator": false, "typeParameters": null, "returnType": null }, "definite": false } ] } }, { "type": "ExportDeclaration", "span": { "start": 1114, "end": 1167, "ctxt": 0 }, "declaration": { "type": "VariableDeclaration", "span": { "start": 1121, "end": 1167, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 1125, "end": 1166, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 1125, "end": 1127, "ctxt": 0 }, "value": "ol", "optional": false, "typeAnnotation": null }, "init": { "type": "ObjectExpression", "span": { "start": 1130, "end": 1166, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1132, "end": 1133, "ctxt": 0 }, "value": "s", "optional": false }, "value": { "type": "StringLiteral", "span": { "start": 1135, "end": 1142, "ctxt": 0 }, "value": "hello", "raw": "'hello'" } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1144, "end": 1146, "ctxt": 0 }, "value": "id", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 1148, "end": 1149, "ctxt": 0 }, "value": 2.0, "raw": "2" } }, { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 1151, "end": 1158, "ctxt": 0 }, "value": "isvalid", "optional": false }, "value": { "type": "BooleanLiteral", "span": { "start": 1160, "end": 1164, "ctxt": 0 }, "value": true } } ] }, "definite": false } ] } }, { "type": "ExportDeclaration", "span": { "start": 1173, "end": 1230, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 1194, "end": 1196, "ctxt": 0 }, "value": "DC", "optional": false }, "declare": true, "span": { "start": 1180, "end": 1230, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 1207, "end": 1224, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 1214, "end": 1215, "ctxt": 0 }, "value": "x", "optional": false }, "value": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 1215, "end": 1223, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 1217, "end": 1223, "ctxt": 0 }, "kind": "number" } }, "isStatic": true, "decorators": [], "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } } ] } } ], "interpreter": null }