{ "type": "Module", "span": { "start": 91, "end": 972, "ctxt": 0 }, "body": [ { "type": "ExportDeclaration", "span": { "start": 91, "end": 140, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 104, "end": 105, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "span": { "start": 98, "end": 140, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassMethod", "span": { "start": 112, "end": 138, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 112, "end": 117, "ctxt": 0 }, "value": "print", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 112, "end": 138, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 120, "end": 138, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 122, "end": 137, "ctxt": 0 }, "argument": { "type": "StringLiteral", "span": { "start": 129, "end": 137, "ctxt": 0 }, "value": "I am B", "raw": "\"I am B\"" } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } }, { "type": "ExportDeclaration", "span": { "start": 142, "end": 180, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 158, "end": 161, "ctxt": 0 }, "value": "foo", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 149, "end": 180, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 164, "end": 180, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 166, "end": 178, "ctxt": 0 }, "argument": { "type": "StringLiteral", "span": { "start": 173, "end": 178, "ctxt": 0 }, "value": "foo", "raw": "\"foo\"" } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 201, "end": 246, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 217, "end": 223, "ctxt": 0 }, "value": "backup", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 208, "end": 246, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 226, "end": 246, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 228, "end": 244, "ctxt": 0 }, "argument": { "type": "StringLiteral", "span": { "start": 235, "end": 243, "ctxt": 0 }, "value": "backup", "raw": "\"backup\"" } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "VariableDeclaration", "span": { "start": 267, "end": 292, "ctxt": 0 }, "kind": "var", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 279, "end": 291, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 279, "end": 286, "ctxt": 0 }, "value": "console", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 286, "end": 291, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 288, "end": 291, "ctxt": 0 }, "kind": "any" } } }, "init": null, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 299, "end": 300, "ctxt": 0 }, "value": "C", "optional": false }, "declare": false, "span": { "start": 293, "end": 628, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 307, "end": 340, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 315, "end": 323, "ctxt": 0 }, "value": "myModule", "optional": false }, "value": { "type": "CallExpression", "span": { "start": 326, "end": 339, "ctxt": 0 }, "callee": { "type": "Import", "span": { "start": 326, "end": 332, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 333, "end": 338, "ctxt": 0 }, "value": "./0", "raw": "\"./0\"" } } ], "typeArguments": null }, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 345, "end": 626, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 345, "end": 351, "ctxt": 0 }, "value": "method", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 345, "end": 626, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 354, "end": 626, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 364, "end": 396, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 370, "end": 395, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 370, "end": 379, "ctxt": 0 }, "value": "loadAsync", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 382, "end": 395, "ctxt": 0 }, "callee": { "type": "Import", "span": { "start": 382, "end": 388, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 389, "end": 394, "ctxt": 0 }, "value": "./0", "raw": "\"./0\"" } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 405, "end": 620, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 405, "end": 619, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 405, "end": 423, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 405, "end": 418, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 405, "end": 409, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 410, "end": 418, "ctxt": 0 }, "value": "myModule", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 419, "end": 423, "ctxt": 0 }, "value": "then", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 424, "end": 480, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 424, "end": 428, "ctxt": 0 }, "value": "Zero", "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 432, "end": 480, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 446, "end": 470, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 446, "end": 469, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 446, "end": 457, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 446, "end": 453, "ctxt": 0 }, "value": "console", "optional": false }, "property": { "type": "Identifier", "span": { "start": 454, "end": 457, "ctxt": 0 }, "value": "log", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "CallExpression", "span": { "start": 458, "end": 468, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 458, "end": 466, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 458, "end": 462, "ctxt": 0 }, "value": "Zero", "optional": false }, "property": { "type": "Identifier", "span": { "start": 463, "end": 466, "ctxt": 0 }, "value": "foo", "optional": false } }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ] }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 482, "end": 618, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 488, "end": 491, "ctxt": 0 }, "value": "err", "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 495, "end": 618, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 509, "end": 526, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 509, "end": 525, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 509, "end": 520, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 509, "end": 516, "ctxt": 0 }, "value": "console", "optional": false }, "property": { "type": "Identifier", "span": { "start": 517, "end": 520, "ctxt": 0 }, "value": "log", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 521, "end": 524, "ctxt": 0 }, "value": "err", "optional": false } } ], "typeArguments": null } }, { "type": "VariableDeclaration", "span": { "start": 539, "end": 569, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 543, "end": 568, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 543, "end": 546, "ctxt": 0 }, "value": "one", "optional": false, "typeAnnotation": null }, "init": { "type": "AwaitExpression", "span": { "start": 549, "end": 568, "ctxt": 0 }, "argument": { "type": "CallExpression", "span": { "start": 555, "end": 568, "ctxt": 0 }, "callee": { "type": "Import", "span": { "start": 555, "end": 561, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 562, "end": 567, "ctxt": 0 }, "value": "./1", "raw": "\"./1\"" } } ], "typeArguments": null } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 582, "end": 608, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 582, "end": 607, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 582, "end": 593, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 582, "end": 589, "ctxt": 0 }, "value": "console", "optional": false }, "property": { "type": "Identifier", "span": { "start": 590, "end": 593, "ctxt": 0 }, "value": "log", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "CallExpression", "span": { "start": 594, "end": 606, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 594, "end": 604, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 594, "end": 597, "ctxt": 0 }, "value": "one", "optional": false }, "property": { "type": "Identifier", "span": { "start": 598, "end": 604, "ctxt": 0 }, "value": "backup", "optional": false } }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ] }, "async": true, "generator": false, "typeParameters": null, "returnType": null } } ], "typeArguments": null } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] }, { "type": "ExportDeclaration", "span": { "start": 630, "end": 972, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 643, "end": 644, "ctxt": 0 }, "value": "D", "optional": false }, "declare": false, "span": { "start": 637, "end": 972, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 651, "end": 684, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 659, "end": 667, "ctxt": 0 }, "value": "myModule", "optional": false }, "value": { "type": "CallExpression", "span": { "start": 670, "end": 683, "ctxt": 0 }, "callee": { "type": "Import", "span": { "start": 670, "end": 676, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 677, "end": 682, "ctxt": 0 }, "value": "./0", "raw": "\"./0\"" } } ], "typeArguments": null }, "typeAnnotation": null, "isStatic": false, "decorators": [], "accessibility": "private", "isAbstract": false, "isOptional": false, "isOverride": false, "readonly": false, "declare": false, "definite": false }, { "type": "ClassMethod", "span": { "start": 689, "end": 970, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 689, "end": 695, "ctxt": 0 }, "value": "method", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 689, "end": 970, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 698, "end": 970, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 708, "end": 740, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 714, "end": 739, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 714, "end": 723, "ctxt": 0 }, "value": "loadAsync", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 726, "end": 739, "ctxt": 0 }, "callee": { "type": "Import", "span": { "start": 726, "end": 732, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 733, "end": 738, "ctxt": 0 }, "value": "./0", "raw": "\"./0\"" } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 749, "end": 964, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 749, "end": 963, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 749, "end": 767, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 749, "end": 762, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 749, "end": 753, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 754, "end": 762, "ctxt": 0 }, "value": "myModule", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 763, "end": 767, "ctxt": 0 }, "value": "then", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 768, "end": 824, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 768, "end": 772, "ctxt": 0 }, "value": "Zero", "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 776, "end": 824, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 790, "end": 814, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 790, "end": 813, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 790, "end": 801, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 790, "end": 797, "ctxt": 0 }, "value": "console", "optional": false }, "property": { "type": "Identifier", "span": { "start": 798, "end": 801, "ctxt": 0 }, "value": "log", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "CallExpression", "span": { "start": 802, "end": 812, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 802, "end": 810, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 802, "end": 806, "ctxt": 0 }, "value": "Zero", "optional": false }, "property": { "type": "Identifier", "span": { "start": 807, "end": 810, "ctxt": 0 }, "value": "foo", "optional": false } }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ] }, "async": false, "generator": false, "typeParameters": null, "returnType": null } }, { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 826, "end": 962, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 832, "end": 835, "ctxt": 0 }, "value": "err", "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 839, "end": 962, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 853, "end": 870, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 853, "end": 869, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 853, "end": 864, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 853, "end": 860, "ctxt": 0 }, "value": "console", "optional": false }, "property": { "type": "Identifier", "span": { "start": 861, "end": 864, "ctxt": 0 }, "value": "log", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 865, "end": 868, "ctxt": 0 }, "value": "err", "optional": false } } ], "typeArguments": null } }, { "type": "VariableDeclaration", "span": { "start": 883, "end": 913, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 887, "end": 912, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 887, "end": 890, "ctxt": 0 }, "value": "one", "optional": false, "typeAnnotation": null }, "init": { "type": "AwaitExpression", "span": { "start": 893, "end": 912, "ctxt": 0 }, "argument": { "type": "CallExpression", "span": { "start": 899, "end": 912, "ctxt": 0 }, "callee": { "type": "Import", "span": { "start": 899, "end": 905, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 906, "end": 911, "ctxt": 0 }, "value": "./1", "raw": "\"./1\"" } } ], "typeArguments": null } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 926, "end": 952, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 926, "end": 951, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 926, "end": 937, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 926, "end": 933, "ctxt": 0 }, "value": "console", "optional": false }, "property": { "type": "Identifier", "span": { "start": 934, "end": 937, "ctxt": 0 }, "value": "log", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "CallExpression", "span": { "start": 938, "end": 950, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 938, "end": 948, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 938, "end": 941, "ctxt": 0 }, "value": "one", "optional": false }, "property": { "type": "Identifier", "span": { "start": 942, "end": 948, "ctxt": 0 }, "value": "backup", "optional": false } }, "arguments": [], "typeArguments": null } } ], "typeArguments": null } } ] }, "async": true, "generator": false, "typeParameters": null, "returnType": null } } ], "typeArguments": null } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, "kind": "method", "isStatic": false, "accessibility": null, "isAbstract": false, "isOptional": false, "isOverride": false } ], "superClass": null, "isAbstract": false, "typeParams": null, "superTypeParams": null, "implements": [] } } ], "interpreter": null }