{ "type": "Script", "span": { "start": 65, "end": 383, "ctxt": 0 }, "body": [ { "type": "VariableDeclaration", "span": { "start": 65, "end": 106, "ctxt": 0 }, "kind": "var", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 77, "end": 105, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 77, "end": 79, "ctxt": 0 }, "value": "ab", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 79, "end": 105, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 81, "end": 105, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 83, "end": 93, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 83, "end": 84, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 84, "end": 92, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 86, "end": 92, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 94, "end": 103, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 94, "end": 95, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 95, "end": 103, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 97, "end": 103, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 107, "end": 150, "ctxt": 0 }, "kind": "var", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 119, "end": 149, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 119, "end": 122, "ctxt": 0 }, "value": "abq", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 122, "end": 149, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 124, "end": 149, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 126, "end": 136, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 126, "end": 127, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 127, "end": 135, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 129, "end": 135, "ctxt": 0 }, "kind": "number" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 137, "end": 147, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 137, "end": 138, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": true, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 139, "end": 147, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 141, "end": 147, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 151, "end": 180, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 155, "end": 180, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 155, "end": 162, "ctxt": 0 }, "value": "unused1", "optional": false, "typeAnnotation": null }, "init": { "type": "ObjectExpression", "span": { "start": 165, "end": 180, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 167, "end": 168, "ctxt": 0 }, "value": "b", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 170, "end": 171, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "type": "SpreadElement", "spread": { "start": 173, "end": 176, "ctxt": 0 }, "arguments": { "type": "Identifier", "span": { "start": 176, "end": 178, "ctxt": 0 }, "value": "ab", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 181, "end": 211, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 185, "end": 211, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 185, "end": 192, "ctxt": 0 }, "value": "unused2", "optional": false, "typeAnnotation": null }, "init": { "type": "ObjectExpression", "span": { "start": 195, "end": 211, "ctxt": 0 }, "properties": [ { "type": "SpreadElement", "spread": { "start": 197, "end": 200, "ctxt": 0 }, "arguments": { "type": "Identifier", "span": { "start": 200, "end": 202, "ctxt": 0 }, "value": "ab", "optional": false } }, { "type": "SpreadElement", "spread": { "start": 204, "end": 207, "ctxt": 0 }, "arguments": { "type": "Identifier", "span": { "start": 207, "end": 209, "ctxt": 0 }, "value": "ab", "optional": false } } ] }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 212, "end": 242, "ctxt": 0 }, "kind": "var", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 216, "end": 242, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 216, "end": 223, "ctxt": 0 }, "value": "unused3", "optional": false, "typeAnnotation": null }, "init": { "type": "ObjectExpression", "span": { "start": 226, "end": 242, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 228, "end": 229, "ctxt": 0 }, "value": "b", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 231, "end": 232, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "type": "SpreadElement", "spread": { "start": 234, "end": 237, "ctxt": 0 }, "arguments": { "type": "Identifier", "span": { "start": 237, "end": 240, "ctxt": 0 }, "value": "abq", "optional": false } } ] }, "definite": false } ] }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 253, "end": 254, "ctxt": 0 }, "value": "g", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 255, "end": 285, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 255, "end": 285, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 258, "end": 285, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 260, "end": 285, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 262, "end": 283, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 262, "end": 263, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 263, "end": 283, "ctxt": 0 }, "typeAnnotation": { "type": "TsUnionType", "span": { "start": 265, "end": 283, "ctxt": 0 }, "types": [ { "type": "TsKeywordType", "span": { "start": 265, "end": 271, "ctxt": 0 }, "kind": "number" }, { "type": "TsKeywordType", "span": { "start": 274, "end": 283, "ctxt": 0 }, "kind": "undefined" } ] } }, "typeParams": null } ] } } } } ], "decorators": [], "span": { "start": 244, "end": 319, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 287, "end": 319, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 293, "end": 317, "ctxt": 0 }, "argument": { "type": "ObjectExpression", "span": { "start": 300, "end": 316, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 302, "end": 303, "ctxt": 0 }, "value": "x", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 305, "end": 306, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "type": "SpreadElement", "spread": { "start": 308, "end": 311, "ctxt": 0 }, "arguments": { "type": "Identifier", "span": { "start": 311, "end": 314, "ctxt": 0 }, "value": "obj", "optional": false } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null }, { "type": "FunctionDeclaration", "identifier": { "type": "Identifier", "span": { "start": 329, "end": 330, "ctxt": 0 }, "value": "h", "optional": false }, "declare": false, "params": [ { "type": "Parameter", "span": { "start": 331, "end": 349, "ctxt": 0 }, "decorators": [], "pat": { "type": "Identifier", "span": { "start": 331, "end": 349, "ctxt": 0 }, "value": "obj", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 334, "end": 349, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 336, "end": 349, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 338, "end": 347, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 338, "end": 339, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 339, "end": 347, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 341, "end": 347, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } } } } ], "decorators": [], "span": { "start": 320, "end": 383, "ctxt": 0 }, "body": { "type": "BlockStatement", "span": { "start": 351, "end": 383, "ctxt": 0 }, "stmts": [ { "type": "ReturnStatement", "span": { "start": 357, "end": 381, "ctxt": 0 }, "argument": { "type": "ObjectExpression", "span": { "start": 364, "end": 380, "ctxt": 0 }, "properties": [ { "type": "KeyValueProperty", "key": { "type": "Identifier", "span": { "start": 366, "end": 367, "ctxt": 0 }, "value": "x", "optional": false }, "value": { "type": "NumericLiteral", "span": { "start": 369, "end": 370, "ctxt": 0 }, "value": 1.0, "raw": "1" } }, { "type": "SpreadElement", "spread": { "start": 372, "end": 375, "ctxt": 0 }, "arguments": { "type": "Identifier", "span": { "start": 375, "end": 378, "ctxt": 0 }, "value": "obj", "optional": false } } ] } } ] }, "generator": false, "async": false, "typeParameters": null, "returnType": null } ], "interpreter": null }