1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "TSInterfaceDeclaration", 6 "body": { 7 "type": "TSInterfaceBody", 8 "body": [ 9 { 10 "type": "TSPropertySignature", 11 "computed": false, 12 "optional": false, 13 "readonly": false, 14 "key": { 15 "type": "Identifier", 16 "name": "a", 17 "decorators": [], 18 "loc": { 19 "start": { 20 "line": 18, 21 "column": 5 22 }, 23 "end": { 24 "line": 18, 25 "column": 6 26 } 27 } 28 }, 29 "typeAnnotation": { 30 "type": "TSNumberKeyword", 31 "loc": { 32 "start": { 33 "line": 18, 34 "column": 8 35 }, 36 "end": { 37 "line": 18, 38 "column": 14 39 } 40 } 41 }, 42 "loc": { 43 "start": { 44 "line": 18, 45 "column": 5 46 }, 47 "end": { 48 "line": 18, 49 "column": 15 50 } 51 } 52 }, 53 { 54 "type": "TSPropertySignature", 55 "computed": false, 56 "optional": false, 57 "readonly": false, 58 "key": { 59 "type": "Identifier", 60 "name": "b", 61 "decorators": [], 62 "loc": { 63 "start": { 64 "line": 19, 65 "column": 5 66 }, 67 "end": { 68 "line": 19, 69 "column": 6 70 } 71 } 72 }, 73 "typeAnnotation": { 74 "type": "TSStringKeyword", 75 "loc": { 76 "start": { 77 "line": 19, 78 "column": 8 79 }, 80 "end": { 81 "line": 19, 82 "column": 14 83 } 84 } 85 }, 86 "loc": { 87 "start": { 88 "line": 19, 89 "column": 5 90 }, 91 "end": { 92 "line": 19, 93 "column": 15 94 } 95 } 96 }, 97 { 98 "type": "TSPropertySignature", 99 "computed": false, 100 "optional": false, 101 "readonly": false, 102 "key": { 103 "type": "Identifier", 104 "name": "c", 105 "decorators": [], 106 "loc": { 107 "start": { 108 "line": 20, 109 "column": 5 110 }, 111 "end": { 112 "line": 20, 113 "column": 6 114 } 115 } 116 }, 117 "typeAnnotation": { 118 "type": "TSBooleanKeyword", 119 "loc": { 120 "start": { 121 "line": 20, 122 "column": 8 123 }, 124 "end": { 125 "line": 20, 126 "column": 15 127 } 128 } 129 }, 130 "loc": { 131 "start": { 132 "line": 20, 133 "column": 5 134 }, 135 "end": { 136 "line": 20, 137 "column": 16 138 } 139 } 140 } 141 ], 142 "loc": { 143 "start": { 144 "line": 17, 145 "column": 13 146 }, 147 "end": { 148 "line": 21, 149 "column": 2 150 } 151 } 152 }, 153 "id": { 154 "type": "Identifier", 155 "name": "A", 156 "decorators": [], 157 "loc": { 158 "start": { 159 "line": 17, 160 "column": 11 161 }, 162 "end": { 163 "line": 17, 164 "column": 12 165 } 166 } 167 }, 168 "extends": [], 169 "loc": { 170 "start": { 171 "line": 17, 172 "column": 1 173 }, 174 "end": { 175 "line": 21, 176 "column": 2 177 } 178 } 179 }, 180 { 181 "type": "VariableDeclaration", 182 "declarations": [ 183 { 184 "type": "VariableDeclarator", 185 "id": { 186 "type": "Identifier", 187 "name": "a", 188 "typeAnnotation": { 189 "type": "TSTypeReference", 190 "typeName": { 191 "type": "Identifier", 192 "name": "A", 193 "decorators": [], 194 "loc": { 195 "start": { 196 "line": 23, 197 "column": 8 198 }, 199 "end": { 200 "line": 23, 201 "column": 9 202 } 203 } 204 }, 205 "loc": { 206 "start": { 207 "line": 23, 208 "column": 8 209 }, 210 "end": { 211 "line": 23, 212 "column": 9 213 } 214 } 215 }, 216 "decorators": [], 217 "loc": { 218 "start": { 219 "line": 23, 220 "column": 5 221 }, 222 "end": { 223 "line": 23, 224 "column": 6 225 } 226 } 227 }, 228 "init": { 229 "type": "ObjectExpression", 230 "properties": [ 231 { 232 "type": "Property", 233 "method": false, 234 "shorthand": false, 235 "computed": false, 236 "key": { 237 "type": "Identifier", 238 "name": "a", 239 "decorators": [], 240 "loc": { 241 "start": { 242 "line": 23, 243 "column": 14 244 }, 245 "end": { 246 "line": 23, 247 "column": 15 248 } 249 } 250 }, 251 "value": { 252 "type": "NumberLiteral", 253 "value": 1, 254 "loc": { 255 "start": { 256 "line": 23, 257 "column": 17 258 }, 259 "end": { 260 "line": 23, 261 "column": 18 262 } 263 } 264 }, 265 "kind": "init", 266 "loc": { 267 "start": { 268 "line": 23, 269 "column": 14 270 }, 271 "end": { 272 "line": 23, 273 "column": 18 274 } 275 } 276 }, 277 { 278 "type": "Property", 279 "method": false, 280 "shorthand": false, 281 "computed": false, 282 "key": { 283 "type": "Identifier", 284 "name": "b", 285 "decorators": [], 286 "loc": { 287 "start": { 288 "line": 23, 289 "column": 20 290 }, 291 "end": { 292 "line": 23, 293 "column": 21 294 } 295 } 296 }, 297 "value": { 298 "type": "StringLiteral", 299 "value": "foo", 300 "loc": { 301 "start": { 302 "line": 23, 303 "column": 23 304 }, 305 "end": { 306 "line": 23, 307 "column": 28 308 } 309 } 310 }, 311 "kind": "init", 312 "loc": { 313 "start": { 314 "line": 23, 315 "column": 20 316 }, 317 "end": { 318 "line": 23, 319 "column": 28 320 } 321 } 322 }, 323 { 324 "type": "Property", 325 "method": false, 326 "shorthand": false, 327 "computed": false, 328 "key": { 329 "type": "Identifier", 330 "name": "c", 331 "decorators": [], 332 "loc": { 333 "start": { 334 "line": 23, 335 "column": 30 336 }, 337 "end": { 338 "line": 23, 339 "column": 31 340 } 341 } 342 }, 343 "value": { 344 "type": "BooleanLiteral", 345 "value": true, 346 "loc": { 347 "start": { 348 "line": 23, 349 "column": 33 350 }, 351 "end": { 352 "line": 23, 353 "column": 37 354 } 355 } 356 }, 357 "kind": "init", 358 "loc": { 359 "start": { 360 "line": 23, 361 "column": 30 362 }, 363 "end": { 364 "line": 23, 365 "column": 37 366 } 367 } 368 } 369 ], 370 "loc": { 371 "start": { 372 "line": 23, 373 "column": 12 374 }, 375 "end": { 376 "line": 23, 377 "column": 39 378 } 379 } 380 }, 381 "loc": { 382 "start": { 383 "line": 23, 384 "column": 5 385 }, 386 "end": { 387 "line": 23, 388 "column": 39 389 } 390 } 391 } 392 ], 393 "kind": "var", 394 "loc": { 395 "start": { 396 "line": 23, 397 "column": 1 398 }, 399 "end": { 400 "line": 23, 401 "column": 40 402 } 403 } 404 }, 405 { 406 "type": "TSInterfaceDeclaration", 407 "body": { 408 "type": "TSInterfaceBody", 409 "body": [ 410 { 411 "type": "TSMethodSignature", 412 "computed": false, 413 "optional": false, 414 "key": { 415 "type": "Identifier", 416 "name": "d", 417 "decorators": [], 418 "loc": { 419 "start": { 420 "line": 26, 421 "column": 5 422 }, 423 "end": { 424 "line": 26, 425 "column": 6 426 } 427 } 428 }, 429 "params": [ 430 { 431 "type": "Identifier", 432 "name": "a", 433 "typeAnnotation": { 434 "type": "TSNumberKeyword", 435 "loc": { 436 "start": { 437 "line": 26, 438 "column": 10 439 }, 440 "end": { 441 "line": 26, 442 "column": 16 443 } 444 } 445 }, 446 "decorators": [], 447 "loc": { 448 "start": { 449 "line": 26, 450 "column": 7 451 }, 452 "end": { 453 "line": 26, 454 "column": 8 455 } 456 } 457 }, 458 { 459 "type": "Identifier", 460 "name": "b", 461 "typeAnnotation": { 462 "type": "TSStringKeyword", 463 "loc": { 464 "start": { 465 "line": 26, 466 "column": 21 467 }, 468 "end": { 469 "line": 26, 470 "column": 27 471 } 472 } 473 }, 474 "decorators": [], 475 "loc": { 476 "start": { 477 "line": 26, 478 "column": 18 479 }, 480 "end": { 481 "line": 26, 482 "column": 19 483 } 484 } 485 } 486 ], 487 "typeAnnotation": { 488 "type": "TSArrayType", 489 "elementType": { 490 "type": "TSNumberKeyword", 491 "loc": { 492 "start": { 493 "line": 26, 494 "column": 30 495 }, 496 "end": { 497 "line": 26, 498 "column": 36 499 } 500 } 501 }, 502 "loc": { 503 "start": { 504 "line": 26, 505 "column": 30 506 }, 507 "end": { 508 "line": 26, 509 "column": 38 510 } 511 } 512 }, 513 "loc": { 514 "start": { 515 "line": 26, 516 "column": 5 517 }, 518 "end": { 519 "line": 26, 520 "column": 39 521 } 522 } 523 } 524 ], 525 "loc": { 526 "start": { 527 "line": 25, 528 "column": 23 529 }, 530 "end": { 531 "line": 27, 532 "column": 2 533 } 534 } 535 }, 536 "id": { 537 "type": "Identifier", 538 "name": "B", 539 "decorators": [], 540 "loc": { 541 "start": { 542 "line": 25, 543 "column": 11 544 }, 545 "end": { 546 "line": 25, 547 "column": 12 548 } 549 } 550 }, 551 "extends": [ 552 { 553 "type": "TSInterfaceHeritage", 554 "expression": { 555 "type": "TSTypeReference", 556 "typeName": { 557 "type": "Identifier", 558 "name": "A", 559 "decorators": [], 560 "loc": { 561 "start": { 562 "line": 25, 563 "column": 21 564 }, 565 "end": { 566 "line": 25, 567 "column": 22 568 } 569 } 570 }, 571 "loc": { 572 "start": { 573 "line": 25, 574 "column": 23 575 }, 576 "end": { 577 "line": 25, 578 "column": 22 579 } 580 } 581 }, 582 "loc": { 583 "start": { 584 "line": 25, 585 "column": 23 586 }, 587 "end": { 588 "line": 25, 589 "column": 22 590 } 591 } 592 } 593 ], 594 "loc": { 595 "start": { 596 "line": 25, 597 "column": 1 598 }, 599 "end": { 600 "line": 27, 601 "column": 2 602 } 603 } 604 }, 605 { 606 "type": "VariableDeclaration", 607 "declarations": [ 608 { 609 "type": "VariableDeclarator", 610 "id": { 611 "type": "Identifier", 612 "name": "b", 613 "typeAnnotation": { 614 "type": "TSTypeReference", 615 "typeName": { 616 "type": "Identifier", 617 "name": "B", 618 "decorators": [], 619 "loc": { 620 "start": { 621 "line": 29, 622 "column": 8 623 }, 624 "end": { 625 "line": 29, 626 "column": 9 627 } 628 } 629 }, 630 "loc": { 631 "start": { 632 "line": 29, 633 "column": 8 634 }, 635 "end": { 636 "line": 29, 637 "column": 9 638 } 639 } 640 }, 641 "decorators": [], 642 "loc": { 643 "start": { 644 "line": 29, 645 "column": 5 646 }, 647 "end": { 648 "line": 29, 649 "column": 6 650 } 651 } 652 }, 653 "init": { 654 "type": "ObjectExpression", 655 "properties": [ 656 { 657 "type": "Property", 658 "method": false, 659 "shorthand": false, 660 "computed": false, 661 "key": { 662 "type": "Identifier", 663 "name": "a", 664 "decorators": [], 665 "loc": { 666 "start": { 667 "line": 30, 668 "column": 5 669 }, 670 "end": { 671 "line": 30, 672 "column": 6 673 } 674 } 675 }, 676 "value": { 677 "type": "NumberLiteral", 678 "value": 2, 679 "loc": { 680 "start": { 681 "line": 30, 682 "column": 8 683 }, 684 "end": { 685 "line": 30, 686 "column": 9 687 } 688 } 689 }, 690 "kind": "init", 691 "loc": { 692 "start": { 693 "line": 30, 694 "column": 5 695 }, 696 "end": { 697 "line": 30, 698 "column": 9 699 } 700 } 701 }, 702 { 703 "type": "Property", 704 "method": false, 705 "shorthand": false, 706 "computed": false, 707 "key": { 708 "type": "Identifier", 709 "name": "b", 710 "decorators": [], 711 "loc": { 712 "start": { 713 "line": 30, 714 "column": 11 715 }, 716 "end": { 717 "line": 30, 718 "column": 12 719 } 720 } 721 }, 722 "value": { 723 "type": "StringLiteral", 724 "value": "bar", 725 "loc": { 726 "start": { 727 "line": 30, 728 "column": 14 729 }, 730 "end": { 731 "line": 30, 732 "column": 19 733 } 734 } 735 }, 736 "kind": "init", 737 "loc": { 738 "start": { 739 "line": 30, 740 "column": 11 741 }, 742 "end": { 743 "line": 30, 744 "column": 19 745 } 746 } 747 }, 748 { 749 "type": "Property", 750 "method": false, 751 "shorthand": false, 752 "computed": false, 753 "key": { 754 "type": "Identifier", 755 "name": "c", 756 "decorators": [], 757 "loc": { 758 "start": { 759 "line": 30, 760 "column": 21 761 }, 762 "end": { 763 "line": 30, 764 "column": 22 765 } 766 } 767 }, 768 "value": { 769 "type": "BooleanLiteral", 770 "value": false, 771 "loc": { 772 "start": { 773 "line": 30, 774 "column": 24 775 }, 776 "end": { 777 "line": 30, 778 "column": 29 779 } 780 } 781 }, 782 "kind": "init", 783 "loc": { 784 "start": { 785 "line": 30, 786 "column": 21 787 }, 788 "end": { 789 "line": 30, 790 "column": 29 791 } 792 } 793 }, 794 { 795 "type": "Property", 796 "method": false, 797 "shorthand": false, 798 "computed": false, 799 "key": { 800 "type": "Identifier", 801 "name": "d", 802 "decorators": [], 803 "loc": { 804 "start": { 805 "line": 30, 806 "column": 31 807 }, 808 "end": { 809 "line": 30, 810 "column": 32 811 } 812 } 813 }, 814 "value": { 815 "type": "FunctionExpression", 816 "function": { 817 "type": "ScriptFunction", 818 "id": null, 819 "generator": false, 820 "async": false, 821 "expression": false, 822 "params": [ 823 { 824 "type": "Identifier", 825 "name": "a", 826 "typeAnnotation": { 827 "type": "TSNumberKeyword", 828 "loc": { 829 "start": { 830 "line": 30, 831 "column": 47 832 }, 833 "end": { 834 "line": 30, 835 "column": 53 836 } 837 } 838 }, 839 "decorators": [], 840 "loc": { 841 "start": { 842 "line": 30, 843 "column": 44 844 }, 845 "end": { 846 "line": 30, 847 "column": 45 848 } 849 } 850 }, 851 { 852 "type": "Identifier", 853 "name": "b", 854 "typeAnnotation": { 855 "type": "TSStringKeyword", 856 "loc": { 857 "start": { 858 "line": 30, 859 "column": 58 860 }, 861 "end": { 862 "line": 30, 863 "column": 64 864 } 865 } 866 }, 867 "decorators": [], 868 "loc": { 869 "start": { 870 "line": 30, 871 "column": 55 872 }, 873 "end": { 874 "line": 30, 875 "column": 56 876 } 877 } 878 } 879 ], 880 "body": { 881 "type": "BlockStatement", 882 "statements": [ 883 { 884 "type": "ReturnStatement", 885 "argument": { 886 "type": "ArrayExpression", 887 "elements": [ 888 { 889 "type": "NumberLiteral", 890 "value": 1, 891 "loc": { 892 "start": { 893 "line": 31, 894 "column": 17 895 }, 896 "end": { 897 "line": 31, 898 "column": 18 899 } 900 } 901 }, 902 { 903 "type": "NumberLiteral", 904 "value": 2, 905 "loc": { 906 "start": { 907 "line": 31, 908 "column": 20 909 }, 910 "end": { 911 "line": 31, 912 "column": 21 913 } 914 } 915 } 916 ], 917 "loc": { 918 "start": { 919 "line": 31, 920 "column": 16 921 }, 922 "end": { 923 "line": 31, 924 "column": 22 925 } 926 } 927 }, 928 "loc": { 929 "start": { 930 "line": 31, 931 "column": 9 932 }, 933 "end": { 934 "line": 31, 935 "column": 23 936 } 937 } 938 } 939 ], 940 "loc": { 941 "start": { 942 "line": 30, 943 "column": 66 944 }, 945 "end": { 946 "line": 32, 947 "column": 6 948 } 949 } 950 }, 951 "loc": { 952 "start": { 953 "line": 30, 954 "column": 34 955 }, 956 "end": { 957 "line": 32, 958 "column": 6 959 } 960 } 961 }, 962 "loc": { 963 "start": { 964 "line": 30, 965 "column": 34 966 }, 967 "end": { 968 "line": 32, 969 "column": 6 970 } 971 } 972 }, 973 "kind": "init", 974 "loc": { 975 "start": { 976 "line": 30, 977 "column": 31 978 }, 979 "end": { 980 "line": 32, 981 "column": 6 982 } 983 } 984 } 985 ], 986 "loc": { 987 "start": { 988 "line": 29, 989 "column": 12 990 }, 991 "end": { 992 "line": 33, 993 "column": 2 994 } 995 } 996 }, 997 "loc": { 998 "start": { 999 "line": 29, 1000 "column": 5 1001 }, 1002 "end": { 1003 "line": 33, 1004 "column": 2 1005 } 1006 } 1007 } 1008 ], 1009 "kind": "var", 1010 "loc": { 1011 "start": { 1012 "line": 29, 1013 "column": 1 1014 }, 1015 "end": { 1016 "line": 33, 1017 "column": 2 1018 } 1019 } 1020 }, 1021 { 1022 "type": "TSInterfaceDeclaration", 1023 "body": { 1024 "type": "TSInterfaceBody", 1025 "body": [ 1026 { 1027 "type": "TSCallSignatureDeclaration", 1028 "params": [ 1029 { 1030 "type": "Identifier", 1031 "name": "a", 1032 "typeAnnotation": { 1033 "type": "TSNumberKeyword", 1034 "loc": { 1035 "start": { 1036 "line": 37, 1037 "column": 9 1038 }, 1039 "end": { 1040 "line": 37, 1041 "column": 15 1042 } 1043 } 1044 }, 1045 "decorators": [], 1046 "loc": { 1047 "start": { 1048 "line": 37, 1049 "column": 6 1050 }, 1051 "end": { 1052 "line": 37, 1053 "column": 7 1054 } 1055 } 1056 }, 1057 { 1058 "type": "Identifier", 1059 "name": "b", 1060 "typeAnnotation": { 1061 "type": "TSNumberKeyword", 1062 "loc": { 1063 "start": { 1064 "line": 37, 1065 "column": 20 1066 }, 1067 "end": { 1068 "line": 37, 1069 "column": 26 1070 } 1071 } 1072 }, 1073 "decorators": [], 1074 "loc": { 1075 "start": { 1076 "line": 37, 1077 "column": 17 1078 }, 1079 "end": { 1080 "line": 37, 1081 "column": 18 1082 } 1083 } 1084 } 1085 ], 1086 "returnType": { 1087 "type": "TSStringKeyword", 1088 "loc": { 1089 "start": { 1090 "line": 37, 1091 "column": 29 1092 }, 1093 "end": { 1094 "line": 37, 1095 "column": 35 1096 } 1097 } 1098 }, 1099 "loc": { 1100 "start": { 1101 "line": 37, 1102 "column": 5 1103 }, 1104 "end": { 1105 "line": 37, 1106 "column": 36 1107 } 1108 } 1109 } 1110 ], 1111 "loc": { 1112 "start": { 1113 "line": 36, 1114 "column": 14 1115 }, 1116 "end": { 1117 "line": 38, 1118 "column": 2 1119 } 1120 } 1121 }, 1122 "id": { 1123 "type": "Identifier", 1124 "name": "C1", 1125 "decorators": [], 1126 "loc": { 1127 "start": { 1128 "line": 36, 1129 "column": 11 1130 }, 1131 "end": { 1132 "line": 36, 1133 "column": 13 1134 } 1135 } 1136 }, 1137 "extends": [], 1138 "loc": { 1139 "start": { 1140 "line": 36, 1141 "column": 1 1142 }, 1143 "end": { 1144 "line": 38, 1145 "column": 2 1146 } 1147 } 1148 }, 1149 { 1150 "type": "TSInterfaceDeclaration", 1151 "body": { 1152 "type": "TSInterfaceBody", 1153 "body": [ 1154 { 1155 "type": "TSCallSignatureDeclaration", 1156 "params": [ 1157 { 1158 "type": "Identifier", 1159 "name": "a", 1160 "typeAnnotation": { 1161 "type": "TSNumberKeyword", 1162 "loc": { 1163 "start": { 1164 "line": 41, 1165 "column": 9 1166 }, 1167 "end": { 1168 "line": 41, 1169 "column": 15 1170 } 1171 } 1172 }, 1173 "decorators": [], 1174 "loc": { 1175 "start": { 1176 "line": 41, 1177 "column": 6 1178 }, 1179 "end": { 1180 "line": 41, 1181 "column": 7 1182 } 1183 } 1184 }, 1185 { 1186 "type": "Identifier", 1187 "name": "b", 1188 "typeAnnotation": { 1189 "type": "TSNumberKeyword", 1190 "loc": { 1191 "start": { 1192 "line": 41, 1193 "column": 20 1194 }, 1195 "end": { 1196 "line": 41, 1197 "column": 26 1198 } 1199 } 1200 }, 1201 "decorators": [], 1202 "loc": { 1203 "start": { 1204 "line": 41, 1205 "column": 17 1206 }, 1207 "end": { 1208 "line": 41, 1209 "column": 18 1210 } 1211 } 1212 } 1213 ], 1214 "returnType": { 1215 "type": "TSStringKeyword", 1216 "loc": { 1217 "start": { 1218 "line": 41, 1219 "column": 29 1220 }, 1221 "end": { 1222 "line": 41, 1223 "column": 35 1224 } 1225 } 1226 }, 1227 "loc": { 1228 "start": { 1229 "line": 41, 1230 "column": 5 1231 }, 1232 "end": { 1233 "line": 41, 1234 "column": 36 1235 } 1236 } 1237 }, 1238 { 1239 "type": "TSCallSignatureDeclaration", 1240 "params": [ 1241 { 1242 "type": "Identifier", 1243 "name": "a", 1244 "typeAnnotation": { 1245 "type": "TSNumberKeyword", 1246 "loc": { 1247 "start": { 1248 "line": 42, 1249 "column": 9 1250 }, 1251 "end": { 1252 "line": 42, 1253 "column": 15 1254 } 1255 } 1256 }, 1257 "decorators": [], 1258 "loc": { 1259 "start": { 1260 "line": 42, 1261 "column": 6 1262 }, 1263 "end": { 1264 "line": 42, 1265 "column": 7 1266 } 1267 } 1268 }, 1269 { 1270 "type": "Identifier", 1271 "name": "b", 1272 "typeAnnotation": { 1273 "type": "TSNumberKeyword", 1274 "loc": { 1275 "start": { 1276 "line": 42, 1277 "column": 20 1278 }, 1279 "end": { 1280 "line": 42, 1281 "column": 26 1282 } 1283 } 1284 }, 1285 "decorators": [], 1286 "loc": { 1287 "start": { 1288 "line": 42, 1289 "column": 17 1290 }, 1291 "end": { 1292 "line": 42, 1293 "column": 18 1294 } 1295 } 1296 } 1297 ], 1298 "returnType": { 1299 "type": "TSStringKeyword", 1300 "loc": { 1301 "start": { 1302 "line": 42, 1303 "column": 29 1304 }, 1305 "end": { 1306 "line": 42, 1307 "column": 35 1308 } 1309 } 1310 }, 1311 "loc": { 1312 "start": { 1313 "line": 42, 1314 "column": 5 1315 }, 1316 "end": { 1317 "line": 42, 1318 "column": 36 1319 } 1320 } 1321 }, 1322 { 1323 "type": "TSCallSignatureDeclaration", 1324 "params": [ 1325 { 1326 "type": "Identifier", 1327 "name": "a", 1328 "typeAnnotation": { 1329 "type": "TSNumberKeyword", 1330 "loc": { 1331 "start": { 1332 "line": 43, 1333 "column": 9 1334 }, 1335 "end": { 1336 "line": 43, 1337 "column": 15 1338 } 1339 } 1340 }, 1341 "decorators": [], 1342 "loc": { 1343 "start": { 1344 "line": 43, 1345 "column": 6 1346 }, 1347 "end": { 1348 "line": 43, 1349 "column": 7 1350 } 1351 } 1352 }, 1353 { 1354 "type": "Identifier", 1355 "name": "b", 1356 "typeAnnotation": { 1357 "type": "TSNumberKeyword", 1358 "loc": { 1359 "start": { 1360 "line": 43, 1361 "column": 20 1362 }, 1363 "end": { 1364 "line": 43, 1365 "column": 26 1366 } 1367 } 1368 }, 1369 "decorators": [], 1370 "loc": { 1371 "start": { 1372 "line": 43, 1373 "column": 17 1374 }, 1375 "end": { 1376 "line": 43, 1377 "column": 18 1378 } 1379 } 1380 } 1381 ], 1382 "returnType": { 1383 "type": "TSStringKeyword", 1384 "loc": { 1385 "start": { 1386 "line": 43, 1387 "column": 29 1388 }, 1389 "end": { 1390 "line": 43, 1391 "column": 35 1392 } 1393 } 1394 }, 1395 "loc": { 1396 "start": { 1397 "line": 43, 1398 "column": 5 1399 }, 1400 "end": { 1401 "line": 43, 1402 "column": 36 1403 } 1404 } 1405 } 1406 ], 1407 "loc": { 1408 "start": { 1409 "line": 40, 1410 "column": 14 1411 }, 1412 "end": { 1413 "line": 44, 1414 "column": 2 1415 } 1416 } 1417 }, 1418 "id": { 1419 "type": "Identifier", 1420 "name": "C2", 1421 "decorators": [], 1422 "loc": { 1423 "start": { 1424 "line": 40, 1425 "column": 11 1426 }, 1427 "end": { 1428 "line": 40, 1429 "column": 13 1430 } 1431 } 1432 }, 1433 "extends": [], 1434 "loc": { 1435 "start": { 1436 "line": 40, 1437 "column": 1 1438 }, 1439 "end": { 1440 "line": 44, 1441 "column": 2 1442 } 1443 } 1444 }, 1445 { 1446 "type": "TSInterfaceDeclaration", 1447 "body": { 1448 "type": "TSInterfaceBody", 1449 "body": [ 1450 { 1451 "type": "TSCallSignatureDeclaration", 1452 "params": [ 1453 { 1454 "type": "Identifier", 1455 "name": "a", 1456 "typeAnnotation": { 1457 "type": "TSNumberKeyword", 1458 "loc": { 1459 "start": { 1460 "line": 47, 1461 "column": 9 1462 }, 1463 "end": { 1464 "line": 47, 1465 "column": 15 1466 } 1467 } 1468 }, 1469 "decorators": [], 1470 "loc": { 1471 "start": { 1472 "line": 47, 1473 "column": 6 1474 }, 1475 "end": { 1476 "line": 47, 1477 "column": 7 1478 } 1479 } 1480 }, 1481 { 1482 "type": "Identifier", 1483 "name": "b", 1484 "typeAnnotation": { 1485 "type": "TSNumberKeyword", 1486 "loc": { 1487 "start": { 1488 "line": 47, 1489 "column": 20 1490 }, 1491 "end": { 1492 "line": 47, 1493 "column": 26 1494 } 1495 } 1496 }, 1497 "decorators": [], 1498 "loc": { 1499 "start": { 1500 "line": 47, 1501 "column": 17 1502 }, 1503 "end": { 1504 "line": 47, 1505 "column": 18 1506 } 1507 } 1508 } 1509 ], 1510 "returnType": { 1511 "type": "TSStringKeyword", 1512 "loc": { 1513 "start": { 1514 "line": 47, 1515 "column": 29 1516 }, 1517 "end": { 1518 "line": 47, 1519 "column": 35 1520 } 1521 } 1522 }, 1523 "loc": { 1524 "start": { 1525 "line": 47, 1526 "column": 5 1527 }, 1528 "end": { 1529 "line": 47, 1530 "column": 36 1531 } 1532 } 1533 }, 1534 { 1535 "type": "TSCallSignatureDeclaration", 1536 "params": [ 1537 { 1538 "type": "Identifier", 1539 "name": "a", 1540 "typeAnnotation": { 1541 "type": "TSNumberKeyword", 1542 "loc": { 1543 "start": { 1544 "line": 48, 1545 "column": 9 1546 }, 1547 "end": { 1548 "line": 48, 1549 "column": 15 1550 } 1551 } 1552 }, 1553 "decorators": [], 1554 "loc": { 1555 "start": { 1556 "line": 48, 1557 "column": 6 1558 }, 1559 "end": { 1560 "line": 48, 1561 "column": 7 1562 } 1563 } 1564 }, 1565 { 1566 "type": "Identifier", 1567 "name": "b", 1568 "typeAnnotation": { 1569 "type": "TSNumberKeyword", 1570 "loc": { 1571 "start": { 1572 "line": 48, 1573 "column": 20 1574 }, 1575 "end": { 1576 "line": 48, 1577 "column": 26 1578 } 1579 } 1580 }, 1581 "decorators": [], 1582 "loc": { 1583 "start": { 1584 "line": 48, 1585 "column": 17 1586 }, 1587 "end": { 1588 "line": 48, 1589 "column": 18 1590 } 1591 } 1592 } 1593 ], 1594 "returnType": { 1595 "type": "TSStringKeyword", 1596 "loc": { 1597 "start": { 1598 "line": 48, 1599 "column": 29 1600 }, 1601 "end": { 1602 "line": 48, 1603 "column": 35 1604 } 1605 } 1606 }, 1607 "loc": { 1608 "start": { 1609 "line": 48, 1610 "column": 5 1611 }, 1612 "end": { 1613 "line": 48, 1614 "column": 36 1615 } 1616 } 1617 } 1618 ], 1619 "loc": { 1620 "start": { 1621 "line": 46, 1622 "column": 25 1623 }, 1624 "end": { 1625 "line": 49, 1626 "column": 2 1627 } 1628 } 1629 }, 1630 "id": { 1631 "type": "Identifier", 1632 "name": "C3", 1633 "decorators": [], 1634 "loc": { 1635 "start": { 1636 "line": 46, 1637 "column": 11 1638 }, 1639 "end": { 1640 "line": 46, 1641 "column": 13 1642 } 1643 } 1644 }, 1645 "extends": [ 1646 { 1647 "type": "TSInterfaceHeritage", 1648 "expression": { 1649 "type": "TSTypeReference", 1650 "typeName": { 1651 "type": "Identifier", 1652 "name": "C1", 1653 "decorators": [], 1654 "loc": { 1655 "start": { 1656 "line": 46, 1657 "column": 22 1658 }, 1659 "end": { 1660 "line": 46, 1661 "column": 24 1662 } 1663 } 1664 }, 1665 "loc": { 1666 "start": { 1667 "line": 46, 1668 "column": 25 1669 }, 1670 "end": { 1671 "line": 46, 1672 "column": 24 1673 } 1674 } 1675 }, 1676 "loc": { 1677 "start": { 1678 "line": 46, 1679 "column": 25 1680 }, 1681 "end": { 1682 "line": 46, 1683 "column": 24 1684 } 1685 } 1686 } 1687 ], 1688 "loc": { 1689 "start": { 1690 "line": 46, 1691 "column": 1 1692 }, 1693 "end": { 1694 "line": 49, 1695 "column": 2 1696 } 1697 } 1698 }, 1699 { 1700 "type": "VariableDeclaration", 1701 "declarations": [ 1702 { 1703 "type": "VariableDeclarator", 1704 "id": { 1705 "type": "Identifier", 1706 "name": "c", 1707 "typeAnnotation": { 1708 "type": "TSTypeReference", 1709 "typeName": { 1710 "type": "Identifier", 1711 "name": "C2", 1712 "decorators": [], 1713 "loc": { 1714 "start": { 1715 "line": 51, 1716 "column": 8 1717 }, 1718 "end": { 1719 "line": 51, 1720 "column": 10 1721 } 1722 } 1723 }, 1724 "loc": { 1725 "start": { 1726 "line": 51, 1727 "column": 8 1728 }, 1729 "end": { 1730 "line": 51, 1731 "column": 10 1732 } 1733 } 1734 }, 1735 "decorators": [], 1736 "loc": { 1737 "start": { 1738 "line": 51, 1739 "column": 5 1740 }, 1741 "end": { 1742 "line": 51, 1743 "column": 6 1744 } 1745 } 1746 }, 1747 "init": null, 1748 "loc": { 1749 "start": { 1750 "line": 51, 1751 "column": 5 1752 }, 1753 "end": { 1754 "line": 51, 1755 "column": 6 1756 } 1757 } 1758 } 1759 ], 1760 "kind": "var", 1761 "loc": { 1762 "start": { 1763 "line": 51, 1764 "column": 1 1765 }, 1766 "end": { 1767 "line": 51, 1768 "column": 11 1769 } 1770 } 1771 }, 1772 { 1773 "type": "VariableDeclaration", 1774 "declarations": [ 1775 { 1776 "type": "VariableDeclarator", 1777 "id": { 1778 "type": "Identifier", 1779 "name": "c", 1780 "typeAnnotation": { 1781 "type": "TSTypeReference", 1782 "typeName": { 1783 "type": "Identifier", 1784 "name": "C3", 1785 "decorators": [], 1786 "loc": { 1787 "start": { 1788 "line": 52, 1789 "column": 8 1790 }, 1791 "end": { 1792 "line": 52, 1793 "column": 10 1794 } 1795 } 1796 }, 1797 "loc": { 1798 "start": { 1799 "line": 52, 1800 "column": 8 1801 }, 1802 "end": { 1803 "line": 52, 1804 "column": 10 1805 } 1806 } 1807 }, 1808 "decorators": [], 1809 "loc": { 1810 "start": { 1811 "line": 52, 1812 "column": 5 1813 }, 1814 "end": { 1815 "line": 52, 1816 "column": 6 1817 } 1818 } 1819 }, 1820 "init": null, 1821 "loc": { 1822 "start": { 1823 "line": 52, 1824 "column": 5 1825 }, 1826 "end": { 1827 "line": 52, 1828 "column": 6 1829 } 1830 } 1831 } 1832 ], 1833 "kind": "var", 1834 "loc": { 1835 "start": { 1836 "line": 52, 1837 "column": 1 1838 }, 1839 "end": { 1840 "line": 52, 1841 "column": 11 1842 } 1843 } 1844 }, 1845 { 1846 "type": "TSInterfaceDeclaration", 1847 "body": { 1848 "type": "TSInterfaceBody", 1849 "body": [ 1850 { 1851 "type": "TSPropertySignature", 1852 "computed": false, 1853 "optional": false, 1854 "readonly": false, 1855 "key": { 1856 "type": "Identifier", 1857 "name": "d", 1858 "decorators": [], 1859 "loc": { 1860 "start": { 1861 "line": 55, 1862 "column": 5 1863 }, 1864 "end": { 1865 "line": 55, 1866 "column": 6 1867 } 1868 } 1869 }, 1870 "typeAnnotation": { 1871 "type": "TSArrayType", 1872 "elementType": { 1873 "type": "TSStringKeyword", 1874 "loc": { 1875 "start": { 1876 "line": 55, 1877 "column": 8 1878 }, 1879 "end": { 1880 "line": 55, 1881 "column": 14 1882 } 1883 } 1884 }, 1885 "loc": { 1886 "start": { 1887 "line": 55, 1888 "column": 8 1889 }, 1890 "end": { 1891 "line": 55, 1892 "column": 16 1893 } 1894 } 1895 }, 1896 "loc": { 1897 "start": { 1898 "line": 55, 1899 "column": 5 1900 }, 1901 "end": { 1902 "line": 56, 1903 "column": 2 1904 } 1905 } 1906 } 1907 ], 1908 "loc": { 1909 "start": { 1910 "line": 54, 1911 "column": 29 1912 }, 1913 "end": { 1914 "line": 56, 1915 "column": 2 1916 } 1917 } 1918 }, 1919 "id": { 1920 "type": "Identifier", 1921 "name": "D4", 1922 "decorators": [], 1923 "loc": { 1924 "start": { 1925 "line": 54, 1926 "column": 11 1927 }, 1928 "end": { 1929 "line": 54, 1930 "column": 13 1931 } 1932 } 1933 }, 1934 "extends": [ 1935 { 1936 "type": "TSInterfaceHeritage", 1937 "expression": { 1938 "type": "TSTypeReference", 1939 "typeName": { 1940 "type": "Identifier", 1941 "name": "D3", 1942 "decorators": [], 1943 "loc": { 1944 "start": { 1945 "line": 54, 1946 "column": 22 1947 }, 1948 "end": { 1949 "line": 54, 1950 "column": 24 1951 } 1952 } 1953 }, 1954 "loc": { 1955 "start": { 1956 "line": 54, 1957 "column": 24 1958 }, 1959 "end": { 1960 "line": 54, 1961 "column": 24 1962 } 1963 } 1964 }, 1965 "loc": { 1966 "start": { 1967 "line": 54, 1968 "column": 24 1969 }, 1970 "end": { 1971 "line": 54, 1972 "column": 24 1973 } 1974 } 1975 }, 1976 { 1977 "type": "TSInterfaceHeritage", 1978 "expression": { 1979 "type": "TSTypeReference", 1980 "typeName": { 1981 "type": "Identifier", 1982 "name": "D2", 1983 "decorators": [], 1984 "loc": { 1985 "start": { 1986 "line": 54, 1987 "column": 26 1988 }, 1989 "end": { 1990 "line": 54, 1991 "column": 28 1992 } 1993 } 1994 }, 1995 "loc": { 1996 "start": { 1997 "line": 54, 1998 "column": 29 1999 }, 2000 "end": { 2001 "line": 54, 2002 "column": 28 2003 } 2004 } 2005 }, 2006 "loc": { 2007 "start": { 2008 "line": 54, 2009 "column": 29 2010 }, 2011 "end": { 2012 "line": 54, 2013 "column": 28 2014 } 2015 } 2016 } 2017 ], 2018 "loc": { 2019 "start": { 2020 "line": 54, 2021 "column": 1 2022 }, 2023 "end": { 2024 "line": 56, 2025 "column": 2 2026 } 2027 } 2028 }, 2029 { 2030 "type": "TSInterfaceDeclaration", 2031 "body": { 2032 "type": "TSInterfaceBody", 2033 "body": [ 2034 { 2035 "type": "TSPropertySignature", 2036 "computed": false, 2037 "optional": false, 2038 "readonly": false, 2039 "key": { 2040 "type": "Identifier", 2041 "name": "a", 2042 "decorators": [], 2043 "loc": { 2044 "start": { 2045 "line": 59, 2046 "column": 5 2047 }, 2048 "end": { 2049 "line": 59, 2050 "column": 6 2051 } 2052 } 2053 }, 2054 "typeAnnotation": { 2055 "type": "TSNumberKeyword", 2056 "loc": { 2057 "start": { 2058 "line": 59, 2059 "column": 8 2060 }, 2061 "end": { 2062 "line": 59, 2063 "column": 14 2064 } 2065 } 2066 }, 2067 "loc": { 2068 "start": { 2069 "line": 59, 2070 "column": 5 2071 }, 2072 "end": { 2073 "line": 60, 2074 "column": 2 2075 } 2076 } 2077 } 2078 ], 2079 "loc": { 2080 "start": { 2081 "line": 58, 2082 "column": 14 2083 }, 2084 "end": { 2085 "line": 60, 2086 "column": 2 2087 } 2088 } 2089 }, 2090 "id": { 2091 "type": "Identifier", 2092 "name": "D1", 2093 "decorators": [], 2094 "loc": { 2095 "start": { 2096 "line": 58, 2097 "column": 11 2098 }, 2099 "end": { 2100 "line": 58, 2101 "column": 13 2102 } 2103 } 2104 }, 2105 "extends": [], 2106 "loc": { 2107 "start": { 2108 "line": 58, 2109 "column": 1 2110 }, 2111 "end": { 2112 "line": 60, 2113 "column": 2 2114 } 2115 } 2116 }, 2117 { 2118 "type": "TSInterfaceDeclaration", 2119 "body": { 2120 "type": "TSInterfaceBody", 2121 "body": [ 2122 { 2123 "type": "TSPropertySignature", 2124 "computed": false, 2125 "optional": false, 2126 "readonly": false, 2127 "key": { 2128 "type": "Identifier", 2129 "name": "c", 2130 "decorators": [], 2131 "loc": { 2132 "start": { 2133 "line": 63, 2134 "column": 5 2135 }, 2136 "end": { 2137 "line": 63, 2138 "column": 6 2139 } 2140 } 2141 }, 2142 "typeAnnotation": { 2143 "type": "TSStringKeyword", 2144 "loc": { 2145 "start": { 2146 "line": 63, 2147 "column": 8 2148 }, 2149 "end": { 2150 "line": 63, 2151 "column": 14 2152 } 2153 } 2154 }, 2155 "loc": { 2156 "start": { 2157 "line": 63, 2158 "column": 5 2159 }, 2160 "end": { 2161 "line": 63, 2162 "column": 15 2163 } 2164 } 2165 } 2166 ], 2167 "loc": { 2168 "start": { 2169 "line": 62, 2170 "column": 14 2171 }, 2172 "end": { 2173 "line": 64, 2174 "column": 2 2175 } 2176 } 2177 }, 2178 "id": { 2179 "type": "Identifier", 2180 "name": "D3", 2181 "decorators": [], 2182 "loc": { 2183 "start": { 2184 "line": 62, 2185 "column": 11 2186 }, 2187 "end": { 2188 "line": 62, 2189 "column": 13 2190 } 2191 } 2192 }, 2193 "extends": [], 2194 "loc": { 2195 "start": { 2196 "line": 62, 2197 "column": 1 2198 }, 2199 "end": { 2200 "line": 64, 2201 "column": 2 2202 } 2203 } 2204 }, 2205 { 2206 "type": "TSInterfaceDeclaration", 2207 "body": { 2208 "type": "TSInterfaceBody", 2209 "body": [ 2210 { 2211 "type": "TSPropertySignature", 2212 "computed": false, 2213 "optional": false, 2214 "readonly": false, 2215 "key": { 2216 "type": "Identifier", 2217 "name": "b", 2218 "decorators": [], 2219 "loc": { 2220 "start": { 2221 "line": 67, 2222 "column": 5 2223 }, 2224 "end": { 2225 "line": 67, 2226 "column": 6 2227 } 2228 } 2229 }, 2230 "typeAnnotation": { 2231 "type": "TSNumberKeyword", 2232 "loc": { 2233 "start": { 2234 "line": 67, 2235 "column": 8 2236 }, 2237 "end": { 2238 "line": 67, 2239 "column": 14 2240 } 2241 } 2242 }, 2243 "loc": { 2244 "start": { 2245 "line": 67, 2246 "column": 5 2247 }, 2248 "end": { 2249 "line": 67, 2250 "column": 15 2251 } 2252 } 2253 } 2254 ], 2255 "loc": { 2256 "start": { 2257 "line": 66, 2258 "column": 25 2259 }, 2260 "end": { 2261 "line": 68, 2262 "column": 2 2263 } 2264 } 2265 }, 2266 "id": { 2267 "type": "Identifier", 2268 "name": "D2", 2269 "decorators": [], 2270 "loc": { 2271 "start": { 2272 "line": 66, 2273 "column": 11 2274 }, 2275 "end": { 2276 "line": 66, 2277 "column": 13 2278 } 2279 } 2280 }, 2281 "extends": [ 2282 { 2283 "type": "TSInterfaceHeritage", 2284 "expression": { 2285 "type": "TSTypeReference", 2286 "typeName": { 2287 "type": "Identifier", 2288 "name": "D1", 2289 "decorators": [], 2290 "loc": { 2291 "start": { 2292 "line": 66, 2293 "column": 22 2294 }, 2295 "end": { 2296 "line": 66, 2297 "column": 24 2298 } 2299 } 2300 }, 2301 "loc": { 2302 "start": { 2303 "line": 66, 2304 "column": 25 2305 }, 2306 "end": { 2307 "line": 66, 2308 "column": 24 2309 } 2310 } 2311 }, 2312 "loc": { 2313 "start": { 2314 "line": 66, 2315 "column": 25 2316 }, 2317 "end": { 2318 "line": 66, 2319 "column": 24 2320 } 2321 } 2322 } 2323 ], 2324 "loc": { 2325 "start": { 2326 "line": 66, 2327 "column": 1 2328 }, 2329 "end": { 2330 "line": 68, 2331 "column": 2 2332 } 2333 } 2334 }, 2335 { 2336 "type": "TSInterfaceDeclaration", 2337 "body": { 2338 "type": "TSInterfaceBody", 2339 "body": [ 2340 { 2341 "type": "TSPropertySignature", 2342 "computed": false, 2343 "optional": false, 2344 "readonly": false, 2345 "key": { 2346 "type": "Identifier", 2347 "name": "e", 2348 "decorators": [], 2349 "loc": { 2350 "start": { 2351 "line": 71, 2352 "column": 5 2353 }, 2354 "end": { 2355 "line": 71, 2356 "column": 6 2357 } 2358 } 2359 }, 2360 "typeAnnotation": { 2361 "type": "TSTupleType", 2362 "elementTypes": [ 2363 { 2364 "type": "TSNumberKeyword", 2365 "loc": { 2366 "start": { 2367 "line": 71, 2368 "column": 9 2369 }, 2370 "end": { 2371 "line": 71, 2372 "column": 16 2373 } 2374 } 2375 }, 2376 { 2377 "type": "TSStringKeyword", 2378 "loc": { 2379 "start": { 2380 "line": 71, 2381 "column": 17 2382 }, 2383 "end": { 2384 "line": 71, 2385 "column": 24 2386 } 2387 } 2388 } 2389 ], 2390 "loc": { 2391 "start": { 2392 "line": 71, 2393 "column": 8 2394 }, 2395 "end": { 2396 "line": 71, 2397 "column": 24 2398 } 2399 } 2400 }, 2401 "loc": { 2402 "start": { 2403 "line": 71, 2404 "column": 5 2405 }, 2406 "end": { 2407 "line": 71, 2408 "column": 25 2409 } 2410 } 2411 } 2412 ], 2413 "loc": { 2414 "start": { 2415 "line": 70, 2416 "column": 33 2417 }, 2418 "end": { 2419 "line": 72, 2420 "column": 2 2421 } 2422 } 2423 }, 2424 "id": { 2425 "type": "Identifier", 2426 "name": "D5", 2427 "decorators": [], 2428 "loc": { 2429 "start": { 2430 "line": 70, 2431 "column": 11 2432 }, 2433 "end": { 2434 "line": 70, 2435 "column": 13 2436 } 2437 } 2438 }, 2439 "extends": [ 2440 { 2441 "type": "TSInterfaceHeritage", 2442 "expression": { 2443 "type": "TSTypeReference", 2444 "typeName": { 2445 "type": "Identifier", 2446 "name": "D4", 2447 "decorators": [], 2448 "loc": { 2449 "start": { 2450 "line": 70, 2451 "column": 22 2452 }, 2453 "end": { 2454 "line": 70, 2455 "column": 24 2456 } 2457 } 2458 }, 2459 "loc": { 2460 "start": { 2461 "line": 70, 2462 "column": 24 2463 }, 2464 "end": { 2465 "line": 70, 2466 "column": 24 2467 } 2468 } 2469 }, 2470 "loc": { 2471 "start": { 2472 "line": 70, 2473 "column": 24 2474 }, 2475 "end": { 2476 "line": 70, 2477 "column": 24 2478 } 2479 } 2480 }, 2481 { 2482 "type": "TSInterfaceHeritage", 2483 "expression": { 2484 "type": "TSTypeReference", 2485 "typeName": { 2486 "type": "Identifier", 2487 "name": "D1", 2488 "decorators": [], 2489 "loc": { 2490 "start": { 2491 "line": 70, 2492 "column": 26 2493 }, 2494 "end": { 2495 "line": 70, 2496 "column": 28 2497 } 2498 } 2499 }, 2500 "loc": { 2501 "start": { 2502 "line": 70, 2503 "column": 28 2504 }, 2505 "end": { 2506 "line": 70, 2507 "column": 28 2508 } 2509 } 2510 }, 2511 "loc": { 2512 "start": { 2513 "line": 70, 2514 "column": 28 2515 }, 2516 "end": { 2517 "line": 70, 2518 "column": 28 2519 } 2520 } 2521 }, 2522 { 2523 "type": "TSInterfaceHeritage", 2524 "expression": { 2525 "type": "TSTypeReference", 2526 "typeName": { 2527 "type": "Identifier", 2528 "name": "D3", 2529 "decorators": [], 2530 "loc": { 2531 "start": { 2532 "line": 70, 2533 "column": 30 2534 }, 2535 "end": { 2536 "line": 70, 2537 "column": 32 2538 } 2539 } 2540 }, 2541 "loc": { 2542 "start": { 2543 "line": 70, 2544 "column": 33 2545 }, 2546 "end": { 2547 "line": 70, 2548 "column": 32 2549 } 2550 } 2551 }, 2552 "loc": { 2553 "start": { 2554 "line": 70, 2555 "column": 33 2556 }, 2557 "end": { 2558 "line": 70, 2559 "column": 32 2560 } 2561 } 2562 } 2563 ], 2564 "loc": { 2565 "start": { 2566 "line": 70, 2567 "column": 1 2568 }, 2569 "end": { 2570 "line": 72, 2571 "column": 2 2572 } 2573 } 2574 }, 2575 { 2576 "type": "VariableDeclaration", 2577 "declarations": [ 2578 { 2579 "type": "VariableDeclarator", 2580 "id": { 2581 "type": "Identifier", 2582 "name": "d", 2583 "typeAnnotation": { 2584 "type": "TSTypeReference", 2585 "typeName": { 2586 "type": "Identifier", 2587 "name": "D5", 2588 "decorators": [], 2589 "loc": { 2590 "start": { 2591 "line": 74, 2592 "column": 8 2593 }, 2594 "end": { 2595 "line": 74, 2596 "column": 10 2597 } 2598 } 2599 }, 2600 "loc": { 2601 "start": { 2602 "line": 74, 2603 "column": 8 2604 }, 2605 "end": { 2606 "line": 74, 2607 "column": 10 2608 } 2609 } 2610 }, 2611 "decorators": [], 2612 "loc": { 2613 "start": { 2614 "line": 74, 2615 "column": 5 2616 }, 2617 "end": { 2618 "line": 74, 2619 "column": 6 2620 } 2621 } 2622 }, 2623 "init": { 2624 "type": "ObjectExpression", 2625 "properties": [ 2626 { 2627 "type": "Property", 2628 "method": false, 2629 "shorthand": false, 2630 "computed": false, 2631 "key": { 2632 "type": "Identifier", 2633 "name": "a", 2634 "decorators": [], 2635 "loc": { 2636 "start": { 2637 "line": 74, 2638 "column": 15 2639 }, 2640 "end": { 2641 "line": 74, 2642 "column": 16 2643 } 2644 } 2645 }, 2646 "value": { 2647 "type": "NumberLiteral", 2648 "value": 2, 2649 "loc": { 2650 "start": { 2651 "line": 74, 2652 "column": 18 2653 }, 2654 "end": { 2655 "line": 74, 2656 "column": 19 2657 } 2658 } 2659 }, 2660 "kind": "init", 2661 "loc": { 2662 "start": { 2663 "line": 74, 2664 "column": 15 2665 }, 2666 "end": { 2667 "line": 74, 2668 "column": 19 2669 } 2670 } 2671 }, 2672 { 2673 "type": "Property", 2674 "method": false, 2675 "shorthand": false, 2676 "computed": false, 2677 "key": { 2678 "type": "Identifier", 2679 "name": "b", 2680 "decorators": [], 2681 "loc": { 2682 "start": { 2683 "line": 74, 2684 "column": 21 2685 }, 2686 "end": { 2687 "line": 74, 2688 "column": 22 2689 } 2690 } 2691 }, 2692 "value": { 2693 "type": "NumberLiteral", 2694 "value": 3, 2695 "loc": { 2696 "start": { 2697 "line": 74, 2698 "column": 24 2699 }, 2700 "end": { 2701 "line": 74, 2702 "column": 25 2703 } 2704 } 2705 }, 2706 "kind": "init", 2707 "loc": { 2708 "start": { 2709 "line": 74, 2710 "column": 21 2711 }, 2712 "end": { 2713 "line": 74, 2714 "column": 25 2715 } 2716 } 2717 }, 2718 { 2719 "type": "Property", 2720 "method": false, 2721 "shorthand": false, 2722 "computed": false, 2723 "key": { 2724 "type": "Identifier", 2725 "name": "c", 2726 "decorators": [], 2727 "loc": { 2728 "start": { 2729 "line": 74, 2730 "column": 27 2731 }, 2732 "end": { 2733 "line": 74, 2734 "column": 28 2735 } 2736 } 2737 }, 2738 "value": { 2739 "type": "StringLiteral", 2740 "value": "bar", 2741 "loc": { 2742 "start": { 2743 "line": 74, 2744 "column": 30 2745 }, 2746 "end": { 2747 "line": 74, 2748 "column": 35 2749 } 2750 } 2751 }, 2752 "kind": "init", 2753 "loc": { 2754 "start": { 2755 "line": 74, 2756 "column": 27 2757 }, 2758 "end": { 2759 "line": 74, 2760 "column": 35 2761 } 2762 } 2763 }, 2764 { 2765 "type": "Property", 2766 "method": false, 2767 "shorthand": false, 2768 "computed": false, 2769 "key": { 2770 "type": "Identifier", 2771 "name": "d", 2772 "decorators": [], 2773 "loc": { 2774 "start": { 2775 "line": 74, 2776 "column": 37 2777 }, 2778 "end": { 2779 "line": 74, 2780 "column": 38 2781 } 2782 } 2783 }, 2784 "value": { 2785 "type": "ArrayExpression", 2786 "elements": [ 2787 { 2788 "type": "StringLiteral", 2789 "value": "foo", 2790 "loc": { 2791 "start": { 2792 "line": 74, 2793 "column": 41 2794 }, 2795 "end": { 2796 "line": 74, 2797 "column": 46 2798 } 2799 } 2800 }, 2801 { 2802 "type": "StringLiteral", 2803 "value": "bar", 2804 "loc": { 2805 "start": { 2806 "line": 74, 2807 "column": 48 2808 }, 2809 "end": { 2810 "line": 74, 2811 "column": 53 2812 } 2813 } 2814 }, 2815 { 2816 "type": "StringLiteral", 2817 "value": "baz", 2818 "loc": { 2819 "start": { 2820 "line": 74, 2821 "column": 55 2822 }, 2823 "end": { 2824 "line": 74, 2825 "column": 60 2826 } 2827 } 2828 } 2829 ], 2830 "loc": { 2831 "start": { 2832 "line": 74, 2833 "column": 40 2834 }, 2835 "end": { 2836 "line": 74, 2837 "column": 61 2838 } 2839 } 2840 }, 2841 "kind": "init", 2842 "loc": { 2843 "start": { 2844 "line": 74, 2845 "column": 37 2846 }, 2847 "end": { 2848 "line": 74, 2849 "column": 61 2850 } 2851 } 2852 }, 2853 { 2854 "type": "Property", 2855 "method": false, 2856 "shorthand": false, 2857 "computed": false, 2858 "key": { 2859 "type": "Identifier", 2860 "name": "e", 2861 "decorators": [], 2862 "loc": { 2863 "start": { 2864 "line": 74, 2865 "column": 63 2866 }, 2867 "end": { 2868 "line": 74, 2869 "column": 64 2870 } 2871 } 2872 }, 2873 "value": { 2874 "type": "ArrayExpression", 2875 "elements": [ 2876 { 2877 "type": "NumberLiteral", 2878 "value": 1, 2879 "loc": { 2880 "start": { 2881 "line": 74, 2882 "column": 67 2883 }, 2884 "end": { 2885 "line": 74, 2886 "column": 68 2887 } 2888 } 2889 }, 2890 { 2891 "type": "StringLiteral", 2892 "value": "foo", 2893 "loc": { 2894 "start": { 2895 "line": 74, 2896 "column": 70 2897 }, 2898 "end": { 2899 "line": 74, 2900 "column": 75 2901 } 2902 } 2903 } 2904 ], 2905 "loc": { 2906 "start": { 2907 "line": 74, 2908 "column": 66 2909 }, 2910 "end": { 2911 "line": 74, 2912 "column": 76 2913 } 2914 } 2915 }, 2916 "kind": "init", 2917 "loc": { 2918 "start": { 2919 "line": 74, 2920 "column": 63 2921 }, 2922 "end": { 2923 "line": 74, 2924 "column": 76 2925 } 2926 } 2927 } 2928 ], 2929 "loc": { 2930 "start": { 2931 "line": 74, 2932 "column": 13 2933 }, 2934 "end": { 2935 "line": 74, 2936 "column": 78 2937 } 2938 } 2939 }, 2940 "loc": { 2941 "start": { 2942 "line": 74, 2943 "column": 5 2944 }, 2945 "end": { 2946 "line": 74, 2947 "column": 78 2948 } 2949 } 2950 } 2951 ], 2952 "kind": "var", 2953 "loc": { 2954 "start": { 2955 "line": 74, 2956 "column": 1 2957 }, 2958 "end": { 2959 "line": 74, 2960 "column": 78 2961 } 2962 } 2963 }, 2964 { 2965 "type": "TSInterfaceDeclaration", 2966 "body": { 2967 "type": "TSInterfaceBody", 2968 "body": [ 2969 { 2970 "type": "TSPropertySignature", 2971 "computed": false, 2972 "optional": false, 2973 "readonly": false, 2974 "key": { 2975 "type": "Identifier", 2976 "name": "a", 2977 "decorators": [], 2978 "loc": { 2979 "start": { 2980 "line": 77, 2981 "column": 5 2982 }, 2983 "end": { 2984 "line": 77, 2985 "column": 6 2986 } 2987 } 2988 }, 2989 "typeAnnotation": { 2990 "type": "TSNumberKeyword", 2991 "loc": { 2992 "start": { 2993 "line": 77, 2994 "column": 8 2995 }, 2996 "end": { 2997 "line": 77, 2998 "column": 14 2999 } 3000 } 3001 }, 3002 "loc": { 3003 "start": { 3004 "line": 77, 3005 "column": 5 3006 }, 3007 "end": { 3008 "line": 77, 3009 "column": 15 3010 } 3011 } 3012 } 3013 ], 3014 "loc": { 3015 "start": { 3016 "line": 76, 3017 "column": 13 3018 }, 3019 "end": { 3020 "line": 78, 3021 "column": 2 3022 } 3023 } 3024 }, 3025 "id": { 3026 "type": "Identifier", 3027 "name": "E", 3028 "decorators": [], 3029 "loc": { 3030 "start": { 3031 "line": 76, 3032 "column": 11 3033 }, 3034 "end": { 3035 "line": 76, 3036 "column": 12 3037 } 3038 } 3039 }, 3040 "extends": [], 3041 "loc": { 3042 "start": { 3043 "line": 76, 3044 "column": 1 3045 }, 3046 "end": { 3047 "line": 78, 3048 "column": 2 3049 } 3050 } 3051 }, 3052 { 3053 "type": "TSInterfaceDeclaration", 3054 "body": { 3055 "type": "TSInterfaceBody", 3056 "body": [ 3057 { 3058 "type": "TSPropertySignature", 3059 "computed": false, 3060 "optional": false, 3061 "readonly": false, 3062 "key": { 3063 "type": "Identifier", 3064 "name": "b", 3065 "decorators": [], 3066 "loc": { 3067 "start": { 3068 "line": 81, 3069 "column": 5 3070 }, 3071 "end": { 3072 "line": 81, 3073 "column": 6 3074 } 3075 } 3076 }, 3077 "typeAnnotation": { 3078 "type": "TSStringKeyword", 3079 "loc": { 3080 "start": { 3081 "line": 81, 3082 "column": 8 3083 }, 3084 "end": { 3085 "line": 81, 3086 "column": 14 3087 } 3088 } 3089 }, 3090 "loc": { 3091 "start": { 3092 "line": 81, 3093 "column": 5 3094 }, 3095 "end": { 3096 "line": 81, 3097 "column": 15 3098 } 3099 } 3100 } 3101 ], 3102 "loc": { 3103 "start": { 3104 "line": 80, 3105 "column": 13 3106 }, 3107 "end": { 3108 "line": 82, 3109 "column": 2 3110 } 3111 } 3112 }, 3113 "id": { 3114 "type": "Identifier", 3115 "name": "E", 3116 "decorators": [], 3117 "loc": { 3118 "start": { 3119 "line": 80, 3120 "column": 11 3121 }, 3122 "end": { 3123 "line": 80, 3124 "column": 12 3125 } 3126 } 3127 }, 3128 "extends": [], 3129 "loc": { 3130 "start": { 3131 "line": 80, 3132 "column": 1 3133 }, 3134 "end": { 3135 "line": 82, 3136 "column": 2 3137 } 3138 } 3139 }, 3140 { 3141 "type": "TSInterfaceDeclaration", 3142 "body": { 3143 "type": "TSInterfaceBody", 3144 "body": [ 3145 { 3146 "type": "TSPropertySignature", 3147 "computed": false, 3148 "optional": false, 3149 "readonly": false, 3150 "key": { 3151 "type": "Identifier", 3152 "name": "d", 3153 "decorators": [], 3154 "loc": { 3155 "start": { 3156 "line": 85, 3157 "column": 5 3158 }, 3159 "end": { 3160 "line": 85, 3161 "column": 6 3162 } 3163 } 3164 }, 3165 "typeAnnotation": { 3166 "type": "TSFunctionType", 3167 "params": [ 3168 { 3169 "type": "Identifier", 3170 "name": "a", 3171 "typeAnnotation": { 3172 "type": "TSNumberKeyword", 3173 "loc": { 3174 "start": { 3175 "line": 85, 3176 "column": 12 3177 }, 3178 "end": { 3179 "line": 85, 3180 "column": 18 3181 } 3182 } 3183 }, 3184 "decorators": [], 3185 "loc": { 3186 "start": { 3187 "line": 85, 3188 "column": 9 3189 }, 3190 "end": { 3191 "line": 85, 3192 "column": 10 3193 } 3194 } 3195 }, 3196 { 3197 "type": "Identifier", 3198 "name": "b", 3199 "typeAnnotation": { 3200 "type": "TSStringKeyword", 3201 "loc": { 3202 "start": { 3203 "line": 85, 3204 "column": 23 3205 }, 3206 "end": { 3207 "line": 85, 3208 "column": 29 3209 } 3210 } 3211 }, 3212 "decorators": [], 3213 "loc": { 3214 "start": { 3215 "line": 85, 3216 "column": 20 3217 }, 3218 "end": { 3219 "line": 85, 3220 "column": 21 3221 } 3222 } 3223 } 3224 ], 3225 "returnType": { 3226 "type": "TSTypeLiteral", 3227 "members": [], 3228 "loc": { 3229 "start": { 3230 "line": 85, 3231 "column": 34 3232 }, 3233 "end": { 3234 "line": 85, 3235 "column": 36 3236 } 3237 } 3238 }, 3239 "loc": { 3240 "start": { 3241 "line": 85, 3242 "column": 8 3243 }, 3244 "end": { 3245 "line": 85, 3246 "column": 36 3247 } 3248 } 3249 }, 3250 "loc": { 3251 "start": { 3252 "line": 85, 3253 "column": 5 3254 }, 3255 "end": { 3256 "line": 86, 3257 "column": 2 3258 } 3259 } 3260 } 3261 ], 3262 "loc": { 3263 "start": { 3264 "line": 84, 3265 "column": 13 3266 }, 3267 "end": { 3268 "line": 86, 3269 "column": 2 3270 } 3271 } 3272 }, 3273 "id": { 3274 "type": "Identifier", 3275 "name": "E", 3276 "decorators": [], 3277 "loc": { 3278 "start": { 3279 "line": 84, 3280 "column": 11 3281 }, 3282 "end": { 3283 "line": 84, 3284 "column": 12 3285 } 3286 } 3287 }, 3288 "extends": [], 3289 "loc": { 3290 "start": { 3291 "line": 84, 3292 "column": 1 3293 }, 3294 "end": { 3295 "line": 86, 3296 "column": 2 3297 } 3298 } 3299 }, 3300 { 3301 "type": "VariableDeclaration", 3302 "declarations": [ 3303 { 3304 "type": "VariableDeclarator", 3305 "id": { 3306 "type": "Identifier", 3307 "name": "e", 3308 "typeAnnotation": { 3309 "type": "TSTypeReference", 3310 "typeName": { 3311 "type": "Identifier", 3312 "name": "E", 3313 "decorators": [], 3314 "loc": { 3315 "start": { 3316 "line": 88, 3317 "column": 8 3318 }, 3319 "end": { 3320 "line": 88, 3321 "column": 9 3322 } 3323 } 3324 }, 3325 "loc": { 3326 "start": { 3327 "line": 88, 3328 "column": 8 3329 }, 3330 "end": { 3331 "line": 88, 3332 "column": 9 3333 } 3334 } 3335 }, 3336 "decorators": [], 3337 "loc": { 3338 "start": { 3339 "line": 88, 3340 "column": 5 3341 }, 3342 "end": { 3343 "line": 88, 3344 "column": 6 3345 } 3346 } 3347 }, 3348 "init": { 3349 "type": "ObjectExpression", 3350 "properties": [ 3351 { 3352 "type": "Property", 3353 "method": false, 3354 "shorthand": false, 3355 "computed": false, 3356 "key": { 3357 "type": "Identifier", 3358 "name": "a", 3359 "decorators": [], 3360 "loc": { 3361 "start": { 3362 "line": 88, 3363 "column": 14 3364 }, 3365 "end": { 3366 "line": 88, 3367 "column": 15 3368 } 3369 } 3370 }, 3371 "value": { 3372 "type": "NumberLiteral", 3373 "value": 1, 3374 "loc": { 3375 "start": { 3376 "line": 88, 3377 "column": 17 3378 }, 3379 "end": { 3380 "line": 88, 3381 "column": 18 3382 } 3383 } 3384 }, 3385 "kind": "init", 3386 "loc": { 3387 "start": { 3388 "line": 88, 3389 "column": 14 3390 }, 3391 "end": { 3392 "line": 88, 3393 "column": 18 3394 } 3395 } 3396 }, 3397 { 3398 "type": "Property", 3399 "method": false, 3400 "shorthand": false, 3401 "computed": false, 3402 "key": { 3403 "type": "Identifier", 3404 "name": "b", 3405 "decorators": [], 3406 "loc": { 3407 "start": { 3408 "line": 88, 3409 "column": 20 3410 }, 3411 "end": { 3412 "line": 88, 3413 "column": 21 3414 } 3415 } 3416 }, 3417 "value": { 3418 "type": "StringLiteral", 3419 "value": "foo", 3420 "loc": { 3421 "start": { 3422 "line": 88, 3423 "column": 23 3424 }, 3425 "end": { 3426 "line": 88, 3427 "column": 28 3428 } 3429 } 3430 }, 3431 "kind": "init", 3432 "loc": { 3433 "start": { 3434 "line": 88, 3435 "column": 20 3436 }, 3437 "end": { 3438 "line": 88, 3439 "column": 28 3440 } 3441 } 3442 }, 3443 { 3444 "type": "Property", 3445 "method": false, 3446 "shorthand": false, 3447 "computed": false, 3448 "key": { 3449 "type": "Identifier", 3450 "name": "d", 3451 "decorators": [], 3452 "loc": { 3453 "start": { 3454 "line": 88, 3455 "column": 30 3456 }, 3457 "end": { 3458 "line": 88, 3459 "column": 31 3460 } 3461 } 3462 }, 3463 "value": { 3464 "type": "FunctionExpression", 3465 "function": { 3466 "type": "ScriptFunction", 3467 "id": null, 3468 "generator": false, 3469 "async": false, 3470 "expression": false, 3471 "params": [ 3472 { 3473 "type": "Identifier", 3474 "name": "a", 3475 "typeAnnotation": { 3476 "type": "TSNumberKeyword", 3477 "loc": { 3478 "start": { 3479 "line": 88, 3480 "column": 46 3481 }, 3482 "end": { 3483 "line": 88, 3484 "column": 52 3485 } 3486 } 3487 }, 3488 "decorators": [], 3489 "loc": { 3490 "start": { 3491 "line": 88, 3492 "column": 43 3493 }, 3494 "end": { 3495 "line": 88, 3496 "column": 44 3497 } 3498 } 3499 }, 3500 { 3501 "type": "Identifier", 3502 "name": "b", 3503 "typeAnnotation": { 3504 "type": "TSStringKeyword", 3505 "loc": { 3506 "start": { 3507 "line": 88, 3508 "column": 57 3509 }, 3510 "end": { 3511 "line": 88, 3512 "column": 63 3513 } 3514 } 3515 }, 3516 "decorators": [], 3517 "loc": { 3518 "start": { 3519 "line": 88, 3520 "column": 54 3521 }, 3522 "end": { 3523 "line": 88, 3524 "column": 55 3525 } 3526 } 3527 } 3528 ], 3529 "body": { 3530 "type": "BlockStatement", 3531 "statements": [ 3532 { 3533 "type": "ReturnStatement", 3534 "argument": { 3535 "type": "ObjectExpression", 3536 "properties": [], 3537 "loc": { 3538 "start": { 3539 "line": 88, 3540 "column": 74 3541 }, 3542 "end": { 3543 "line": 88, 3544 "column": 76 3545 } 3546 } 3547 }, 3548 "loc": { 3549 "start": { 3550 "line": 88, 3551 "column": 67 3552 }, 3553 "end": { 3554 "line": 88, 3555 "column": 76 3556 } 3557 } 3558 } 3559 ], 3560 "loc": { 3561 "start": { 3562 "line": 88, 3563 "column": 65 3564 }, 3565 "end": { 3566 "line": 88, 3567 "column": 78 3568 } 3569 } 3570 }, 3571 "loc": { 3572 "start": { 3573 "line": 88, 3574 "column": 33 3575 }, 3576 "end": { 3577 "line": 88, 3578 "column": 78 3579 } 3580 } 3581 }, 3582 "loc": { 3583 "start": { 3584 "line": 88, 3585 "column": 33 3586 }, 3587 "end": { 3588 "line": 88, 3589 "column": 78 3590 } 3591 } 3592 }, 3593 "kind": "init", 3594 "loc": { 3595 "start": { 3596 "line": 88, 3597 "column": 30 3598 }, 3599 "end": { 3600 "line": 88, 3601 "column": 78 3602 } 3603 } 3604 } 3605 ], 3606 "loc": { 3607 "start": { 3608 "line": 88, 3609 "column": 12 3610 }, 3611 "end": { 3612 "line": 88, 3613 "column": 80 3614 } 3615 } 3616 }, 3617 "loc": { 3618 "start": { 3619 "line": 88, 3620 "column": 5 3621 }, 3622 "end": { 3623 "line": 88, 3624 "column": 80 3625 } 3626 } 3627 } 3628 ], 3629 "kind": "var", 3630 "loc": { 3631 "start": { 3632 "line": 88, 3633 "column": 1 3634 }, 3635 "end": { 3636 "line": 88, 3637 "column": 80 3638 } 3639 } 3640 }, 3641 { 3642 "type": "TSInterfaceDeclaration", 3643 "body": { 3644 "type": "TSInterfaceBody", 3645 "body": [ 3646 { 3647 "type": "TSIndexSignature", 3648 "parameters": { 3649 "type": "Identifier", 3650 "name": "x", 3651 "typeAnnotation": { 3652 "type": "TSNumberKeyword", 3653 "loc": { 3654 "start": { 3655 "line": 91, 3656 "column": 9 3657 }, 3658 "end": { 3659 "line": 91, 3660 "column": 15 3661 } 3662 } 3663 }, 3664 "decorators": [], 3665 "loc": { 3666 "start": { 3667 "line": 91, 3668 "column": 6 3669 }, 3670 "end": { 3671 "line": 91, 3672 "column": 7 3673 } 3674 } 3675 }, 3676 "typeAnnotation": { 3677 "type": "TSStringKeyword", 3678 "loc": { 3679 "start": { 3680 "line": 91, 3681 "column": 18 3682 }, 3683 "end": { 3684 "line": 91, 3685 "column": 24 3686 } 3687 } 3688 }, 3689 "readonly": false, 3690 "loc": { 3691 "start": { 3692 "line": 91, 3693 "column": 5 3694 }, 3695 "end": { 3696 "line": 91, 3697 "column": 25 3698 } 3699 } 3700 }, 3701 { 3702 "type": "TSIndexSignature", 3703 "parameters": { 3704 "type": "Identifier", 3705 "name": "x", 3706 "typeAnnotation": { 3707 "type": "TSStringKeyword", 3708 "loc": { 3709 "start": { 3710 "line": 92, 3711 "column": 9 3712 }, 3713 "end": { 3714 "line": 92, 3715 "column": 15 3716 } 3717 } 3718 }, 3719 "decorators": [], 3720 "loc": { 3721 "start": { 3722 "line": 92, 3723 "column": 6 3724 }, 3725 "end": { 3726 "line": 92, 3727 "column": 7 3728 } 3729 } 3730 }, 3731 "typeAnnotation": { 3732 "type": "TSUnionType", 3733 "types": [ 3734 { 3735 "type": "TSNumberKeyword", 3736 "loc": { 3737 "start": { 3738 "line": 92, 3739 "column": 18 3740 }, 3741 "end": { 3742 "line": 92, 3743 "column": 24 3744 } 3745 } 3746 }, 3747 { 3748 "type": "TSStringKeyword", 3749 "loc": { 3750 "start": { 3751 "line": 92, 3752 "column": 27 3753 }, 3754 "end": { 3755 "line": 92, 3756 "column": 33 3757 } 3758 } 3759 } 3760 ], 3761 "loc": { 3762 "start": { 3763 "line": 92, 3764 "column": 18 3765 }, 3766 "end": { 3767 "line": 92, 3768 "column": 33 3769 } 3770 } 3771 }, 3772 "readonly": false, 3773 "loc": { 3774 "start": { 3775 "line": 92, 3776 "column": 5 3777 }, 3778 "end": { 3779 "line": 93, 3780 "column": 2 3781 } 3782 } 3783 } 3784 ], 3785 "loc": { 3786 "start": { 3787 "line": 90, 3788 "column": 13 3789 }, 3790 "end": { 3791 "line": 93, 3792 "column": 2 3793 } 3794 } 3795 }, 3796 "id": { 3797 "type": "Identifier", 3798 "name": "F", 3799 "decorators": [], 3800 "loc": { 3801 "start": { 3802 "line": 90, 3803 "column": 11 3804 }, 3805 "end": { 3806 "line": 90, 3807 "column": 12 3808 } 3809 } 3810 }, 3811 "extends": [], 3812 "loc": { 3813 "start": { 3814 "line": 90, 3815 "column": 1 3816 }, 3817 "end": { 3818 "line": 93, 3819 "column": 2 3820 } 3821 } 3822 }, 3823 { 3824 "type": "VariableDeclaration", 3825 "declarations": [ 3826 { 3827 "type": "VariableDeclarator", 3828 "id": { 3829 "type": "Identifier", 3830 "name": "f", 3831 "typeAnnotation": { 3832 "type": "TSTypeReference", 3833 "typeName": { 3834 "type": "Identifier", 3835 "name": "F", 3836 "decorators": [], 3837 "loc": { 3838 "start": { 3839 "line": 95, 3840 "column": 8 3841 }, 3842 "end": { 3843 "line": 95, 3844 "column": 9 3845 } 3846 } 3847 }, 3848 "loc": { 3849 "start": { 3850 "line": 95, 3851 "column": 8 3852 }, 3853 "end": { 3854 "line": 95, 3855 "column": 9 3856 } 3857 } 3858 }, 3859 "decorators": [], 3860 "loc": { 3861 "start": { 3862 "line": 95, 3863 "column": 5 3864 }, 3865 "end": { 3866 "line": 95, 3867 "column": 6 3868 } 3869 } 3870 }, 3871 "init": { 3872 "type": "ObjectExpression", 3873 "properties": [ 3874 { 3875 "type": "Property", 3876 "method": false, 3877 "shorthand": false, 3878 "computed": false, 3879 "key": { 3880 "type": "NumberLiteral", 3881 "value": 5, 3882 "loc": { 3883 "start": { 3884 "line": 95, 3885 "column": 14 3886 }, 3887 "end": { 3888 "line": 95, 3889 "column": 15 3890 } 3891 } 3892 }, 3893 "value": { 3894 "type": "StringLiteral", 3895 "value": "foo", 3896 "loc": { 3897 "start": { 3898 "line": 95, 3899 "column": 17 3900 }, 3901 "end": { 3902 "line": 95, 3903 "column": 22 3904 } 3905 } 3906 }, 3907 "kind": "init", 3908 "loc": { 3909 "start": { 3910 "line": 95, 3911 "column": 14 3912 }, 3913 "end": { 3914 "line": 95, 3915 "column": 22 3916 } 3917 } 3918 }, 3919 { 3920 "type": "Property", 3921 "method": false, 3922 "shorthand": false, 3923 "computed": false, 3924 "key": { 3925 "type": "NumberLiteral", 3926 "value": 6, 3927 "loc": { 3928 "start": { 3929 "line": 95, 3930 "column": 24 3931 }, 3932 "end": { 3933 "line": 95, 3934 "column": 25 3935 } 3936 } 3937 }, 3938 "value": { 3939 "type": "StringLiteral", 3940 "value": "bar", 3941 "loc": { 3942 "start": { 3943 "line": 95, 3944 "column": 27 3945 }, 3946 "end": { 3947 "line": 95, 3948 "column": 32 3949 } 3950 } 3951 }, 3952 "kind": "init", 3953 "loc": { 3954 "start": { 3955 "line": 95, 3956 "column": 24 3957 }, 3958 "end": { 3959 "line": 95, 3960 "column": 32 3961 } 3962 } 3963 }, 3964 { 3965 "type": "Property", 3966 "method": false, 3967 "shorthand": false, 3968 "computed": false, 3969 "key": { 3970 "type": "Identifier", 3971 "name": "a", 3972 "decorators": [], 3973 "loc": { 3974 "start": { 3975 "line": 95, 3976 "column": 34 3977 }, 3978 "end": { 3979 "line": 95, 3980 "column": 35 3981 } 3982 } 3983 }, 3984 "value": { 3985 "type": "NumberLiteral", 3986 "value": 1, 3987 "loc": { 3988 "start": { 3989 "line": 95, 3990 "column": 37 3991 }, 3992 "end": { 3993 "line": 95, 3994 "column": 38 3995 } 3996 } 3997 }, 3998 "kind": "init", 3999 "loc": { 4000 "start": { 4001 "line": 95, 4002 "column": 34 4003 }, 4004 "end": { 4005 "line": 95, 4006 "column": 38 4007 } 4008 } 4009 }, 4010 { 4011 "type": "Property", 4012 "method": false, 4013 "shorthand": false, 4014 "computed": false, 4015 "key": { 4016 "type": "Identifier", 4017 "name": "b", 4018 "decorators": [], 4019 "loc": { 4020 "start": { 4021 "line": 95, 4022 "column": 40 4023 }, 4024 "end": { 4025 "line": 95, 4026 "column": 41 4027 } 4028 } 4029 }, 4030 "value": { 4031 "type": "StringLiteral", 4032 "value": "baz", 4033 "loc": { 4034 "start": { 4035 "line": 95, 4036 "column": 43 4037 }, 4038 "end": { 4039 "line": 95, 4040 "column": 48 4041 } 4042 } 4043 }, 4044 "kind": "init", 4045 "loc": { 4046 "start": { 4047 "line": 95, 4048 "column": 40 4049 }, 4050 "end": { 4051 "line": 95, 4052 "column": 48 4053 } 4054 } 4055 } 4056 ], 4057 "loc": { 4058 "start": { 4059 "line": 95, 4060 "column": 12 4061 }, 4062 "end": { 4063 "line": 95, 4064 "column": 50 4065 } 4066 } 4067 }, 4068 "loc": { 4069 "start": { 4070 "line": 95, 4071 "column": 5 4072 }, 4073 "end": { 4074 "line": 95, 4075 "column": 50 4076 } 4077 } 4078 } 4079 ], 4080 "kind": "var", 4081 "loc": { 4082 "start": { 4083 "line": 95, 4084 "column": 1 4085 }, 4086 "end": { 4087 "line": 95, 4088 "column": 51 4089 } 4090 } 4091 } 4092 ], 4093 "loc": { 4094 "start": { 4095 "line": 1, 4096 "column": 1 4097 }, 4098 "end": { 4099 "line": 97, 4100 "column": 1 4101 } 4102 } 4103} 4104