{ "type": "Script", "span": { "start": 18, "end": 824, "ctxt": 0 }, "body": [ { "type": "TsTypeAliasDeclaration", "span": { "start": 18, "end": 41, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 23, "end": 24, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 27, "end": 40, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 29, "end": 38, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 29, "end": 30, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 30, "end": 38, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 32, "end": 38, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 42, "end": 65, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 47, "end": 48, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 51, "end": 64, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 53, "end": 62, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 53, "end": 54, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 54, "end": 62, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 56, "end": 62, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, { "type": "VariableDeclaration", "span": { "start": 67, "end": 97, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 79, "end": 96, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 79, "end": 82, "ctxt": 0 }, "value": "sa1", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 82, "end": 96, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 84, "end": 96, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 86, "end": 94, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 86, "end": 87, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 87, "end": 94, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 89, "end": 94, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 89, "end": 90, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 89, "end": 90, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 93, "end": 94, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 93, "end": 94, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null } ] } }, "typeParams": null } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 98, "end": 135, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 110, "end": 134, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 110, "end": 113, "ctxt": 0 }, "value": "sa2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 113, "end": 134, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 115, "end": 134, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 115, "end": 123, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 117, "end": 121, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 117, "end": 118, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 118, "end": 121, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 120, "end": 121, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 120, "end": 121, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 126, "end": 134, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 128, "end": 132, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 128, "end": 129, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 129, "end": 132, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 131, "end": 132, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 131, "end": 132, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null } }, "typeParams": null } ] } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 136, "end": 178, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 148, "end": 177, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 148, "end": 151, "ctxt": 0 }, "value": "ta1", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 151, "end": 177, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 153, "end": 177, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 156, "end": 167, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 159, "end": 167, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 161, "end": 167, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 168, "end": 175, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 170, "end": 175, "ctxt": 0 }, "types": [ { "type": "TsTypeReference", "span": { "start": 170, "end": 171, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 170, "end": 171, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 174, "end": 175, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 174, "end": 175, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null } ] } }, "readonly": false, "static": false, "span": { "start": 155, "end": 175, "ctxt": 0 } } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 179, "end": 240, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 191, "end": 239, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 191, "end": 194, "ctxt": 0 }, "value": "ta2", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 194, "end": 239, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 196, "end": 239, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 196, "end": 216, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 199, "end": 210, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 202, "end": 210, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 204, "end": 210, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 211, "end": 214, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 213, "end": 214, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 213, "end": 214, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null } }, "readonly": false, "static": false, "span": { "start": 198, "end": 214, "ctxt": 0 } } ] }, { "type": "TsTypeLiteral", "span": { "start": 219, "end": 239, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 222, "end": 233, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 225, "end": 233, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 227, "end": 233, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 234, "end": 237, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 236, "end": 237, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 236, "end": 237, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null } }, "readonly": false, "static": false, "span": { "start": 221, "end": 237, "ctxt": 0 } } ] } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 242, "end": 252, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 242, "end": 251, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 242, "end": 245, "ctxt": 0 }, "value": "ta1", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 248, "end": 251, "ctxt": 0 }, "value": "sa1", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 253, "end": 263, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 253, "end": 262, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 253, "end": 256, "ctxt": 0 }, "value": "ta1", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 259, "end": 262, "ctxt": 0 }, "value": "sa2", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 264, "end": 274, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 264, "end": 273, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 264, "end": 267, "ctxt": 0 }, "value": "ta2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 270, "end": 273, "ctxt": 0 }, "value": "sa1", "optional": false } } }, { "type": "ExpressionStatement", "span": { "start": 275, "end": 285, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 275, "end": 284, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 275, "end": 278, "ctxt": 0 }, "value": "ta2", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 281, "end": 284, "ctxt": 0 }, "value": "sa2", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 287, "end": 324, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 299, "end": 323, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 299, "end": 302, "ctxt": 0 }, "value": "sb1", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 302, "end": 323, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 304, "end": 323, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 304, "end": 312, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 306, "end": 310, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 306, "end": 307, "ctxt": 0 }, "value": "x", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 307, "end": 310, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 309, "end": 310, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 309, "end": 310, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 315, "end": 323, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 317, "end": 321, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 317, "end": 318, "ctxt": 0 }, "value": "y", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 318, "end": 321, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 320, "end": 321, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 320, "end": 321, "ctxt": 0 }, "value": "B", "optional": false }, "typeParams": null } }, "typeParams": null } ] } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 325, "end": 363, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 337, "end": 362, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 337, "end": 340, "ctxt": 0 }, "value": "tb1", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 340, "end": 362, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 342, "end": 362, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 345, "end": 356, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 348, "end": 356, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 350, "end": 356, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 357, "end": 360, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 359, "end": 360, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 359, "end": 360, "ctxt": 0 }, "value": "A", "optional": false }, "typeParams": null } }, "readonly": false, "static": false, "span": { "start": 344, "end": 360, "ctxt": 0 } } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 365, "end": 375, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 365, "end": 374, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 365, "end": 368, "ctxt": 0 }, "value": "tb1", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 371, "end": 374, "ctxt": 0 }, "value": "sb1", "optional": false } } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 409, "end": 514, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 414, "end": 420, "ctxt": 0 }, "value": "constr", "optional": false }, "typeParams": { "type": "TsTypeParameterDeclaration", "span": { "start": 420, "end": 433, "ctxt": 0 }, "parameters": [ { "type": "TsTypeParameter", "span": { "start": 421, "end": 427, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 421, "end": 427, "ctxt": 0 }, "value": "Source", "optional": false }, "constraint": null, "default": null }, { "type": "TsTypeParameter", "span": { "start": 429, "end": 432, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 429, "end": 432, "ctxt": 0 }, "value": "Tgt", "optional": false }, "constraint": null, "default": null } ] }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 436, "end": 513, "ctxt": 0 }, "types": [ { "type": "TsMappedType", "span": { "start": 436, "end": 467, "ctxt": 0 }, "readonly": null, "typeParam": { "type": "TsTypeParameter", "span": { "start": 439, "end": 456, "ctxt": 0 }, "name": { "type": "Identifier", "span": { "start": 439, "end": 440, "ctxt": 0 }, "value": "K", "optional": false }, "constraint": { "type": "TsTypeOperator", "span": { "start": 444, "end": 456, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 450, "end": 456, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 450, "end": 456, "ctxt": 0 }, "value": "Source", "optional": false }, "typeParams": null } }, "default": null }, "nameType": null, "optional": null, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 459, "end": 465, "ctxt": 0 }, "kind": "string" } }, { "type": "TsTypeReference", "span": { "start": 470, "end": 513, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 470, "end": 474, "ctxt": 0 }, "value": "Pick", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 474, "end": 513, "ctxt": 0 }, "params": [ { "type": "TsTypeReference", "span": { "start": 475, "end": 478, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 475, "end": 478, "ctxt": 0 }, "value": "Tgt", "optional": false }, "typeParams": null }, { "type": "TsTypeReference", "span": { "start": 480, "end": 512, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 480, "end": 487, "ctxt": 0 }, "value": "Exclude", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 487, "end": 512, "ctxt": 0 }, "params": [ { "type": "TsTypeOperator", "span": { "start": 488, "end": 497, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 494, "end": 497, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 494, "end": 497, "ctxt": 0 }, "value": "Tgt", "optional": false }, "typeParams": null } }, { "type": "TsTypeOperator", "span": { "start": 499, "end": 511, "ctxt": 0 }, "op": "keyof", "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 505, "end": 511, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 505, "end": 511, "ctxt": 0 }, "value": "Source", "optional": false }, "typeParams": null } } ] } } ] } } ] } }, { "type": "TsTypeAliasDeclaration", "span": { "start": 516, "end": 570, "ctxt": 0 }, "declare": false, "id": { "type": "Identifier", "span": { "start": 521, "end": 522, "ctxt": 0 }, "value": "s", "optional": false }, "typeParams": null, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 525, "end": 569, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 525, "end": 531, "ctxt": 0 }, "value": "constr", "optional": false }, "typeParams": { "type": "TsTypeParameterInstantiation", "span": { "start": 531, "end": 569, "ctxt": 0 }, "params": [ { "type": "TsTypeLiteral", "span": { "start": 532, "end": 534, "ctxt": 0 }, "members": [] }, { "type": "TsTypeLiteral", "span": { "start": 536, "end": 568, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 539, "end": 550, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 542, "end": 550, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 544, "end": 550, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 551, "end": 566, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 553, "end": 566, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 555, "end": 564, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 555, "end": 556, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 556, "end": 564, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 558, "end": 564, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, "readonly": false, "static": false, "span": { "start": 538, "end": 566, "ctxt": 0 } } ] } ] } } }, { "type": "VariableDeclaration", "span": { "start": 572, "end": 591, "ctxt": 0 }, "kind": "const", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 586, "end": 590, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 586, "end": 587, "ctxt": 0 }, "value": "q", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 587, "end": 590, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeReference", "span": { "start": 589, "end": 590, "ctxt": 0 }, "typeName": { "type": "Identifier", "span": { "start": 589, "end": 590, "ctxt": 0 }, "value": "s", "optional": false }, "typeParams": null } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 592, "end": 613, "ctxt": 0 }, "expression": { "type": "CallExpression", "span": { "start": 592, "end": 612, "ctxt": 0 }, "callee": { "type": "MemberExpression", "span": { "start": 592, "end": 609, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 592, "end": 602, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 592, "end": 600, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 592, "end": 593, "ctxt": 0 }, "value": "q", "optional": false }, "property": { "type": "Computed", "span": { "start": 593, "end": 600, "ctxt": 0 }, "expression": { "type": "StringLiteral", "span": { "start": 594, "end": 599, "ctxt": 0 }, "value": "asd", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "property": { "type": "Identifier", "span": { "start": 601, "end": 602, "ctxt": 0 }, "value": "a", "optional": false } }, "property": { "type": "Identifier", "span": { "start": 603, "end": 609, "ctxt": 0 }, "value": "substr", "optional": false } }, "arguments": [ { "spread": null, "expression": { "type": "NumericLiteral", "span": { "start": 610, "end": 611, "ctxt": 0 }, "value": 1.0 } } ], "typeArguments": null } }, { "type": "ExpressionStatement", "span": { "start": 614, "end": 625, "ctxt": 0 }, "expression": { "type": "MemberExpression", "span": { "start": 614, "end": 624, "ctxt": 0 }, "object": { "type": "MemberExpression", "span": { "start": 614, "end": 622, "ctxt": 0 }, "object": { "type": "Identifier", "span": { "start": 614, "end": 615, "ctxt": 0 }, "value": "q", "optional": false }, "property": { "type": "Computed", "span": { "start": 615, "end": 622, "ctxt": 0 }, "expression": { "type": "StringLiteral", "span": { "start": 616, "end": 621, "ctxt": 0 }, "value": "asd", "hasEscape": false, "kind": { "type": "normal", "containsQuote": true } } } }, "property": { "type": "Identifier", "span": { "start": 623, "end": 624, "ctxt": 0 }, "value": "b", "optional": false } } }, { "type": "VariableDeclaration", "span": { "start": 637, "end": 692, "ctxt": 0 }, "kind": "const", "declare": false, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 643, "end": 691, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 643, "end": 644, "ctxt": 0 }, "value": "d", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 644, "end": 687, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 646, "end": 687, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 649, "end": 660, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 652, "end": 660, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 654, "end": 660, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 661, "end": 685, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 663, "end": 685, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 664, "end": 674, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 664, "end": 665, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 665, "end": 673, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 667, "end": 673, "ctxt": 0 }, "kind": "string" } }, "typeParams": null }, { "type": "TsPropertySignature", "span": { "start": 675, "end": 684, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 675, "end": 676, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 676, "end": 684, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 678, "end": 684, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] } }, "readonly": false, "static": false, "span": { "start": 648, "end": 685, "ctxt": 0 } } ] } } }, "init": { "type": "Identifier", "span": { "start": 690, "end": 691, "ctxt": 0 }, "value": "q", "optional": false }, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 726, "end": 772, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 738, "end": 771, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 738, "end": 740, "ctxt": 0 }, "value": "ss", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 740, "end": 771, "ctxt": 0 }, "typeAnnotation": { "type": "TsIntersectionType", "span": { "start": 742, "end": 771, "ctxt": 0 }, "types": [ { "type": "TsTypeLiteral", "span": { "start": 742, "end": 755, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 744, "end": 753, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 744, "end": 745, "ctxt": 0 }, "value": "a", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 745, "end": 753, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 747, "end": 753, "ctxt": 0 }, "kind": "string" } }, "typeParams": null } ] }, { "type": "TsTypeLiteral", "span": { "start": 758, "end": 771, "ctxt": 0 }, "members": [ { "type": "TsPropertySignature", "span": { "start": 760, "end": 769, "ctxt": 0 }, "readonly": false, "key": { "type": "Identifier", "span": { "start": 760, "end": 761, "ctxt": 0 }, "value": "b", "optional": false }, "computed": false, "optional": false, "init": null, "params": [], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 761, "end": 769, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 763, "end": 769, "ctxt": 0 }, "kind": "number" } }, "typeParams": null } ] } ] } } }, "init": null, "definite": false } ] }, { "type": "VariableDeclaration", "span": { "start": 773, "end": 815, "ctxt": 0 }, "kind": "let", "declare": true, "declarations": [ { "type": "VariableDeclarator", "span": { "start": 785, "end": 814, "ctxt": 0 }, "id": { "type": "Identifier", "span": { "start": 785, "end": 787, "ctxt": 0 }, "value": "tt", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 787, "end": 814, "ctxt": 0 }, "typeAnnotation": { "type": "TsTypeLiteral", "span": { "start": 789, "end": 814, "ctxt": 0 }, "members": [ { "type": "TsIndexSignature", "params": [ { "type": "Identifier", "span": { "start": 792, "end": 803, "ctxt": 0 }, "value": "key", "optional": false, "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 795, "end": 803, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 797, "end": 803, "ctxt": 0 }, "kind": "string" } } } ], "typeAnnotation": { "type": "TsTypeAnnotation", "span": { "start": 804, "end": 812, "ctxt": 0 }, "typeAnnotation": { "type": "TsKeywordType", "span": { "start": 806, "end": 812, "ctxt": 0 }, "kind": "string" } }, "readonly": false, "static": false, "span": { "start": 791, "end": 812, "ctxt": 0 } } ] } } }, "init": null, "definite": false } ] }, { "type": "ExpressionStatement", "span": { "start": 816, "end": 824, "ctxt": 0 }, "expression": { "type": "AssignmentExpression", "span": { "start": 816, "end": 823, "ctxt": 0 }, "operator": "=", "left": { "type": "Identifier", "span": { "start": 816, "end": 818, "ctxt": 0 }, "value": "tt", "optional": false, "typeAnnotation": null }, "right": { "type": "Identifier", "span": { "start": 821, "end": 823, "ctxt": 0 }, "value": "ss", "optional": false } } } ], "interpreter": null }