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

2983 lines
79 KiB
JSON

{
"type": "Script",
"span": {
"start": 103,
"end": 2030,
"ctxt": 0
},
"body": [
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 103,
"end": 293,
"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": 293,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 125,
"end": 141,
"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": 140,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 128,
"end": 140,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 131,
"end": 140,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 134,
"end": 140,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 146,
"end": 173,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 146,
"end": 148,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 148,
"end": 172,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 150,
"end": 172,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 151,
"end": 161,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 153,
"end": 161,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 155,
"end": 161,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 163,
"end": 172,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 166,
"end": 172,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 178,
"end": 204,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 178,
"end": 180,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 180,
"end": 203,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 182,
"end": 203,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 183,
"end": 192,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 184,
"end": 192,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 186,
"end": 192,
"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": 247,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 209,
"end": 211,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 211,
"end": 246,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 213,
"end": 246,
"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": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 237,
"end": 246,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 240,
"end": 246,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
},
{
"type": "TsPropertySignature",
"span": {
"start": 252,
"end": 291,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 252,
"end": 254,
"ctxt": 0
},
"value": "a5",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 254,
"end": 290,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 256,
"end": 290,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 257,
"end": 267,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 259,
"end": 267,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 261,
"end": 267,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 269,
"end": 279,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 271,
"end": 279,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 273,
"end": 279,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 281,
"end": 290,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 284,
"end": 290,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 295,
"end": 383,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 305,
"end": 307,
"ctxt": 0
},
"value": "I1",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 316,
"end": 320,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 316,
"end": 320,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 321,
"end": 383,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 327,
"end": 343,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 327,
"end": 328,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 328,
"end": 342,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 330,
"end": 342,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 333,
"end": 342,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 336,
"end": 342,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 385,
"end": 483,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 395,
"end": 397,
"ctxt": 0
},
"value": "I2",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 406,
"end": 410,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 406,
"end": 410,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 411,
"end": 483,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 417,
"end": 443,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 417,
"end": 418,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 418,
"end": 442,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 420,
"end": 442,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 421,
"end": 431,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 423,
"end": 431,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 425,
"end": 431,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 433,
"end": 442,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 436,
"end": 442,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 485,
"end": 579,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 495,
"end": 497,
"ctxt": 0
},
"value": "I3",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 506,
"end": 510,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 506,
"end": 510,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 511,
"end": 579,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 517,
"end": 542,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 517,
"end": 518,
"ctxt": 0
},
"value": "a",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 518,
"end": 541,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 520,
"end": 541,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 521,
"end": 530,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 522,
"end": 530,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 524,
"end": 530,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 532,
"end": 541,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 535,
"end": 541,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 582,
"end": 671,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 592,
"end": 594,
"ctxt": 0
},
"value": "I4",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 603,
"end": 607,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 603,
"end": 607,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 608,
"end": 671,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 614,
"end": 631,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 614,
"end": 616,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 616,
"end": 630,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 618,
"end": 630,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 621,
"end": 630,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 624,
"end": 630,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 673,
"end": 772,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 683,
"end": 685,
"ctxt": 0
},
"value": "I5",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 694,
"end": 698,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 694,
"end": 698,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 699,
"end": 772,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 705,
"end": 732,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 705,
"end": 707,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 707,
"end": 731,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 709,
"end": 731,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 710,
"end": 720,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 712,
"end": 720,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 714,
"end": 720,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 722,
"end": 731,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 725,
"end": 731,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 774,
"end": 863,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 784,
"end": 786,
"ctxt": 0
},
"value": "I6",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 795,
"end": 799,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 795,
"end": 799,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 800,
"end": 863,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 806,
"end": 832,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 806,
"end": 808,
"ctxt": 0
},
"value": "a2",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 808,
"end": 831,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 810,
"end": 831,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 811,
"end": 820,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 812,
"end": 820,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 814,
"end": 820,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 822,
"end": 831,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 825,
"end": 831,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 866,
"end": 946,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 876,
"end": 878,
"ctxt": 0
},
"value": "I7",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 887,
"end": 891,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 887,
"end": 891,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 892,
"end": 946,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 898,
"end": 915,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 898,
"end": 900,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 900,
"end": 914,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 902,
"end": 914,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 905,
"end": 914,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 908,
"end": 914,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 948,
"end": 1038,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 958,
"end": 960,
"ctxt": 0
},
"value": "I8",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 969,
"end": 973,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 969,
"end": 973,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 974,
"end": 1038,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 980,
"end": 1007,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 980,
"end": 982,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 982,
"end": 1006,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 984,
"end": 1006,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 985,
"end": 995,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 987,
"end": 995,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 989,
"end": 995,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 997,
"end": 1006,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1000,
"end": 1006,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1040,
"end": 1138,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1050,
"end": 1052,
"ctxt": 0
},
"value": "I9",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1061,
"end": 1065,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1061,
"end": 1065,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1066,
"end": 1138,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1072,
"end": 1098,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1072,
"end": 1074,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1074,
"end": 1097,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1076,
"end": 1097,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1077,
"end": 1086,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1078,
"end": 1086,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1080,
"end": 1086,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1088,
"end": 1097,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1091,
"end": 1097,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1140,
"end": 1248,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1150,
"end": 1153,
"ctxt": 0
},
"value": "I10",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1162,
"end": 1166,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1162,
"end": 1166,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1167,
"end": 1248,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1173,
"end": 1210,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1173,
"end": 1175,
"ctxt": 0
},
"value": "a3",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1175,
"end": 1209,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1177,
"end": 1209,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1178,
"end": 1187,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1179,
"end": 1187,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1181,
"end": 1187,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 1189,
"end": 1198,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1190,
"end": 1198,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1192,
"end": 1198,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1200,
"end": 1209,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1203,
"end": 1209,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1251,
"end": 1332,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1261,
"end": 1264,
"ctxt": 0
},
"value": "I11",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1273,
"end": 1277,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1273,
"end": 1277,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1278,
"end": 1332,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1284,
"end": 1301,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1284,
"end": 1286,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1286,
"end": 1300,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1288,
"end": 1300,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1291,
"end": 1300,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1294,
"end": 1300,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1334,
"end": 1437,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1344,
"end": 1347,
"ctxt": 0
},
"value": "I12",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1356,
"end": 1360,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1356,
"end": 1360,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1361,
"end": 1437,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1367,
"end": 1406,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1367,
"end": 1369,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1369,
"end": 1405,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1371,
"end": 1405,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1372,
"end": 1382,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1374,
"end": 1382,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1376,
"end": 1382,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 1384,
"end": 1394,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1386,
"end": 1394,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1388,
"end": 1394,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1396,
"end": 1405,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1399,
"end": 1405,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1439,
"end": 1538,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1449,
"end": 1452,
"ctxt": 0
},
"value": "I13",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1461,
"end": 1465,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1461,
"end": 1465,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1466,
"end": 1538,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1472,
"end": 1498,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1472,
"end": 1474,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1474,
"end": 1497,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1476,
"end": 1497,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1477,
"end": 1486,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1478,
"end": 1486,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1480,
"end": 1486,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1488,
"end": 1497,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1491,
"end": 1497,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1540,
"end": 1642,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1550,
"end": 1553,
"ctxt": 0
},
"value": "I14",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1562,
"end": 1566,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1562,
"end": 1566,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1567,
"end": 1642,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1573,
"end": 1610,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1573,
"end": 1575,
"ctxt": 0
},
"value": "a4",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1575,
"end": 1609,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1577,
"end": 1609,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1578,
"end": 1587,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1579,
"end": 1587,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1581,
"end": 1587,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 1589,
"end": 1598,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1590,
"end": 1598,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1592,
"end": 1598,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1600,
"end": 1609,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1603,
"end": 1609,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1645,
"end": 1726,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1655,
"end": 1658,
"ctxt": 0
},
"value": "I15",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1667,
"end": 1671,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1667,
"end": 1671,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1672,
"end": 1726,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1678,
"end": 1695,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1678,
"end": 1680,
"ctxt": 0
},
"value": "a5",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1680,
"end": 1694,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1682,
"end": 1694,
"ctxt": 0
},
"params": [],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1685,
"end": 1694,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1688,
"end": 1694,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1728,
"end": 1831,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1738,
"end": 1741,
"ctxt": 0
},
"value": "I16",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1750,
"end": 1754,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1750,
"end": 1754,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1755,
"end": 1831,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1761,
"end": 1800,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1761,
"end": 1763,
"ctxt": 0
},
"value": "a5",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1763,
"end": 1799,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1765,
"end": 1799,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1766,
"end": 1776,
"ctxt": 0
},
"value": "x",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1768,
"end": 1776,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1770,
"end": 1776,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 1778,
"end": 1788,
"ctxt": 0
},
"value": "y",
"optional": true,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1780,
"end": 1788,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1782,
"end": 1788,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1790,
"end": 1799,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1793,
"end": 1799,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1833,
"end": 1926,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1843,
"end": 1846,
"ctxt": 0
},
"value": "I17",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1855,
"end": 1859,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1855,
"end": 1859,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1860,
"end": 1926,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1866,
"end": 1892,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1866,
"end": 1868,
"ctxt": 0
},
"value": "a5",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1868,
"end": 1891,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1870,
"end": 1891,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1871,
"end": 1880,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1872,
"end": 1880,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1874,
"end": 1880,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1882,
"end": 1891,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1885,
"end": 1891,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
},
{
"type": "TsInterfaceDeclaration",
"span": {
"start": 1928,
"end": 2030,
"ctxt": 0
},
"id": {
"type": "Identifier",
"span": {
"start": 1938,
"end": 1941,
"ctxt": 0
},
"value": "I18",
"optional": false
},
"declare": false,
"typeParams": null,
"extends": [
{
"type": "TsExpressionWithTypeArguments",
"span": {
"start": 1950,
"end": 1954,
"ctxt": 0
},
"expression": {
"type": "Identifier",
"span": {
"start": 1950,
"end": 1954,
"ctxt": 0
},
"value": "Base",
"optional": false
},
"typeArguments": null
}
],
"body": {
"type": "TsInterfaceBody",
"span": {
"start": 1955,
"end": 2030,
"ctxt": 0
},
"body": [
{
"type": "TsPropertySignature",
"span": {
"start": 1961,
"end": 1998,
"ctxt": 0
},
"readonly": false,
"key": {
"type": "Identifier",
"span": {
"start": 1961,
"end": 1963,
"ctxt": 0
},
"value": "a5",
"optional": false
},
"computed": false,
"optional": false,
"init": null,
"params": [],
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1963,
"end": 1997,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsFunctionType",
"span": {
"start": 1965,
"end": 1997,
"ctxt": 0
},
"params": [
{
"type": "Identifier",
"span": {
"start": 1966,
"end": 1975,
"ctxt": 0
},
"value": "x",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1967,
"end": 1975,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1969,
"end": 1975,
"ctxt": 0
},
"kind": "number"
}
}
},
{
"type": "Identifier",
"span": {
"start": 1977,
"end": 1986,
"ctxt": 0
},
"value": "y",
"optional": false,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1978,
"end": 1986,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1980,
"end": 1986,
"ctxt": 0
},
"kind": "number"
}
}
}
],
"typeParams": null,
"typeAnnotation": {
"type": "TsTypeAnnotation",
"span": {
"start": 1988,
"end": 1997,
"ctxt": 0
},
"typeAnnotation": {
"type": "TsKeywordType",
"span": {
"start": 1991,
"end": 1997,
"ctxt": 0
},
"kind": "number"
}
}
}
},
"typeParams": null
}
]
}
}
],
"interpreter": null
}