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

5299 lines
144 KiB
JSON

{
"type": "Script",
"span": {
"start": 102,
"end": 3343,
"ctxt": 0
},
"body": [
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 102,
"end": 325,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 112,
"end": 116,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 117,
"end": 325,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 124,
"end": 157,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 124,
"end": 125,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 125,
"end": 156,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 127,
"end": 156,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 128,
"end": 145,
"ctxt": 0
},
"rest": {
"start": 128,
"end": 131,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 131,
"end": 135,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 135,
"end": 145,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 137,
"end": 145,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 137,
"end": 143,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 147,
"end": 156,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 150,
"end": 156,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 162,
"end": 204,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 162,
"end": 164,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 164,
"end": 203,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 166,
"end": 203,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 167,
"end": 176,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 168,
"end": 176,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 170,
"end": 176,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "RestElement",
"span": {
"start": 178,
"end": 192,
"ctxt": 0
},
"rest": {
"start": 178,
"end": 181,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 181,
"end": 182,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 182,
"end": 192,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 184,
"end": 192,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 184,
"end": 190,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 194,
"end": 203,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 197,
"end": 203,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 209,
"end": 263,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 209,
"end": 211,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 211,
"end": 262,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 213,
"end": 262,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 214,
"end": 223,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 215,
"end": 223,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 217,
"end": 223,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 225,
"end": 235,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 227,
"end": 235,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 229,
"end": 235,
"ctxt": 0
},
"kind": "string"
}
}
},
{
"type": "RestElement",
"span": {
"start": 237,
"end": 251,
"ctxt": 0
},
"rest": {
"start": 237,
"end": 240,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 240,
"end": 241,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 241,
"end": 251,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 243,
"end": 251,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 243,
"end": 249,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 253,
"end": 262,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 256,
"end": 262,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 268,
"end": 323,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 268,
"end": 270,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 270,
"end": 322,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 272,
"end": 322,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 273,
"end": 283,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 275,
"end": 283,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 277,
"end": 283,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 285,
"end": 295,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 287,
"end": 295,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 289,
"end": 295,
"ctxt": 0
},
"kind": "string"
}
}
},
{
"type": "RestElement",
"span": {
"start": 297,
"end": 311,
"ctxt": 0
},
"rest": {
"start": 297,
"end": 300,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 300,
"end": 301,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 301,
"end": 311,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 303,
"end": 311,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 303,
"end": 309,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 313,
"end": 322,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 316,
"end": 322,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 327,
"end": 415,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 337,
"end": 339,
"ctxt": 0
},
"value": "I1",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 348,
"end": 352,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 348,
"end": 352,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 353,
"end": 415,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 359,
"end": 375,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 359,
"end": 360,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 360,
"end": 374,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 362,
"end": 374,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 365,
"end": 374,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 368,
"end": 374,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 417,
"end": 523,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 427,
"end": 430,
"ctxt": 0
},
"value": "I1B",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 439,
"end": 443,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 439,
"end": 443,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 444,
"end": 523,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 450,
"end": 483,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 450,
"end": 451,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 451,
"end": 482,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 453,
"end": 482,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 454,
"end": 471,
"ctxt": 0
},
"rest": {
"start": 454,
"end": 457,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 457,
"end": 461,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 461,
"end": 471,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 463,
"end": 471,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 463,
"end": 469,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 473,
"end": 482,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 476,
"end": 482,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 525,
"end": 617,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 535,
"end": 538,
"ctxt": 0
},
"value": "I1C",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 547,
"end": 551,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 547,
"end": 551,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 552,
"end": 617,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 558,
"end": 591,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 558,
"end": 559,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 559,
"end": 590,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 561,
"end": 590,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 562,
"end": 579,
"ctxt": 0
},
"rest": {
"start": 562,
"end": 565,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 565,
"end": 569,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 569,
"end": 579,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 571,
"end": 579,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 571,
"end": 577,
"ctxt": 0
},
"kind": "string"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 581,
"end": 590,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 584,
"end": 590,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 619,
"end": 717,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 629,
"end": 631,
"ctxt": 0
},
"value": "I2",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 640,
"end": 644,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 640,
"end": 644,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 645,
"end": 717,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 651,
"end": 677,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 651,
"end": 652,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 652,
"end": 676,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 654,
"end": 676,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 655,
"end": 665,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 657,
"end": 665,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 659,
"end": 665,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 667,
"end": 676,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 670,
"end": 676,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 719,
"end": 842,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 729,
"end": 732,
"ctxt": 0
},
"value": "I2B",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 741,
"end": 745,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 741,
"end": 745,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 746,
"end": 842,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 752,
"end": 802,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 752,
"end": 753,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 753,
"end": 801,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 755,
"end": 801,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 756,
"end": 766,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 758,
"end": 766,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 760,
"end": 766,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 768,
"end": 778,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 770,
"end": 778,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 772,
"end": 778,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 780,
"end": 790,
"ctxt": 0
},
"value": "z",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 782,
"end": 790,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 784,
"end": 790,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 792,
"end": 801,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 795,
"end": 801,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 844,
"end": 935,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 854,
"end": 856,
"ctxt": 0
},
"value": "I3",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 865,
"end": 869,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 865,
"end": 869,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 870,
"end": 935,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 876,
"end": 901,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 876,
"end": 877,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 877,
"end": 900,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 879,
"end": 900,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 880,
"end": 889,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 881,
"end": 889,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 883,
"end": 889,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 891,
"end": 900,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 894,
"end": 900,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 937,
"end": 1026,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 947,
"end": 950,
"ctxt": 0
},
"value": "I3B",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 959,
"end": 963,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 959,
"end": 963,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 964,
"end": 1026,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 970,
"end": 996,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 970,
"end": 971,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 971,
"end": 995,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 973,
"end": 995,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 974,
"end": 984,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 976,
"end": 984,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 978,
"end": 984,
"ctxt": 0
},
"kind": "string"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 986,
"end": 995,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 989,
"end": 995,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1030,
"end": 1110,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1040,
"end": 1042,
"ctxt": 0
},
"value": "I4",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1051,
"end": 1055,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1051,
"end": 1055,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1056,
"end": 1110,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1062,
"end": 1079,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1062,
"end": 1064,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1064,
"end": 1078,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1066,
"end": 1078,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1069,
"end": 1078,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1072,
"end": 1078,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1112,
"end": 1210,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1122,
"end": 1125,
"ctxt": 0
},
"value": "I4B",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1134,
"end": 1138,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1134,
"end": 1138,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1139,
"end": 1210,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1145,
"end": 1179,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1145,
"end": 1147,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1147,
"end": 1178,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1149,
"end": 1178,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 1150,
"end": 1167,
"ctxt": 0
},
"rest": {
"start": 1150,
"end": 1153,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 1153,
"end": 1157,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1157,
"end": 1167,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 1159,
"end": 1167,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 1159,
"end": 1165,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1169,
"end": 1178,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1172,
"end": 1178,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1212,
"end": 1302,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1222,
"end": 1224,
"ctxt": 0
},
"value": "I5",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1233,
"end": 1237,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1233,
"end": 1237,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1238,
"end": 1302,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1244,
"end": 1271,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1244,
"end": 1246,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1246,
"end": 1270,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1248,
"end": 1270,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1249,
"end": 1259,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1251,
"end": 1259,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1253,
"end": 1259,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1261,
"end": 1270,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1264,
"end": 1270,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1304,
"end": 1402,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1314,
"end": 1316,
"ctxt": 0
},
"value": "I6",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1325,
"end": 1329,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1325,
"end": 1329,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1330,
"end": 1402,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1336,
"end": 1362,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1336,
"end": 1338,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1338,
"end": 1361,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1340,
"end": 1361,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1341,
"end": 1350,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1342,
"end": 1350,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1344,
"end": 1350,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1352,
"end": 1361,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1355,
"end": 1361,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1404,
"end": 1522,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1414,
"end": 1417,
"ctxt": 0
},
"value": "I6B",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1426,
"end": 1430,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1426,
"end": 1430,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1431,
"end": 1522,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1437,
"end": 1482,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1437,
"end": 1439,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1439,
"end": 1481,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1441,
"end": 1481,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1442,
"end": 1451,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1443,
"end": 1451,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1445,
"end": 1451,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "RestElement",
"span": {
"start": 1453,
"end": 1470,
"ctxt": 0
},
"rest": {
"start": 1453,
"end": 1456,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 1456,
"end": 1460,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1460,
"end": 1470,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 1462,
"end": 1470,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 1462,
"end": 1468,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1472,
"end": 1481,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1475,
"end": 1481,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1524,
"end": 1613,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1534,
"end": 1537,
"ctxt": 0
},
"value": "I6C",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1546,
"end": 1550,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1546,
"end": 1550,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1551,
"end": 1613,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1557,
"end": 1602,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1557,
"end": 1559,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1559,
"end": 1601,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1561,
"end": 1601,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1562,
"end": 1571,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1563,
"end": 1571,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1565,
"end": 1571,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "RestElement",
"span": {
"start": 1573,
"end": 1590,
"ctxt": 0
},
"rest": {
"start": 1573,
"end": 1576,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 1576,
"end": 1580,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1580,
"end": 1590,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 1582,
"end": 1590,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 1582,
"end": 1588,
"ctxt": 0
},
"kind": "string"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1592,
"end": 1601,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1595,
"end": 1601,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1615,
"end": 1719,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1625,
"end": 1628,
"ctxt": 0
},
"value": "I6D",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1637,
"end": 1641,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1637,
"end": 1641,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1642,
"end": 1719,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1648,
"end": 1685,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1648,
"end": 1650,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1650,
"end": 1684,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1652,
"end": 1684,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1653,
"end": 1662,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1654,
"end": 1662,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1656,
"end": 1662,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 1664,
"end": 1673,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1665,
"end": 1673,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1667,
"end": 1673,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1675,
"end": 1684,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1678,
"end": 1684,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1721,
"end": 1832,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1731,
"end": 1734,
"ctxt": 0
},
"value": "I6E",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1743,
"end": 1747,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1743,
"end": 1747,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1748,
"end": 1832,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1754,
"end": 1792,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1754,
"end": 1756,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1756,
"end": 1791,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1758,
"end": 1791,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1759,
"end": 1768,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1760,
"end": 1768,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1762,
"end": 1768,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 1770,
"end": 1780,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1772,
"end": 1780,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1774,
"end": 1780,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1782,
"end": 1791,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1785,
"end": 1791,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1836,
"end": 1916,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1846,
"end": 1848,
"ctxt": 0
},
"value": "I7",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1857,
"end": 1861,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1857,
"end": 1861,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1862,
"end": 1916,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1868,
"end": 1885,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1868,
"end": 1870,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1870,
"end": 1884,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1872,
"end": 1884,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1875,
"end": 1884,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1878,
"end": 1884,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1918,
"end": 2008,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1928,
"end": 1930,
"ctxt": 0
},
"value": "I8",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1939,
"end": 1943,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1939,
"end": 1943,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1944,
"end": 2008,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1950,
"end": 1977,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1950,
"end": 1952,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1952,
"end": 1976,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1954,
"end": 1976,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1955,
"end": 1965,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1957,
"end": 1965,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1959,
"end": 1965,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1967,
"end": 1976,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1970,
"end": 1976,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2010,
"end": 2108,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2020,
"end": 2022,
"ctxt": 0
},
"value": "I9",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2031,
"end": 2035,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2031,
"end": 2035,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2036,
"end": 2108,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2042,
"end": 2068,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2042,
"end": 2044,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2044,
"end": 2067,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2046,
"end": 2067,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2047,
"end": 2056,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2048,
"end": 2056,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2050,
"end": 2056,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2058,
"end": 2067,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2061,
"end": 2067,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2110,
"end": 2215,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2120,
"end": 2123,
"ctxt": 0
},
"value": "I10",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2132,
"end": 2136,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2132,
"end": 2136,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2137,
"end": 2215,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2143,
"end": 2180,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2143,
"end": 2145,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2145,
"end": 2179,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2147,
"end": 2179,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2148,
"end": 2157,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2149,
"end": 2157,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2151,
"end": 2157,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 2159,
"end": 2168,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2160,
"end": 2168,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2162,
"end": 2168,
"ctxt": 0
},
"kind": "string"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2170,
"end": 2179,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2173,
"end": 2179,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2217,
"end": 2313,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2227,
"end": 2231,
"ctxt": 0
},
"value": "I10B",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2240,
"end": 2244,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2240,
"end": 2244,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2245,
"end": 2313,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2251,
"end": 2301,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2251,
"end": 2253,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2253,
"end": 2300,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2255,
"end": 2300,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2256,
"end": 2265,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2257,
"end": 2265,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2259,
"end": 2265,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 2267,
"end": 2277,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2269,
"end": 2277,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2271,
"end": 2277,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 2279,
"end": 2289,
"ctxt": 0
},
"value": "z",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2281,
"end": 2289,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2283,
"end": 2289,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2291,
"end": 2300,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2294,
"end": 2300,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2315,
"end": 2403,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2325,
"end": 2329,
"ctxt": 0
},
"value": "I10C",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2338,
"end": 2342,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2338,
"end": 2342,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2343,
"end": 2403,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2349,
"end": 2391,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2349,
"end": 2351,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2351,
"end": 2390,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2353,
"end": 2390,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2354,
"end": 2363,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2355,
"end": 2363,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2357,
"end": 2363,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "RestElement",
"span": {
"start": 2365,
"end": 2379,
"ctxt": 0
},
"rest": {
"start": 2365,
"end": 2368,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 2368,
"end": 2369,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2369,
"end": 2379,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 2371,
"end": 2379,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 2371,
"end": 2377,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2381,
"end": 2390,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2384,
"end": 2390,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2405,
"end": 2521,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2415,
"end": 2419,
"ctxt": 0
},
"value": "I10D",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2428,
"end": 2432,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2428,
"end": 2432,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2433,
"end": 2521,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2439,
"end": 2489,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2439,
"end": 2441,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2441,
"end": 2488,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2443,
"end": 2488,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2444,
"end": 2453,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2445,
"end": 2453,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2447,
"end": 2453,
"ctxt": 0
},
"kind": "string"
}
}
},
{
"type": "Identifier",
"span": {
"start": 2455,
"end": 2465,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2457,
"end": 2465,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2459,
"end": 2465,
"ctxt": 0
},
"kind": "string"
}
}
},
{
"type": "Identifier",
"span": {
"start": 2467,
"end": 2477,
"ctxt": 0
},
"value": "z",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2469,
"end": 2477,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2471,
"end": 2477,
"ctxt": 0
},
"kind": "string"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2479,
"end": 2488,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2482,
"end": 2488,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2523,
"end": 2611,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2533,
"end": 2537,
"ctxt": 0
},
"value": "I10E",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2546,
"end": 2550,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2546,
"end": 2550,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2551,
"end": 2611,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2557,
"end": 2599,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2557,
"end": 2559,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2559,
"end": 2598,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2561,
"end": 2598,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2562,
"end": 2571,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2563,
"end": 2571,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2565,
"end": 2571,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "RestElement",
"span": {
"start": 2573,
"end": 2587,
"ctxt": 0
},
"rest": {
"start": 2573,
"end": 2576,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 2576,
"end": 2577,
"ctxt": 0
},
"value": "z",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2577,
"end": 2587,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 2579,
"end": 2587,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 2579,
"end": 2585,
"ctxt": 0
},
"kind": "string"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2589,
"end": 2598,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2592,
"end": 2598,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2613,
"end": 2694,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2623,
"end": 2626,
"ctxt": 0
},
"value": "I11",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2635,
"end": 2639,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2635,
"end": 2639,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2640,
"end": 2694,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2646,
"end": 2663,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2646,
"end": 2648,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2648,
"end": 2662,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2650,
"end": 2662,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2653,
"end": 2662,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2656,
"end": 2662,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2696,
"end": 2794,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2706,
"end": 2709,
"ctxt": 0
},
"value": "I12",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2718,
"end": 2722,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2718,
"end": 2722,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2723,
"end": 2794,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2729,
"end": 2768,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2729,
"end": 2731,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2731,
"end": 2767,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2733,
"end": 2767,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2734,
"end": 2744,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2736,
"end": 2744,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2738,
"end": 2744,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 2746,
"end": 2756,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2748,
"end": 2756,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2750,
"end": 2756,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2758,
"end": 2767,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2761,
"end": 2767,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2796,
"end": 2889,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2806,
"end": 2809,
"ctxt": 0
},
"value": "I13",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2818,
"end": 2822,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2818,
"end": 2822,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2823,
"end": 2889,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2829,
"end": 2855,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2829,
"end": 2831,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2831,
"end": 2854,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2833,
"end": 2854,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2834,
"end": 2843,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2835,
"end": 2843,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2837,
"end": 2843,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2845,
"end": 2854,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2848,
"end": 2854,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 2891,
"end": 3006,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 2901,
"end": 2904,
"ctxt": 0
},
"value": "I14",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 2913,
"end": 2917,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 2913,
"end": 2917,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 2918,
"end": 3006,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 2924,
"end": 2962,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 2924,
"end": 2926,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2926,
"end": 2961,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 2928,
"end": 2961,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 2929,
"end": 2938,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2930,
"end": 2938,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2932,
"end": 2938,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 2940,
"end": 2950,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2942,
"end": 2950,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2944,
"end": 2950,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 2952,
"end": 2961,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 2955,
"end": 2961,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 3008,
"end": 3141,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3018,
"end": 3021,
"ctxt": 0
},
"value": "I15",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 3030,
"end": 3034,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 3030,
"end": 3034,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 3035,
"end": 3141,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 3041,
"end": 3080,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 3041,
"end": 3043,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3043,
"end": 3079,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 3045,
"end": 3079,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3046,
"end": 3056,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3048,
"end": 3056,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3050,
"end": 3056,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 3058,
"end": 3068,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3060,
"end": 3068,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3062,
"end": 3068,
"ctxt": 0
},
"kind": "string"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3070,
"end": 3079,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3073,
"end": 3079,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 3143,
"end": 3263,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3153,
"end": 3156,
"ctxt": 0
},
"value": "I16",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 3165,
"end": 3169,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 3165,
"end": 3169,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 3170,
"end": 3263,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 3176,
"end": 3221,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 3176,
"end": 3178,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3178,
"end": 3220,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 3180,
"end": 3220,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 3181,
"end": 3190,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3182,
"end": 3190,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3184,
"end": 3190,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "RestElement",
"span": {
"start": 3192,
"end": 3209,
"ctxt": 0
},
"rest": {
"start": 3192,
"end": 3195,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 3195,
"end": 3199,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3199,
"end": 3209,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 3201,
"end": 3209,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 3201,
"end": 3207,
"ctxt": 0
},
"kind": "string"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3211,
"end": 3220,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3214,
"end": 3220,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 3265,
"end": 3343,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 3275,
"end": 3278,
"ctxt": 0
},
"value": "I17",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 3287,
"end": 3291,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 3287,
"end": 3291,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 3292,
"end": 3343,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 3298,
"end": 3332,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 3298,
"end": 3300,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3300,
"end": 3331,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 3302,
"end": 3331,
"ctxt": 0
},
"params": [
{
"type": "RestElement",
"span": {
"start": 3303,
"end": 3320,
"ctxt": 0
},
"rest": {
"start": 3303,
"end": 3306,
"ctxt": 0
},
"argument": {
"type": "Identifier",
"span": {
"start": 3306,
"end": 3310,
"ctxt": 0
},
"value": "args",
"optional": false,
"typeAnnotation": null
},
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3310,
"end": 3320,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsArrayType",
"span": {
"start": 3312,
"end": 3320,
"ctxt": 0
},
"elemType": {
"type": "TsKeywordType",
"span": {
"start": 3312,
"end": 3318,
"ctxt": 0
},
"kind": "number"
}
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 3322,
"end": 3331,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 3325,
"end": 3331,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
}
],
"interpreter": null
}