{ "type": "Script", "span": { "start": 19, "end": 206, "ctxt": 0 }, "body": [ { "type": "VariableDeclaration", "span": { "start": 19, "end": 64, "ctxt": 0 }, "kind": "const", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 33, "end": 63, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 33, "end": 35, "ctxt": 0 }, "value": "o1", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 35, "end": 63, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 37, "end": 63, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 37, "end": 46, "ctxt": 0 }, "kind": "undefined" }, { "type": "TsParenthesizedType", "span": { "start": 49, "end": 63, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 50, "end": 62, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 53, "end": 62, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 56, "end": 62, "ctxt": 0 }, "kind": "number" } } } } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 65, "end": 72, "ctxt": 0 }, "expression": { "type": "OptionalChainingExpression", "span": { "start": 65, "end": 71, "ctxt": 0 }, "questionDotToken": { "start": 67, "end": 68, "ctxt": 0 }, "base": { "type": "CallExpression", "span": { "start": 65, "end": 71, "ctxt": 0 }, "callee": { "type": "Identifier", "span": { "start": 65, "end": 67, "ctxt": 0 }, "value": "o1", "optional": false }, "arguments": [], "typeArguments": null } } }, { "type": "VariableDeclaration", "span": { "start": 74, "end": 124, "ctxt": 0 }, "kind": "const", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 88, "end": 123, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 88, "end": 90, "ctxt": 0 }, "value": "o2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 90, "end": 123, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 92, "end": 123, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 92, "end": 101, "ctxt": 0 }, "kind": "undefined" }, { "type": "TsTypeLiteral", "span": { "start": 104, "end": 123, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 106, "end": 121, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 106, "end": 107, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 107, "end": 121, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 109, "end": 121, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 112, "end": 121, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 115, "end": 121, "ctxt": 0 }, "kind": "number" } } } }, "typeParams": null } ] } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 125, "end": 133, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 125, "end": 132, "ctxt": 0 }, "callee": { "type": "OptionalChainingExpression", "span": { "start": 125, "end": 130, "ctxt": 0 }, "questionDotToken": { "start": 127, "end": 128, "ctxt": 0 }, "base": { "type": "MemberExpression", "span": { "start": 125, "end": 130, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 125, "end": 127, "ctxt": 0 }, "value": "o2", "optional": false }, "property": { "type": "Identifier", "span": { "start": 129, "end": 130, "ctxt": 0 }, "value": "b", "optional": false } } }, "arguments": [], "typeArguments": null } }, { "type": "VariableDeclaration", "span": { "start": 135, "end": 194, "ctxt": 0 }, "kind": "const", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 149, "end": 193, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 149, "end": 151, "ctxt": 0 }, "value": "o3", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 151, "end": 193, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 153, "end": 193, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 155, "end": 191, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 155, "end": 156, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 156, "end": 191, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 158, "end": 191, "ctxt": 0 }, "types": [ { "type": "TsParenthesizedType", "span": { "start": 158, "end": 179, "ctxt": 0 }, "typeAnnotation": { "type": "TsFunctionType", "span": { "start": 159, "end": 178, "ctxt": 0 }, "params": [], "typeParams": null, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 162, "end": 178, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 165, "end": 178, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 167, "end": 176, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 167, "end": 168, "ctxt": 0 }, "value": "c", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 168, "end": 176, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 170, "end": 176, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } } } }, { "type": "TsKeywordType", "span": { "start": 182, "end": 191, "ctxt": 0 }, "kind": "undefined" } ] } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 195, "end": 206, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 195, "end": 205, "ctxt": 0 }, "object": { "type": "OptionalChainingExpression", "span": { "start": 195, "end": 203, "ctxt": 0 }, "questionDotToken": { "start": 199, "end": 200, "ctxt": 0 }, "base": { "type": "CallExpression", "span": { "start": 195, "end": 203, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 195, "end": 199, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 195, "end": 197, "ctxt": 0 }, "value": "o3", "optional": false }, "property": { "type": "Identifier", "span": { "start": 198, "end": 199, "ctxt": 0 }, "value": "b", "optional": false } }, "arguments": [], "typeArguments": null } }, "property": { "type": "Identifier", "span": { "start": 204, "end": 205, "ctxt": 0 }, "value": "c", "optional": false } } } ], "interpreter": null }