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

5299 lines
144 KiB
JSON

{
"type": "Script",
"span": {
"start": 103,
"end": 3344,
"ctxt": 0
},
"body": [
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 103,
"end": 326,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 113,
"end": 117,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 118,
"end": 326,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 125,
"end": 158,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 125,
"end": 126,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 126,
"end": 157,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 128,
"end": 157,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 129,
"end": 146,
"ctxt": 0
},
"rest": {
"start": 129,
"end": 132,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 132,
"end": 136,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 136,
"end": 146,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 138,
"end": 146,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 138,
"end": 144,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 148,
"end": 157,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 151,
"end": 157,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 163,
"end": 205,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 163,
"end": 165,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 165,
"end": 204,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 167,
"end": 204,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 168,
"end": 177,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 169,
"end": 177,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 171,
"end": 177,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "RestElement",
"span": {
"start": 179,
"end": 193,
"ctxt": 0
},
"rest": {
"start": 179,
"end": 182,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 182,
"end": 183,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 183,
"end": 193,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 185,
"end": 193,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 185,
"end": 191,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 195,
"end": 204,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 198,
"end": 204,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 210,
"end": 264,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 210,
"end": 212,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 212,
"end": 263,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 214,
"end": 263,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 215,
"end": 224,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 216,
"end": 224,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 218,
"end": 224,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 226,
"end": 236,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 228,
"end": 236,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 230,
"end": 236,
"ctxt": 0
},
"kind": "string"
}
}
},
{
"type": "RestElement",
"span": {
"start": 238,
"end": 252,
"ctxt": 0
},
"rest": {
"start": 238,
"end": 241,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 241,
"end": 242,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 242,
"end": 252,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 244,
"end": 252,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 244,
"end": 250,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 254,
"end": 263,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 257,
"end": 263,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 269,
"end": 324,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 269,
"end": 271,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 271,
"end": 323,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 273,
"end": 323,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 274,
"end": 284,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 276,
"end": 284,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 278,
"end": 284,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 286,
"end": 296,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 288,
"end": 296,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 290,
"end": 296,
"ctxt": 0
},
"kind": "string"
}
}
},
{
"type": "RestElement",
"span": {
"start": 298,
"end": 312,
"ctxt": 0
},
"rest": {
"start": 298,
"end": 301,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 301,
"end": 302,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 302,
"end": 312,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 304,
"end": 312,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 304,
"end": 310,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 314,
"end": 323,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 317,
"end": 323,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 328,
"end": 416,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 338,
"end": 340,
"ctxt": 0
},
"value": "I1",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 349,
"end": 353,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 349,
"end": 353,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 354,
"end": 416,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 360,
"end": 376,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 360,
"end": 361,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 361,
"end": 375,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 363,
"end": 375,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 366,
"end": 375,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 369,
"end": 375,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 418,
"end": 524,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 428,
"end": 431,
"ctxt": 0
},
"value": "I1B",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 440,
"end": 444,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 440,
"end": 444,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 445,
"end": 524,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 451,
"end": 484,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 451,
"end": 452,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 452,
"end": 483,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 454,
"end": 483,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 455,
"end": 472,
"ctxt": 0
},
"rest": {
"start": 455,
"end": 458,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 458,
"end": 462,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 462,
"end": 472,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 464,
"end": 472,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 464,
"end": 470,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 474,
"end": 483,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 477,
"end": 483,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 526,
"end": 618,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 536,
"end": 539,
"ctxt": 0
},
"value": "I1C",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 548,
"end": 552,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 548,
"end": 552,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 553,
"end": 618,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 559,
"end": 592,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 559,
"end": 560,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 560,
"end": 591,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 562,
"end": 591,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 563,
"end": 580,
"ctxt": 0
},
"rest": {
"start": 563,
"end": 566,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 566,
"end": 570,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 570,
"end": 580,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 572,
"end": 580,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 572,
"end": 578,
"ctxt": 0
},
"kind": "string"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 582,
"end": 591,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 585,
"end": 591,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 620,
"end": 718,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 630,
"end": 632,
"ctxt": 0
},
"value": "I2",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 641,
"end": 645,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 641,
"end": 645,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 646,
"end": 718,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 652,
"end": 678,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 652,
"end": 653,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 653,
"end": 677,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 655,
"end": 677,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 656,
"end": 666,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 658,
"end": 666,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 660,
"end": 666,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 668,
"end": 677,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 671,
"end": 677,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 720,
"end": 843,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 730,
"end": 733,
"ctxt": 0
},
"value": "I2B",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 742,
"end": 746,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 742,
"end": 746,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 747,
"end": 843,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 753,
"end": 803,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 753,
"end": 754,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 754,
"end": 802,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 756,
"end": 802,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 757,
"end": 767,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 759,
"end": 767,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 761,
"end": 767,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 769,
"end": 779,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 771,
"end": 779,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 773,
"end": 779,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 781,
"end": 791,
"ctxt": 0
},
"value": "z",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 783,
"end": 791,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 785,
"end": 791,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 793,
"end": 802,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 796,
"end": 802,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 845,
"end": 936,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 855,
"end": 857,
"ctxt": 0
},
"value": "I3",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 866,
"end": 870,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 866,
"end": 870,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 871,
"end": 936,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 877,
"end": 902,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 877,
"end": 878,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 878,
"end": 901,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 880,
"end": 901,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 881,
"end": 890,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 882,
"end": 890,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 884,
"end": 890,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 892,
"end": 901,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 895,
"end": 901,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 938,
"end": 1027,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 948,
"end": 951,
"ctxt": 0
},
"value": "I3B",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 960,
"end": 964,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 960,
"end": 964,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 965,
"end": 1027,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 971,
"end": 997,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 971,
"end": 972,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 972,
"end": 996,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 974,
"end": 996,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 975,
"end": 985,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 977,
"end": 985,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 979,
"end": 985,
"ctxt": 0
},
"kind": "string"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 987,
"end": 996,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 990,
"end": 996,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1031,
"end": 1111,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1041,
"end": 1043,
"ctxt": 0
},
"value": "I4",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1052,
"end": 1056,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1052,
"end": 1056,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1057,
"end": 1111,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1063,
"end": 1080,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1063,
"end": 1065,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1065,
"end": 1079,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1067,
"end": 1079,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1070,
"end": 1079,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1073,
"end": 1079,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1113,
"end": 1211,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1123,
"end": 1126,
"ctxt": 0
},
"value": "I4B",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1135,
"end": 1139,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1135,
"end": 1139,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1140,
"end": 1211,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1146,
"end": 1180,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1146,
"end": 1148,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1148,
"end": 1179,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1150,
"end": 1179,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 1151,
"end": 1168,
"ctxt": 0
},
"rest": {
"start": 1151,
"end": 1154,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 1154,
"end": 1158,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1158,
"end": 1168,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 1160,
"end": 1168,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 1160,
"end": 1166,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1170,
"end": 1179,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1173,
"end": 1179,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1213,
"end": 1303,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1223,
"end": 1225,
"ctxt": 0
},
"value": "I5",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1234,
"end": 1238,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1234,
"end": 1238,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1239,
"end": 1303,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1245,
"end": 1272,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1245,
"end": 1247,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1247,
"end": 1271,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1249,
"end": 1271,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1250,
"end": 1260,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1252,
"end": 1260,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1254,
"end": 1260,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1262,
"end": 1271,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1265,
"end": 1271,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1305,
"end": 1403,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1315,
"end": 1317,
"ctxt": 0
},
"value": "I6",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1326,
"end": 1330,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1326,
"end": 1330,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1331,
"end": 1403,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1337,
"end": 1363,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1337,
"end": 1339,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1339,
"end": 1362,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1341,
"end": 1362,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1342,
"end": 1351,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1343,
"end": 1351,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1345,
"end": 1351,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1353,
"end": 1362,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1356,
"end": 1362,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1405,
"end": 1523,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1415,
"end": 1418,
"ctxt": 0
},
"value": "I6B",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1427,
"end": 1431,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1427,
"end": 1431,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1432,
"end": 1523,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1438,
"end": 1483,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1438,
"end": 1440,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1440,
"end": 1482,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1442,
"end": 1482,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1443,
"end": 1452,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1444,
"end": 1452,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1446,
"end": 1452,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "RestElement",
"span": {
"start": 1454,
"end": 1471,
"ctxt": 0
},
"rest": {
"start": 1454,
"end": 1457,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 1457,
"end": 1461,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1461,
"end": 1471,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 1463,
"end": 1471,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 1463,
"end": 1469,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1473,
"end": 1482,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1476,
"end": 1482,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1525,
"end": 1614,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1535,
"end": 1538,
"ctxt": 0
},
"value": "I6C",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1547,
"end": 1551,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1547,
"end": 1551,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1552,
"end": 1614,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1558,
"end": 1603,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1558,
"end": 1560,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1560,
"end": 1602,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1562,
"end": 1602,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1563,
"end": 1572,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1564,
"end": 1572,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1566,
"end": 1572,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "RestElement",
"span": {
"start": 1574,
"end": 1591,
"ctxt": 0
},
"rest": {
"start": 1574,
"end": 1577,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 1577,
"end": 1581,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1581,
"end": 1591,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 1583,
"end": 1591,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 1583,
"end": 1589,
"ctxt": 0
},
"kind": "string"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1593,
"end": 1602,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1596,
"end": 1602,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1616,
"end": 1720,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1626,
"end": 1629,
"ctxt": 0
},
"value": "I6D",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1638,
"end": 1642,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1638,
"end": 1642,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1643,
"end": 1720,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1649,
"end": 1686,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1649,
"end": 1651,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1651,
"end": 1685,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1653,
"end": 1685,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1654,
"end": 1663,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1655,
"end": 1663,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1657,
"end": 1663,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 1665,
"end": 1674,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1666,
"end": 1674,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1668,
"end": 1674,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1676,
"end": 1685,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1679,
"end": 1685,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1722,
"end": 1833,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1732,
"end": 1735,
"ctxt": 0
},
"value": "I6E",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1744,
"end": 1748,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1744,
"end": 1748,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1749,
"end": 1833,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1755,
"end": 1793,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1755,
"end": 1757,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1757,
"end": 1792,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1759,
"end": 1792,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1760,
"end": 1769,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1761,
"end": 1769,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1763,
"end": 1769,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 1771,
"end": 1781,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1773,
"end": 1781,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1775,
"end": 1781,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1783,
"end": 1792,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1786,
"end": 1792,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1837,
"end": 1917,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1847,
"end": 1849,
"ctxt": 0
},
"value": "I7",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1858,
"end": 1862,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1858,
"end": 1862,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1863,
"end": 1917,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1869,
"end": 1886,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1869,
"end": 1871,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1871,
"end": 1885,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1873,
"end": 1885,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1876,
"end": 1885,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1879,
"end": 1885,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1919,
"end": 2009,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1929,
"end": 1931,
"ctxt": 0
},
"value": "I8",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1940,
"end": 1944,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1940,
"end": 1944,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1945,
"end": 2009,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1951,
"end": 1978,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1951,
"end": 1953,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1953,
"end": 1977,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1955,
"end": 1977,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1956,
"end": 1966,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1958,
"end": 1966,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1960,
"end": 1966,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1968,
"end": 1977,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1971,
"end": 1977,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2011,
"end": 2109,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2021,
"end": 2023,
"ctxt": 0
},
"value": "I9",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2032,
"end": 2036,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2032,
"end": 2036,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2037,
"end": 2109,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2043,
"end": 2069,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2043,
"end": 2045,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2045,
"end": 2068,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2047,
"end": 2068,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2048,
"end": 2057,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2049,
"end": 2057,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2051,
"end": 2057,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2059,
"end": 2068,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2062,
"end": 2068,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2111,
"end": 2216,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2121,
"end": 2124,
"ctxt": 0
},
"value": "I10",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2133,
"end": 2137,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2133,
"end": 2137,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2138,
"end": 2216,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2144,
"end": 2181,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2144,
"end": 2146,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2146,
"end": 2180,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2148,
"end": 2180,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2149,
"end": 2158,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2150,
"end": 2158,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2152,
"end": 2158,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 2160,
"end": 2169,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2161,
"end": 2169,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2163,
"end": 2169,
"ctxt": 0
},
"kind": "string"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2171,
"end": 2180,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2174,
"end": 2180,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2218,
"end": 2314,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2228,
"end": 2232,
"ctxt": 0
},
"value": "I10B",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2241,
"end": 2245,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2241,
"end": 2245,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2246,
"end": 2314,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2252,
"end": 2302,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2252,
"end": 2254,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2254,
"end": 2301,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2256,
"end": 2301,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2257,
"end": 2266,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2258,
"end": 2266,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2260,
"end": 2266,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 2268,
"end": 2278,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2270,
"end": 2278,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2272,
"end": 2278,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 2280,
"end": 2290,
"ctxt": 0
},
"value": "z",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2282,
"end": 2290,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2284,
"end": 2290,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2292,
"end": 2301,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2295,
"end": 2301,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2316,
"end": 2404,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2326,
"end": 2330,
"ctxt": 0
},
"value": "I10C",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2339,
"end": 2343,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2339,
"end": 2343,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2344,
"end": 2404,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2350,
"end": 2392,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2350,
"end": 2352,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2352,
"end": 2391,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2354,
"end": 2391,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2355,
"end": 2364,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2356,
"end": 2364,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2358,
"end": 2364,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "RestElement",
"span": {
"start": 2366,
"end": 2380,
"ctxt": 0
},
"rest": {
"start": 2366,
"end": 2369,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 2369,
"end": 2370,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2370,
"end": 2380,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 2372,
"end": 2380,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 2372,
"end": 2378,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2382,
"end": 2391,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2385,
"end": 2391,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2406,
"end": 2522,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2416,
"end": 2420,
"ctxt": 0
},
"value": "I10D",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2429,
"end": 2433,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2429,
"end": 2433,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2434,
"end": 2522,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2440,
"end": 2490,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2440,
"end": 2442,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2442,
"end": 2489,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2444,
"end": 2489,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2445,
"end": 2454,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2446,
"end": 2454,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2448,
"end": 2454,
"ctxt": 0
},
"kind": "string"
}
}
},
{
"type": "Identifier",
"span": {
"start": 2456,
"end": 2466,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2458,
"end": 2466,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2460,
"end": 2466,
"ctxt": 0
},
"kind": "string"
}
}
},
{
"type": "Identifier",
"span": {
"start": 2468,
"end": 2478,
"ctxt": 0
},
"value": "z",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2470,
"end": 2478,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2472,
"end": 2478,
"ctxt": 0
},
"kind": "string"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2480,
"end": 2489,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2483,
"end": 2489,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2524,
"end": 2612,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2534,
"end": 2538,
"ctxt": 0
},
"value": "I10E",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2547,
"end": 2551,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2547,
"end": 2551,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2552,
"end": 2612,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2558,
"end": 2600,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2558,
"end": 2560,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2560,
"end": 2599,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2562,
"end": 2599,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2563,
"end": 2572,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2564,
"end": 2572,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2566,
"end": 2572,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "RestElement",
"span": {
"start": 2574,
"end": 2588,
"ctxt": 0
},
"rest": {
"start": 2574,
"end": 2577,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 2577,
"end": 2578,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2578,
"end": 2588,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 2580,
"end": 2588,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 2580,
"end": 2586,
"ctxt": 0
},
"kind": "string"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2590,
"end": 2599,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2593,
"end": 2599,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2614,
"end": 2695,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2624,
"end": 2627,
"ctxt": 0
},
"value": "I11",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2636,
"end": 2640,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2636,
"end": 2640,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2641,
"end": 2695,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2647,
"end": 2664,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2647,
"end": 2649,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2649,
"end": 2663,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2651,
"end": 2663,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2654,
"end": 2663,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2657,
"end": 2663,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2697,
"end": 2795,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2707,
"end": 2710,
"ctxt": 0
},
"value": "I12",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2719,
"end": 2723,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2719,
"end": 2723,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2724,
"end": 2795,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2730,
"end": 2769,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2730,
"end": 2732,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2732,
"end": 2768,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2734,
"end": 2768,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2735,
"end": 2745,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2737,
"end": 2745,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2739,
"end": 2745,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 2747,
"end": 2757,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2749,
"end": 2757,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2751,
"end": 2757,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2759,
"end": 2768,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2762,
"end": 2768,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2797,
"end": 2890,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2807,
"end": 2810,
"ctxt": 0
},
"value": "I13",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2819,
"end": 2823,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2819,
"end": 2823,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2824,
"end": 2890,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2830,
"end": 2856,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2830,
"end": 2832,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2832,
"end": 2855,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2834,
"end": 2855,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2835,
"end": 2844,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2836,
"end": 2844,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2838,
"end": 2844,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2846,
"end": 2855,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2849,
"end": 2855,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2892,
"end": 3007,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2902,
"end": 2905,
"ctxt": 0
},
"value": "I14",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2914,
"end": 2918,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2914,
"end": 2918,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2919,
"end": 3007,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2925,
"end": 2963,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2925,
"end": 2927,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2927,
"end": 2962,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2929,
"end": 2962,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2930,
"end": 2939,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2931,
"end": 2939,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2933,
"end": 2939,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 2941,
"end": 2951,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2943,
"end": 2951,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2945,
"end": 2951,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2953,
"end": 2962,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2956,
"end": 2962,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 3009,
"end": 3142,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3019,
"end": 3022,
"ctxt": 0
},
"value": "I15",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 3031,
"end": 3035,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 3031,
"end": 3035,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 3036,
"end": 3142,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 3042,
"end": 3081,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 3042,
"end": 3044,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3044,
"end": 3080,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 3046,
"end": 3080,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3047,
"end": 3057,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3049,
"end": 3057,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3051,
"end": 3057,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 3059,
"end": 3069,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3061,
"end": 3069,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3063,
"end": 3069,
"ctxt": 0
},
"kind": "string"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3071,
"end": 3080,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3074,
"end": 3080,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 3144,
"end": 3264,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3154,
"end": 3157,
"ctxt": 0
},
"value": "I16",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 3166,
"end": 3170,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 3166,
"end": 3170,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 3171,
"end": 3264,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 3177,
"end": 3222,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 3177,
"end": 3179,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3179,
"end": 3221,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 3181,
"end": 3221,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3182,
"end": 3191,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3183,
"end": 3191,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3185,
"end": 3191,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "RestElement",
"span": {
"start": 3193,
"end": 3210,
"ctxt": 0
},
"rest": {
"start": 3193,
"end": 3196,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 3196,
"end": 3200,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3200,
"end": 3210,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 3202,
"end": 3210,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 3202,
"end": 3208,
"ctxt": 0
},
"kind": "string"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3212,
"end": 3221,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3215,
"end": 3221,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 3266,
"end": 3344,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3276,
"end": 3279,
"ctxt": 0
},
"value": "I17",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 3288,
"end": 3292,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 3288,
"end": 3292,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 3293,
"end": 3344,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 3299,
"end": 3333,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 3299,
"end": 3301,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3301,
"end": 3332,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 3303,
"end": 3332,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 3304,
"end": 3321,
"ctxt": 0
},
"rest": {
"start": 3304,
"end": 3307,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 3307,
"end": 3311,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3311,
"end": 3321,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 3313,
"end": 3321,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 3313,
"end": 3319,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3323,
"end": 3332,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3326,
"end": 3332,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
}
],
"interpreter": null
}