swc/crates/swc_ecma_parser/tests/tsc/objectSpreadNegative.json

4521 lines
120 KiB
JSON

{
"type": "Script",
"span": {
"start": 44,
"end": 2631,
"ctxt": 0
},
"body": [
{
"type": "VariableDeclaration",
"span": {
"start": 44,
"end": 69,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 48,
"end": 69,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 48,
"end": 49,
"ctxt": 0
},
"value": "o",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 52,
"end": 69,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 54,
"end": 55,
"ctxt": 0
},
"value": "a",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 57,
"end": 58,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 60,
"end": 61,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 63,
"end": 67,
"ctxt": 0
},
"value": "no",
"raw": "'no'"
}
}
]
},
"definite": false
}
]
},
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 100,
"end": 116,
"ctxt": 0
},
"value": "PrivateOptionalX",
"optional": false
},
"declare": false,
"span": {
"start": 94,
"end": 144,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "ClassProperty",
"span": {
"start": 123,
"end": 142,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 131,
"end": 132,
"ctxt": 0
},
"value": "x",
"optional": true
},
"value": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 133,
"end": 141,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 135,
"end": 141,
"ctxt": 0
},
"kind": "number"
}
},
"isStatic": false,
"decorators": [],
"accessibility": "private",
"isAbstract": false,
"isOptional": true,
"isOverride": false,
"readonly": false,
"declare": false,
"definite": false
}
],
"superClass": null,
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
},
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 151,
"end": 158,
"ctxt": 0
},
"value": "PublicX",
"optional": false
},
"declare": false,
"span": {
"start": 145,
"end": 184,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "ClassProperty",
"span": {
"start": 165,
"end": 182,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 172,
"end": 173,
"ctxt": 0
},
"value": "x",
"optional": false
},
"value": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 173,
"end": 181,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 175,
"end": 181,
"ctxt": 0
},
"kind": "number"
}
},
"isStatic": false,
"decorators": [],
"accessibility": "public",
"isAbstract": false,
"isOptional": false,
"isOverride": false,
"readonly": false,
"declare": false,
"definite": false
}
],
"superClass": null,
"isAbstract": false,
"typeParams": null,
"superTypeParams": null,
"implements": []
},
{
"type": "VariableDeclaration",
"span": {
"start": 185,
"end": 214,
"ctxt": 0
},
"kind": "let",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 197,
"end": 213,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 197,
"end": 204,
"ctxt": 0
},
"value": "publicX",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 204,
"end": 213,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 206,
"end": 213,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 206,
"end": 213,
"ctxt": 0
},
"value": "PublicX",
"optional": false
},
"typeParams": null
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 215,
"end": 262,
"ctxt": 0
},
"kind": "let",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 227,
"end": 261,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 227,
"end": 243,
"ctxt": 0
},
"value": "privateOptionalX",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 243,
"end": 261,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 245,
"end": 261,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 245,
"end": 261,
"ctxt": 0
},
"value": "PrivateOptionalX",
"optional": false
},
"typeParams": null
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 263,
"end": 308,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 267,
"end": 307,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 267,
"end": 269,
"ctxt": 0
},
"value": "o2",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 272,
"end": 307,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 274,
"end": 277,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 277,
"end": 284,
"ctxt": 0
},
"value": "publicX",
"optional": false
}
},
{
"type": "SpreadElement",
"spread": {
"start": 286,
"end": 289,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 289,
"end": 305,
"ctxt": 0
},
"value": "privateOptionalX",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 309,
"end": 331,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 313,
"end": 330,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 313,
"end": 315,
"ctxt": 0
},
"value": "sn",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 315,
"end": 323,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 317,
"end": 323,
"ctxt": 0
},
"kind": "number"
}
}
},
"init": {
"type": "MemberExpression",
"span": {
"start": 326,
"end": 330,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 326,
"end": 328,
"ctxt": 0
},
"value": "o2",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 329,
"end": 330,
"ctxt": 0
},
"value": "x",
"optional": false
}
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 355,
"end": 399,
"ctxt": 0
},
"kind": "let",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 367,
"end": 398,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 367,
"end": 381,
"ctxt": 0
},
"value": "optionalString",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 381,
"end": 398,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 383,
"end": 398,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 385,
"end": 396,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 385,
"end": 387,
"ctxt": 0
},
"value": "sn",
"optional": false
},
"computed": false,
"optional": true,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 388,
"end": 396,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 390,
"end": 396,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
}
]
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 400,
"end": 444,
"ctxt": 0
},
"kind": "let",
"declare": true,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 412,
"end": 443,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 412,
"end": 426,
"ctxt": 0
},
"value": "optionalNumber",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 426,
"end": 443,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 428,
"end": 443,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 430,
"end": 441,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 430,
"end": 432,
"ctxt": 0
},
"value": "sn",
"optional": false
},
"computed": false,
"optional": true,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 433,
"end": 441,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 435,
"end": 441,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
}
]
}
}
},
"init": null,
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 445,
"end": 529,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 449,
"end": 528,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 449,
"end": 460,
"ctxt": 0
},
"value": "allOptional",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 460,
"end": 485,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 462,
"end": 485,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 464,
"end": 483,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 464,
"end": 466,
"ctxt": 0
},
"value": "sn",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 466,
"end": 483,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsUnionType",
"span": {
"start": 468,
"end": 483,
"ctxt": 0
},
"types": [
{
"type": "TsKeywordType",
"span": {
"start": 468,
"end": 474,
"ctxt": 0
},
"kind": "string"
},
{
"type": "TsKeywordType",
"span": {
"start": 477,
"end": 483,
"ctxt": 0
},
"kind": "number"
}
]
}
},
"typeParams": null
}
]
}
}
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 488,
"end": 528,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 490,
"end": 493,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 493,
"end": 507,
"ctxt": 0
},
"value": "optionalString",
"optional": false
}
},
{
"type": "SpreadElement",
"spread": {
"start": 509,
"end": 512,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 512,
"end": 526,
"ctxt": 0
},
"value": "optionalNumber",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 615,
"end": 644,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 625,
"end": 629,
"ctxt": 0
},
"value": "Bool",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 630,
"end": 644,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 632,
"end": 642,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 632,
"end": 633,
"ctxt": 0
},
"value": "b",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 633,
"end": 642,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 635,
"end": 642,
"ctxt": 0
},
"kind": "boolean"
}
},
"typeParams": null
}
]
}
},
{
"type": "EmptyStatement",
"span": {
"start": 644,
"end": 645,
"ctxt": 0
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 646,
"end": 673,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 656,
"end": 659,
"ctxt": 0
},
"value": "Str",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 660,
"end": 673,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 662,
"end": 671,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 662,
"end": 663,
"ctxt": 0
},
"value": "s",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 663,
"end": 671,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 665,
"end": 671,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
}
]
}
},
{
"type": "EmptyStatement",
"span": {
"start": 673,
"end": 674,
"ctxt": 0
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 675,
"end": 723,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 679,
"end": 722,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 679,
"end": 685,
"ctxt": 0
},
"value": "spread",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 688,
"end": 722,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 690,
"end": 693,
"ctxt": 0
},
"arguments": {
"type": "ObjectExpression",
"span": {
"start": 693,
"end": 704,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 695,
"end": 696,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": {
"type": "BooleanLiteral",
"span": {
"start": 698,
"end": 702,
"ctxt": 0
},
"value": true
}
}
]
}
},
{
"type": "SpreadElement",
"spread": {
"start": 706,
"end": 709,
"ctxt": 0
},
"arguments": {
"type": "ObjectExpression",
"span": {
"start": 709,
"end": 720,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 710,
"end": 711,
"ctxt": 0
},
"value": "s",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 713,
"end": 718,
"ctxt": 0
},
"value": "foo",
"raw": "\"foo\""
}
}
]
}
}
]
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 724,
"end": 746,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 724,
"end": 745,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "Identifier",
"span": {
"start": 724,
"end": 730,
"ctxt": 0
},
"value": "spread",
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "ObjectExpression",
"span": {
"start": 733,
"end": 745,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 735,
"end": 736,
"ctxt": 0
},
"value": "s",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 738,
"end": 743,
"ctxt": 0
},
"value": "foo",
"raw": "\"foo\""
}
}
]
}
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 770,
"end": 791,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 774,
"end": 790,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 774,
"end": 775,
"ctxt": 0
},
"value": "b",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 778,
"end": 790,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 780,
"end": 781,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": {
"type": "BooleanLiteral",
"span": {
"start": 783,
"end": 788,
"ctxt": 0
},
"value": false
}
}
]
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 792,
"end": 803,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 792,
"end": 802,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "Identifier",
"span": {
"start": 792,
"end": 798,
"ctxt": 0
},
"value": "spread",
"optional": false,
"typeAnnotation": null
},
"right": {
"type": "Identifier",
"span": {
"start": 801,
"end": 802,
"ctxt": 0
},
"value": "b",
"optional": false
}
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 891,
"end": 953,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 895,
"end": 953,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 895,
"end": 905,
"ctxt": 0
},
"value": "duplicated",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 908,
"end": 953,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 910,
"end": 911,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 913,
"end": 918,
"ctxt": 0
},
"value": "bad",
"raw": "'bad'"
}
},
{
"type": "SpreadElement",
"spread": {
"start": 920,
"end": 923,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 923,
"end": 924,
"ctxt": 0
},
"value": "o",
"optional": false
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 926,
"end": 927,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 929,
"end": 934,
"ctxt": 0
},
"value": "bad",
"raw": "'bad'"
}
},
{
"type": "SpreadElement",
"spread": {
"start": 936,
"end": 939,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 939,
"end": 941,
"ctxt": 0
},
"value": "o2",
"optional": false
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 943,
"end": 944,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 946,
"end": 951,
"ctxt": 0
},
"value": "bad",
"raw": "'bad'"
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 954,
"end": 991,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 958,
"end": 991,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 958,
"end": 974,
"ctxt": 0
},
"value": "duplicatedSpread",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 977,
"end": 991,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 979,
"end": 982,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 982,
"end": 983,
"ctxt": 0
},
"value": "o",
"optional": false
}
},
{
"type": "SpreadElement",
"spread": {
"start": 985,
"end": 988,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 988,
"end": 989,
"ctxt": 0
},
"value": "o",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1054,
"end": 1119,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1058,
"end": 1119,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1058,
"end": 1064,
"ctxt": 0
},
"value": "ignore",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1064,
"end": 1090,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 1066,
"end": 1090,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 1068,
"end": 1078,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1068,
"end": 1069,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1069,
"end": 1077,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1071,
"end": 1077,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 1079,
"end": 1088,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1079,
"end": 1080,
"ctxt": 0
},
"value": "b",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1080,
"end": 1088,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1082,
"end": 1088,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
}
]
}
}
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 1097,
"end": 1119,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1099,
"end": 1100,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 1102,
"end": 1111,
"ctxt": 0
},
"value": "ignored",
"raw": "'ignored'"
}
},
{
"type": "SpreadElement",
"spread": {
"start": 1113,
"end": 1116,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 1116,
"end": 1117,
"ctxt": 0
},
"value": "o",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1121,
"end": 1147,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1125,
"end": 1147,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1125,
"end": 1127,
"ctxt": 0
},
"value": "o3",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 1130,
"end": 1147,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1132,
"end": 1133,
"ctxt": 0
},
"value": "a",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 1135,
"end": 1136,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1138,
"end": 1139,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 1141,
"end": 1145,
"ctxt": 0
},
"value": "no",
"raw": "'no'"
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1148,
"end": 1178,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1152,
"end": 1178,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1152,
"end": 1154,
"ctxt": 0
},
"value": "o4",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 1157,
"end": 1178,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1159,
"end": 1160,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 1162,
"end": 1167,
"ctxt": 0
},
"value": "yes",
"raw": "'yes'"
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1169,
"end": 1170,
"ctxt": 0
},
"value": "c",
"optional": false
},
"value": {
"type": "BooleanLiteral",
"span": {
"start": 1172,
"end": 1176,
"ctxt": 0
},
"value": true
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1179,
"end": 1267,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1183,
"end": 1267,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1183,
"end": 1197,
"ctxt": 0
},
"value": "combinedBefore",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1197,
"end": 1235,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 1199,
"end": 1235,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 1201,
"end": 1211,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1201,
"end": 1202,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1202,
"end": 1210,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1204,
"end": 1210,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 1212,
"end": 1222,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1212,
"end": 1213,
"ctxt": 0
},
"value": "b",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1213,
"end": 1221,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1215,
"end": 1221,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 1223,
"end": 1233,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1223,
"end": 1224,
"ctxt": 0
},
"value": "c",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1224,
"end": 1233,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1226,
"end": 1233,
"ctxt": 0
},
"kind": "boolean"
}
},
"typeParams": null
}
]
}
}
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 1242,
"end": 1267,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1244,
"end": 1245,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 1247,
"end": 1251,
"ctxt": 0
},
"value": "ok",
"raw": "'ok'"
}
},
{
"type": "SpreadElement",
"spread": {
"start": 1253,
"end": 1256,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 1256,
"end": 1258,
"ctxt": 0
},
"value": "o3",
"optional": false
}
},
{
"type": "SpreadElement",
"spread": {
"start": 1260,
"end": 1263,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 1263,
"end": 1265,
"ctxt": 0
},
"value": "o4",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1268,
"end": 1353,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1272,
"end": 1353,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1272,
"end": 1283,
"ctxt": 0
},
"value": "combinedMid",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1283,
"end": 1321,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 1285,
"end": 1321,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 1287,
"end": 1297,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1287,
"end": 1288,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1288,
"end": 1296,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1290,
"end": 1296,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 1298,
"end": 1308,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1298,
"end": 1299,
"ctxt": 0
},
"value": "b",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1299,
"end": 1307,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1301,
"end": 1307,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 1309,
"end": 1319,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1309,
"end": 1310,
"ctxt": 0
},
"value": "c",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1310,
"end": 1319,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1312,
"end": 1319,
"ctxt": 0
},
"kind": "boolean"
}
},
"typeParams": null
}
]
}
}
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 1328,
"end": 1353,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 1330,
"end": 1333,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 1333,
"end": 1335,
"ctxt": 0
},
"value": "o3",
"optional": false
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1337,
"end": 1338,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 1340,
"end": 1344,
"ctxt": 0
},
"value": "ok",
"raw": "'ok'"
}
},
{
"type": "SpreadElement",
"spread": {
"start": 1346,
"end": 1349,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 1349,
"end": 1351,
"ctxt": 0
},
"value": "o4",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1354,
"end": 1524,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1358,
"end": 1524,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1358,
"end": 1372,
"ctxt": 0
},
"value": "combinedNested",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1372,
"end": 1421,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 1374,
"end": 1421,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 1376,
"end": 1386,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1376,
"end": 1377,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1377,
"end": 1385,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1379,
"end": 1385,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 1387,
"end": 1398,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1387,
"end": 1388,
"ctxt": 0
},
"value": "b",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1388,
"end": 1397,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1390,
"end": 1397,
"ctxt": 0
},
"kind": "boolean"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 1399,
"end": 1409,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1399,
"end": 1400,
"ctxt": 0
},
"value": "c",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1400,
"end": 1408,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1402,
"end": 1408,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 1410,
"end": 1419,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1410,
"end": 1411,
"ctxt": 0
},
"value": "d",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1411,
"end": 1419,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1413,
"end": 1419,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
}
]
}
}
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 1428,
"end": 1524,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 1430,
"end": 1433,
"ctxt": 0
},
"arguments": {
"type": "ObjectExpression",
"span": {
"start": 1433,
"end": 1474,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1435,
"end": 1436,
"ctxt": 0
},
"value": "a",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 1438,
"end": 1439,
"ctxt": 0
},
"value": 4.0,
"raw": "4"
}
},
{
"type": "SpreadElement",
"spread": {
"start": 1441,
"end": 1444,
"ctxt": 0
},
"arguments": {
"type": "ObjectExpression",
"span": {
"start": 1444,
"end": 1472,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1446,
"end": 1447,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": {
"type": "BooleanLiteral",
"span": {
"start": 1449,
"end": 1454,
"ctxt": 0
},
"value": false
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1456,
"end": 1457,
"ctxt": 0
},
"value": "c",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 1459,
"end": 1470,
"ctxt": 0
},
"value": "overriden",
"raw": "'overriden'"
}
}
]
}
}
]
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1476,
"end": 1477,
"ctxt": 0
},
"value": "d",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 1479,
"end": 1493,
"ctxt": 0
},
"value": "actually new",
"raw": "'actually new'"
}
},
{
"type": "SpreadElement",
"spread": {
"start": 1495,
"end": 1498,
"ctxt": 0
},
"arguments": {
"type": "ObjectExpression",
"span": {
"start": 1498,
"end": 1522,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1500,
"end": 1501,
"ctxt": 0
},
"value": "a",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 1503,
"end": 1504,
"ctxt": 0
},
"value": 5.0,
"raw": "5"
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1506,
"end": 1507,
"ctxt": 0
},
"value": "d",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 1509,
"end": 1520,
"ctxt": 0
},
"value": "maybe new",
"raw": "'maybe new'"
}
}
]
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1525,
"end": 1606,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1529,
"end": 1605,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1529,
"end": 1545,
"ctxt": 0
},
"value": "changeTypeBefore",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1545,
"end": 1571,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 1547,
"end": 1571,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 1549,
"end": 1559,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1549,
"end": 1550,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1550,
"end": 1558,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1552,
"end": 1558,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 1560,
"end": 1569,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1560,
"end": 1561,
"ctxt": 0
},
"value": "b",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1561,
"end": 1569,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1563,
"end": 1569,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
}
]
}
}
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 1578,
"end": 1605,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1580,
"end": 1581,
"ctxt": 0
},
"value": "a",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 1583,
"end": 1596,
"ctxt": 0
},
"value": "wrong type?",
"raw": "'wrong type?'"
}
},
{
"type": "SpreadElement",
"spread": {
"start": 1598,
"end": 1601,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 1601,
"end": 1603,
"ctxt": 0
},
"value": "o3",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1607,
"end": 1747,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1611,
"end": 1747,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1611,
"end": 1625,
"ctxt": 0
},
"value": "computedMiddle",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1625,
"end": 1688,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeLiteral",
"span": {
"start": 1627,
"end": 1688,
"ctxt": 0
},
"members": [
{
"type": "TsPropertySignature",
"span": {
"start": 1629,
"end": 1639,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1629,
"end": 1630,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1630,
"end": 1638,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1632,
"end": 1638,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 1640,
"end": 1650,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1640,
"end": 1641,
"ctxt": 0
},
"value": "b",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1641,
"end": 1649,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1643,
"end": 1649,
"ctxt": 0
},
"kind": "string"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 1651,
"end": 1662,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1651,
"end": 1652,
"ctxt": 0
},
"value": "c",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1652,
"end": 1661,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1654,
"end": 1661,
"ctxt": 0
},
"kind": "boolean"
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 1663,
"end": 1686,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "StringLiteral",
"span": {
"start": 1663,
"end": 1678,
"ctxt": 0
},
"value": "in the middle",
"raw": "\"in the middle\""
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1678,
"end": 1686,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1680,
"end": 1686,
"ctxt": 0
},
"kind": "number"
}
},
"typeParams": null
}
]
}
}
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 1695,
"end": 1747,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 1697,
"end": 1700,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 1700,
"end": 1702,
"ctxt": 0
},
"value": "o3",
"optional": false
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Computed",
"span": {
"start": 1704,
"end": 1721,
"ctxt": 0
},
"expression": {
"type": "StringLiteral",
"span": {
"start": 1705,
"end": 1720,
"ctxt": 0
},
"value": "in the middle",
"raw": "'in the middle'"
}
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 1723,
"end": 1725,
"ctxt": 0
},
"value": 13.0,
"raw": "13"
}
},
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 1727,
"end": 1728,
"ctxt": 0
},
"value": "b",
"optional": false
},
"value": {
"type": "StringLiteral",
"span": {
"start": 1730,
"end": 1738,
"ctxt": 0
},
"value": "maybe?",
"raw": "'maybe?'"
}
},
{
"type": "SpreadElement",
"spread": {
"start": 1740,
"end": 1743,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 1743,
"end": 1745,
"ctxt": 0
},
"value": "o4",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1802,
"end": 1828,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1806,
"end": 1827,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1806,
"end": 1815,
"ctxt": 0
},
"value": "spreadNum",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 1818,
"end": 1827,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 1820,
"end": 1823,
"ctxt": 0
},
"arguments": {
"type": "NumericLiteral",
"span": {
"start": 1823,
"end": 1825,
"ctxt": 0
},
"value": 12.0,
"raw": "12"
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1829,
"end": 1858,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1833,
"end": 1857,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1833,
"end": 1842,
"ctxt": 0
},
"value": "spreadSum",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 1845,
"end": 1857,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 1847,
"end": 1850,
"ctxt": 0
},
"arguments": {
"type": "BinaryExpression",
"span": {
"start": 1850,
"end": 1855,
"ctxt": 0
},
"operator": "+",
"left": {
"type": "NumericLiteral",
"span": {
"start": 1850,
"end": 1851,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 1854,
"end": 1855,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 1859,
"end": 1885,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1863,
"end": 1884,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1863,
"end": 1873,
"ctxt": 0
},
"value": "spreadZero",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 1876,
"end": 1884,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 1878,
"end": 1881,
"ctxt": 0
},
"arguments": {
"type": "NumericLiteral",
"span": {
"start": 1881,
"end": 1882,
"ctxt": 0
},
"value": 0.0,
"raw": "0"
}
}
]
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 1886,
"end": 1907,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1886,
"end": 1906,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 1886,
"end": 1904,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 1886,
"end": 1896,
"ctxt": 0
},
"value": "spreadZero",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 1897,
"end": 1904,
"ctxt": 0
},
"value": "toFixed",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 1954,
"end": 1983,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 1958,
"end": 1982,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1958,
"end": 1968,
"ctxt": 0
},
"value": "spreadBool",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 1971,
"end": 1982,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 1973,
"end": 1976,
"ctxt": 0
},
"arguments": {
"type": "BooleanLiteral",
"span": {
"start": 1976,
"end": 1980,
"ctxt": 0
},
"value": true
}
}
]
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 1984,
"end": 2005,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 1984,
"end": 2004,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 1984,
"end": 2002,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 1984,
"end": 1994,
"ctxt": 0
},
"value": "spreadBool",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 1995,
"end": 2002,
"ctxt": 0
},
"value": "valueOf",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 2006,
"end": 2035,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2010,
"end": 2034,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2010,
"end": 2019,
"ctxt": 0
},
"value": "spreadStr",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 2022,
"end": 2034,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 2024,
"end": 2027,
"ctxt": 0
},
"arguments": {
"type": "StringLiteral",
"span": {
"start": 2027,
"end": 2032,
"ctxt": 0
},
"value": "foo",
"raw": "'foo'"
}
}
]
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 2036,
"end": 2053,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 2036,
"end": 2052,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2036,
"end": 2045,
"ctxt": 0
},
"value": "spreadStr",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2046,
"end": 2052,
"ctxt": 0
},
"value": "length",
"optional": false
}
}
},
{
"type": "ExpressionStatement",
"span": {
"start": 2076,
"end": 2096,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 2076,
"end": 2095,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2076,
"end": 2092,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2076,
"end": 2085,
"ctxt": 0
},
"value": "spreadStr",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2086,
"end": 2092,
"ctxt": 0
},
"value": "charAt",
"optional": false
}
},
"arguments": [
{
"spread": null,
"expression": {
"type": "NumericLiteral",
"span": {
"start": 2093,
"end": 2094,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
}
}
],
"typeArguments": null
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 2150,
"end": 2189,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2154,
"end": 2189,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2154,
"end": 2164,
"ctxt": 0
},
"value": "spreadFunc",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 2167,
"end": 2189,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 2169,
"end": 2172,
"ctxt": 0
},
"arguments": {
"type": "FunctionExpression",
"identifier": null,
"params": [],
"decorators": [],
"span": {
"start": 2172,
"end": 2187,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2184,
"end": 2187,
"ctxt": 0
},
"stmts": []
},
"generator": false,
"async": false,
"typeParameters": null,
"returnType": null
}
}
]
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 2190,
"end": 2203,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 2190,
"end": 2202,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2190,
"end": 2200,
"ctxt": 0
},
"value": "spreadFunc",
"optional": false
},
"arguments": [],
"typeArguments": null
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 2270,
"end": 2322,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2274,
"end": 2321,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2274,
"end": 2284,
"ctxt": 0
},
"value": "setterOnly",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 2287,
"end": 2321,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 2289,
"end": 2292,
"ctxt": 0
},
"arguments": {
"type": "ObjectExpression",
"span": {
"start": 2292,
"end": 2319,
"ctxt": 0
},
"properties": [
{
"type": "SetterProperty",
"span": {
"start": 2294,
"end": 2317,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2298,
"end": 2299,
"ctxt": 0
},
"value": "b",
"optional": false
},
"param": {
"type": "Identifier",
"span": {
"start": 2301,
"end": 2312,
"ctxt": 0
},
"value": "bad",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2304,
"end": 2312,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2306,
"end": 2312,
"ctxt": 0
},
"kind": "number"
}
}
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2314,
"end": 2317,
"ctxt": 0
},
"stmts": []
}
}
]
}
}
]
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 2323,
"end": 2341,
"ctxt": 0
},
"expression": {
"type": "AssignmentExpression",
"span": {
"start": 2323,
"end": 2340,
"ctxt": 0
},
"operator": "=",
"left": {
"type": "MemberExpression",
"span": {
"start": 2323,
"end": 2335,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2323,
"end": 2333,
"ctxt": 0
},
"value": "setterOnly",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2334,
"end": 2335,
"ctxt": 0
},
"value": "b",
"optional": false
}
},
"right": {
"type": "NumericLiteral",
"span": {
"start": 2338,
"end": 2340,
"ctxt": 0
},
"value": 12.0,
"raw": "12"
}
}
},
{
"type": "ClassDeclaration",
"identifier": {
"type": "Identifier",
"span": {
"start": 2432,
"end": 2433,
"ctxt": 0
},
"value": "C",
"optional": false
},
"declare": false,
"span": {
"start": 2426,
"end": 2452,
"ctxt": 0
},
"decorators": [],
"body": [
{
"type": "ClassProperty",
"span": {
"start": 2436,
"end": 2442,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2436,
"end": 2437,
"ctxt": 0
},
"value": "p",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 2440,
"end": 2441,
"ctxt": 0
},
"value": 1.0,
"raw": "1"
},
"typeAnnotation": null,
"isStatic": false,
"decorators": [],
"accessibility": null,
"isAbstract": false,
"isOptional": false,
"isOverride": false,
"readonly": false,
"declare": false,
"definite": false
},
{
"type": "ClassMethod",
"span": {
"start": 2443,
"end": 2450,
"ctxt": 0
},
"key": {
"type": "Identifier",
"span": {
"start": 2443,
"end": 2444,
"ctxt": 0
},
"value": "m",
"optional": false
},
"function": {
"params": [],
"decorators": [],
"span": {
"start": 2443,
"end": 2450,
"ctxt": 0
},
"body": {
"type": "BlockStatement",
"span": {
"start": 2447,
"end": 2450,
"ctxt": 0
},
"stmts": []
},
"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": "VariableDeclaration",
"span": {
"start": 2453,
"end": 2471,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2457,
"end": 2471,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2457,
"end": 2458,
"ctxt": 0
},
"value": "c",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2458,
"end": 2461,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsTypeReference",
"span": {
"start": 2460,
"end": 2461,
"ctxt": 0
},
"typeName": {
"type": "Identifier",
"span": {
"start": 2460,
"end": 2461,
"ctxt": 0
},
"value": "C",
"optional": false
},
"typeParams": null
}
}
},
"init": {
"type": "NewExpression",
"span": {
"start": 2464,
"end": 2471,
"ctxt": 0
},
"callee": {
"type": "Identifier",
"span": {
"start": 2468,
"end": 2469,
"ctxt": 0
},
"value": "C",
"optional": false
},
"arguments": [],
"typeArguments": null
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2472,
"end": 2494,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2476,
"end": 2494,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2476,
"end": 2483,
"ctxt": 0
},
"value": "spreadC",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 2486,
"end": 2494,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 2488,
"end": 2491,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 2491,
"end": 2492,
"ctxt": 0
},
"value": "c",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 2495,
"end": 2507,
"ctxt": 0
},
"expression": {
"type": "CallExpression",
"span": {
"start": 2495,
"end": 2506,
"ctxt": 0
},
"callee": {
"type": "MemberExpression",
"span": {
"start": 2495,
"end": 2504,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2495,
"end": 2502,
"ctxt": 0
},
"value": "spreadC",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2503,
"end": 2504,
"ctxt": 0
},
"value": "m",
"optional": false
}
},
"arguments": [],
"typeArguments": null
}
},
{
"type": "VariableDeclaration",
"span": {
"start": 2561,
"end": 2590,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2565,
"end": 2589,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2565,
"end": 2568,
"ctxt": 0
},
"value": "obj",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2568,
"end": 2576,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2570,
"end": 2576,
"ctxt": 0
},
"kind": "object"
}
}
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 2579,
"end": 2589,
"ctxt": 0
},
"properties": [
{
"type": "KeyValueProperty",
"key": {
"type": "Identifier",
"span": {
"start": 2581,
"end": 2582,
"ctxt": 0
},
"value": "a",
"optional": false
},
"value": {
"type": "NumericLiteral",
"span": {
"start": 2584,
"end": 2587,
"ctxt": 0
},
"value": 123.0,
"raw": "123"
}
}
]
},
"definite": false
}
]
},
{
"type": "VariableDeclaration",
"span": {
"start": 2591,
"end": 2618,
"ctxt": 0
},
"kind": "let",
"declare": false,
"declarations": [
{
"type": "VariableDeclarator",
"span": {
"start": 2595,
"end": 2617,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2595,
"end": 2604,
"ctxt": 0
},
"value": "spreadObj",
"optional": false,
"typeAnnotation": null
},
"init": {
"type": "ObjectExpression",
"span": {
"start": 2607,
"end": 2617,
"ctxt": 0
},
"properties": [
{
"type": "SpreadElement",
"spread": {
"start": 2609,
"end": 2612,
"ctxt": 0
},
"arguments": {
"type": "Identifier",
"span": {
"start": 2612,
"end": 2615,
"ctxt": 0
},
"value": "obj",
"optional": false
}
}
]
},
"definite": false
}
]
},
{
"type": "ExpressionStatement",
"span": {
"start": 2619,
"end": 2631,
"ctxt": 0
},
"expression": {
"type": "MemberExpression",
"span": {
"start": 2619,
"end": 2630,
"ctxt": 0
},
"object": {
"type": "Identifier",
"span": {
"start": 2619,
"end": 2628,
"ctxt": 0
},
"value": "spreadObj",
"optional": false
},
"property": {
"type": "Identifier",
"span": {
"start": 2629,
"end": 2630,
"ctxt": 0
},
"value": "a",
"optional": false
}
}
}
],
"interpreter": null
}