{ "type": "Module", "span": { "start": 93, "end": 974, "ctxt": 0 }, "body": [ { "type": "ExportDeclaration", "span": { "start": 93, "end": 142, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 106, "end": 107, "ctxt": 0 }, "value": "B", "optional": false }, "declare": false, "span": { "start": 100, "end": 142, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassMethod", "span": { "start": 114, "end": 140, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 114, "end": 119, "ctxt": 0 }, "value": "print", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 114, "end": 140, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 122, "end": 140, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 124, "end": 139, "ctxt": 0 }, "argument": { "type": "StringLiteral", "span": { "start": 131, "end": 139, "ctxt": 0 }, "value": "I am B", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] }, "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": 144, "end": 182, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 160, "end": 163, "ctxt": 0 }, "value": "foo", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 151, "end": 182, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 166, "end": 182, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 168, "end": 180, "ctxt": 0 }, "argument": { "type": "StringLiteral", "span": { "start": 175, "end": 180, "ctxt": 0 }, "value": "foo", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "ExportDeclaration", "span": { "start": 203, "end": 248, "ctxt": 0 }, "declaration": { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 219, "end": 225, "ctxt": 0 }, "value": "backup", "optional": false }, "declare": false, "params": [], "decorators": [], "span": { "start": 210, "end": 248, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 228, "end": 248, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 230, "end": 246, "ctxt": 0 }, "argument": { "type": "StringLiteral", "span": { "start": 237, "end": 245, "ctxt": 0 }, "value": "backup", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } }, { "type": "VariableDeclaration", "span": { "start": 269, "end": 294, "ctxt": 0 }, "kind": "var", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 281, "end": 293, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 281, "end": 288, "ctxt": 0 }, "value": "console", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 288, "end": 293, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 290, "end": 293, "ctxt": 0 }, "kind": "any" } } }, "init": null, "definite": false } ] }, { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 301, "end": 302, "ctxt": 0 }, "value": "C", "optional": false }, "declare": false, "span": { "start": 295, "end": 630, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 309, "end": 342, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 317, "end": 325, "ctxt": 0 }, "value": "myModule", "optional": false }, "value": { "type": "CallExpression", "span": { "start": 328, "end": 341, "ctxt": 0 }, "callee": { "type": "Import", "span": { "start": 328, "end": 334, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 335, "end": 340, "ctxt": 0 }, "value": "./0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "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": 347, "end": 628, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 347, "end": 353, "ctxt": 0 }, "value": "method", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 347, "end": 628, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 356, "end": 628, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 366, "end": 398, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 372, "end": 397, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 372, "end": 381, "ctxt": 0 }, "value": "loadAsync", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 384, "end": 397, "ctxt": 0 }, "callee": { "type": "Import", "span": { "start": 384, "end": 390, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 391, "end": 396, "ctxt": 0 }, "value": "./0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 407, "end": 622, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 407, "end": 621, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 407, "end": 425, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 407, "end": 420, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 407, "end": 411, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 412, "end": 420, "ctxt": 0 }, "value": "myModule", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 421, "end": 425, "ctxt": 0 }, "value": "then", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 426, "end": 482, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 426, "end": 430, "ctxt": 0 }, "value": "Zero", "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 434, "end": 482, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 448, "end": 472, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 448, "end": 471, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 448, "end": 459, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 448, "end": 455, "ctxt": 0 }, "value": "console", "optional": false }, "property": { "type": "Identifier", "span": { "start": 456, "end": 459, "ctxt": 0 }, "value": "log", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "CallExpression", "span": { "start": 460, "end": 470, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 460, "end": 468, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 460, "end": 464, "ctxt": 0 }, "value": "Zero", "optional": false }, "property": { "type": "Identifier", "span": { "start": 465, "end": 468, "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": 484, "end": 620, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 490, "end": 493, "ctxt": 0 }, "value": "err", "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 497, "end": 620, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 511, "end": 528, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 511, "end": 527, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 511, "end": 522, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 511, "end": 518, "ctxt": 0 }, "value": "console", "optional": false }, "property": { "type": "Identifier", "span": { "start": 519, "end": 522, "ctxt": 0 }, "value": "log", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 523, "end": 526, "ctxt": 0 }, "value": "err", "optional": false } } ], "typeArguments": null } }, { "type": "VariableDeclaration", "span": { "start": 541, "end": 571, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 545, "end": 570, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 545, "end": 548, "ctxt": 0 }, "value": "one", "optional": false, "typeAnnotation": null }, "init": { "type": "AwaitExpression", "span": { "start": 551, "end": 570, "ctxt": 0 }, "argument": { "type": "CallExpression", "span": { "start": 557, "end": 570, "ctxt": 0 }, "callee": { "type": "Import", "span": { "start": 557, "end": 563, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 564, "end": 569, "ctxt": 0 }, "value": "./1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "typeArguments": null } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 584, "end": 610, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 584, "end": 609, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 584, "end": 595, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 584, "end": 591, "ctxt": 0 }, "value": "console", "optional": false }, "property": { "type": "Identifier", "span": { "start": 592, "end": 595, "ctxt": 0 }, "value": "log", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "CallExpression", "span": { "start": 596, "end": 608, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 596, "end": 606, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 596, "end": 599, "ctxt": 0 }, "value": "one", "optional": false }, "property": { "type": "Identifier", "span": { "start": 600, "end": 606, "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": 632, "end": 974, "ctxt": 0 }, "declaration": { "type": "ClassDeclaration", "identifier": { "type": "Identifier", "span": { "start": 645, "end": 646, "ctxt": 0 }, "value": "D", "optional": false }, "declare": false, "span": { "start": 639, "end": 974, "ctxt": 0 }, "decorators": [], "body": [ { "type": "ClassProperty", "span": { "start": 653, "end": 686, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 661, "end": 669, "ctxt": 0 }, "value": "myModule", "optional": false }, "value": { "type": "CallExpression", "span": { "start": 672, "end": 685, "ctxt": 0 }, "callee": { "type": "Import", "span": { "start": 672, "end": 678, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 679, "end": 684, "ctxt": 0 }, "value": "./0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "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": 691, "end": 972, "ctxt": 0 }, "key": { "type": "Identifier", "span": { "start": 691, "end": 697, "ctxt": 0 }, "value": "method", "optional": false }, "function": { "params": [], "decorators": [], "span": { "start": 691, "end": 972, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 700, "end": 972, "ctxt": 0 }, "stmts": [ { "type": "VariableDeclaration", "span": { "start": 710, "end": 742, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 716, "end": 741, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 716, "end": 725, "ctxt": 0 }, "value": "loadAsync", "optional": false, "typeAnnotation": null }, "init": { "type": "CallExpression", "span": { "start": 728, "end": 741, "ctxt": 0 }, "callee": { "type": "Import", "span": { "start": 728, "end": 734, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 735, "end": 740, "ctxt": 0 }, "value": "./0", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "typeArguments": null }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 751, "end": 966, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 751, "end": 965, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 751, "end": 769, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 751, "end": 764, "ctxt": 0 }, "object": { "type": "ThisExpression", "span": { "start": 751, "end": 755, "ctxt": 0 } }, "property": { "type": "Identifier", "span": { "start": 756, "end": 764, "ctxt": 0 }, "value": "myModule", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 765, "end": 769, "ctxt": 0 }, "value": "then", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "ArrowFunctionExpression", "span": { "start": 770, "end": 826, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 770, "end": 774, "ctxt": 0 }, "value": "Zero", "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 778, "end": 826, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 792, "end": 816, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 792, "end": 815, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 792, "end": 803, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 792, "end": 799, "ctxt": 0 }, "value": "console", "optional": false }, "property": { "type": "Identifier", "span": { "start": 800, "end": 803, "ctxt": 0 }, "value": "log", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "CallExpression", "span": { "start": 804, "end": 814, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 804, "end": 812, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 804, "end": 808, "ctxt": 0 }, "value": "Zero", "optional": false }, "property": { "type": "Identifier", "span": { "start": 809, "end": 812, "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": 828, "end": 964, "ctxt": 0 }, "params": [ { "type": "Identifier", "span": { "start": 834, "end": 837, "ctxt": 0 }, "value": "err", "optional": false, "typeAnnotation": null } ], "body": { "type": "BlockStatement", "span": { "start": 841, "end": 964, "ctxt": 0 }, "stmts": [ { "type": "ExpressionStatement", "span": { "start": 855, "end": 872, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 855, "end": 871, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 855, "end": 866, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 855, "end": 862, "ctxt": 0 }, "value": "console", "optional": false }, "property": { "type": "Identifier", "span": { "start": 863, "end": 866, "ctxt": 0 }, "value": "log", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "Identifier", "span": { "start": 867, "end": 870, "ctxt": 0 }, "value": "err", "optional": false } } ], "typeArguments": null } }, { "type": "VariableDeclaration", "span": { "start": 885, "end": 915, "ctxt": 0 }, "kind": "let", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 889, "end": 914, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 889, "end": 892, "ctxt": 0 }, "value": "one", "optional": false, "typeAnnotation": null }, "init": { "type": "AwaitExpression", "span": { "start": 895, "end": 914, "ctxt": 0 }, "argument": { "type": "CallExpression", "span": { "start": 901, "end": 914, "ctxt": 0 }, "callee": { "type": "Import", "span": { "start": 901, "end": 907, "ctxt": 0 } }, "arguments": [ { "spread": null, "expression": { "type": "StringLiteral", "span": { "start": 908, "end": 913, "ctxt": 0 }, "value": "./1", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } ], "typeArguments": null } }, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 928, "end": 954, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 928, "end": 953, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 928, "end": 939, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 928, "end": 935, "ctxt": 0 }, "value": "console", "optional": false }, "property": { "type": "Identifier", "span": { "start": 936, "end": 939, "ctxt": 0 }, "value": "log", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "CallExpression", "span": { "start": 940, "end": 952, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 940, "end": 950, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 940, "end": 943, "ctxt": 0 }, "value": "one", "optional": false }, "property": { "type": "Identifier", "span": { "start": 944, "end": 950, "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 }