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