1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "TSTypeAliasDeclaration", 6 "id": { 7 "type": "Identifier", 8 "name": "TNumberStringPair", 9 "decorators": [], 10 "loc": { 11 "start": { 12 "line": 16, 13 "column": 6 14 }, 15 "end": { 16 "line": 16, 17 "column": 23 18 } 19 } 20 }, 21 "typeAnnotation": { 22 "type": "ETSTuple", 23 "types": [ 24 { 25 "type": "ETSTypeReference", 26 "part": { 27 "type": "ETSTypeReferencePart", 28 "name": { 29 "type": "Identifier", 30 "name": "number", 31 "decorators": [], 32 "loc": { 33 "start": { 34 "line": 16, 35 "column": 27 36 }, 37 "end": { 38 "line": 16, 39 "column": 33 40 } 41 } 42 }, 43 "loc": { 44 "start": { 45 "line": 16, 46 "column": 27 47 }, 48 "end": { 49 "line": 16, 50 "column": 34 51 } 52 } 53 }, 54 "loc": { 55 "start": { 56 "line": 16, 57 "column": 27 58 }, 59 "end": { 60 "line": 16, 61 "column": 34 62 } 63 } 64 }, 65 { 66 "type": "ETSTypeReference", 67 "part": { 68 "type": "ETSTypeReferencePart", 69 "name": { 70 "type": "Identifier", 71 "name": "string", 72 "decorators": [], 73 "loc": { 74 "start": { 75 "line": 16, 76 "column": 35 77 }, 78 "end": { 79 "line": 16, 80 "column": 41 81 } 82 } 83 }, 84 "loc": { 85 "start": { 86 "line": 16, 87 "column": 35 88 }, 89 "end": { 90 "line": 16, 91 "column": 42 92 } 93 } 94 }, 95 "loc": { 96 "start": { 97 "line": 16, 98 "column": 35 99 }, 100 "end": { 101 "line": 16, 102 "column": 42 103 } 104 } 105 } 106 ], 107 "spreadType": null, 108 "loc": { 109 "start": { 110 "line": 16, 111 "column": 26 112 }, 113 "end": { 114 "line": 16, 115 "column": 43 116 } 117 } 118 }, 119 "loc": { 120 "start": { 121 "line": 16, 122 "column": 1 123 }, 124 "end": { 125 "line": 16, 126 "column": 43 127 } 128 } 129 }, 130 { 131 "type": "TSTypeAliasDeclaration", 132 "id": { 133 "type": "Identifier", 134 "name": "TTupleUnion", 135 "decorators": [], 136 "loc": { 137 "start": { 138 "line": 17, 139 "column": 6 140 }, 141 "end": { 142 "line": 17, 143 "column": 17 144 } 145 } 146 }, 147 "typeAnnotation": { 148 "type": "ETSUnionType", 149 "types": [ 150 { 151 "type": "ETSTypeReference", 152 "part": { 153 "type": "ETSTypeReferencePart", 154 "name": { 155 "type": "Identifier", 156 "name": "TNumberStringPair", 157 "decorators": [], 158 "loc": { 159 "start": { 160 "line": 17, 161 "column": 20 162 }, 163 "end": { 164 "line": 17, 165 "column": 37 166 } 167 } 168 }, 169 "loc": { 170 "start": { 171 "line": 17, 172 "column": 20 173 }, 174 "end": { 175 "line": 17, 176 "column": 38 177 } 178 } 179 }, 180 "loc": { 181 "start": { 182 "line": 17, 183 "column": 20 184 }, 185 "end": { 186 "line": 17, 187 "column": 38 188 } 189 } 190 }, 191 { 192 "type": "ETSUndefinedType", 193 "loc": { 194 "start": { 195 "line": 17, 196 "column": 38 197 }, 198 "end": { 199 "line": 17, 200 "column": 47 201 } 202 } 203 } 204 ], 205 "loc": { 206 "start": { 207 "line": 17, 208 "column": 20 209 }, 210 "end": { 211 "line": 17, 212 "column": 47 213 } 214 } 215 }, 216 "loc": { 217 "start": { 218 "line": 17, 219 "column": 1 220 }, 221 "end": { 222 "line": 17, 223 "column": 48 224 } 225 } 226 }, 227 { 228 "type": "ClassDeclaration", 229 "definition": { 230 "id": { 231 "type": "Identifier", 232 "name": "ETSGLOBAL", 233 "decorators": [], 234 "loc": { 235 "start": { 236 "line": 1, 237 "column": 1 238 }, 239 "end": { 240 "line": 1, 241 "column": 1 242 } 243 } 244 }, 245 "superClass": null, 246 "implements": [], 247 "body": [ 248 { 249 "type": "MethodDefinition", 250 "key": { 251 "type": "Identifier", 252 "name": "_$init$_", 253 "decorators": [], 254 "loc": { 255 "start": { 256 "line": 1, 257 "column": 1 258 }, 259 "end": { 260 "line": 1, 261 "column": 1 262 } 263 } 264 }, 265 "kind": "method", 266 "accessibility": "public", 267 "static": true, 268 "optional": false, 269 "computed": false, 270 "value": { 271 "type": "FunctionExpression", 272 "function": { 273 "type": "ScriptFunction", 274 "id": { 275 "type": "Identifier", 276 "name": "_$init$_", 277 "decorators": [], 278 "loc": { 279 "start": { 280 "line": 1, 281 "column": 1 282 }, 283 "end": { 284 "line": 1, 285 "column": 1 286 } 287 } 288 }, 289 "generator": false, 290 "async": false, 291 "expression": false, 292 "params": [], 293 "body": { 294 "type": "BlockStatement", 295 "statements": [], 296 "loc": { 297 "start": { 298 "line": 1, 299 "column": 1 300 }, 301 "end": { 302 "line": 1, 303 "column": 1 304 } 305 } 306 }, 307 "loc": { 308 "start": { 309 "line": 1, 310 "column": 1 311 }, 312 "end": { 313 "line": 1, 314 "column": 1 315 } 316 } 317 }, 318 "loc": { 319 "start": { 320 "line": 1, 321 "column": 1 322 }, 323 "end": { 324 "line": 1, 325 "column": 1 326 } 327 } 328 }, 329 "overloads": [], 330 "decorators": [], 331 "loc": { 332 "start": { 333 "line": 1, 334 "column": 1 335 }, 336 "end": { 337 "line": 1, 338 "column": 1 339 } 340 } 341 }, 342 { 343 "type": "MethodDefinition", 344 "key": { 345 "type": "Identifier", 346 "name": "main", 347 "decorators": [], 348 "loc": { 349 "start": { 350 "line": 19, 351 "column": 10 352 }, 353 "end": { 354 "line": 19, 355 "column": 14 356 } 357 } 358 }, 359 "kind": "method", 360 "accessibility": "public", 361 "static": true, 362 "optional": false, 363 "computed": false, 364 "value": { 365 "type": "FunctionExpression", 366 "function": { 367 "type": "ScriptFunction", 368 "id": { 369 "type": "Identifier", 370 "name": "main", 371 "decorators": [], 372 "loc": { 373 "start": { 374 "line": 19, 375 "column": 10 376 }, 377 "end": { 378 "line": 19, 379 "column": 14 380 } 381 } 382 }, 383 "generator": false, 384 "async": false, 385 "expression": false, 386 "params": [], 387 "returnType": { 388 "type": "ETSPrimitiveType", 389 "loc": { 390 "start": { 391 "line": 19, 392 "column": 18 393 }, 394 "end": { 395 "line": 19, 396 "column": 22 397 } 398 } 399 }, 400 "body": { 401 "type": "BlockStatement", 402 "statements": [ 403 { 404 "type": "VariableDeclaration", 405 "declarations": [ 406 { 407 "type": "VariableDeclarator", 408 "id": { 409 "type": "Identifier", 410 "name": "x", 411 "typeAnnotation": { 412 "type": "ETSTypeReference", 413 "part": { 414 "type": "ETSTypeReferencePart", 415 "name": { 416 "type": "Identifier", 417 "name": "TNumberStringPair", 418 "decorators": [], 419 "loc": { 420 "start": { 421 "line": 20, 422 "column": 11 423 }, 424 "end": { 425 "line": 20, 426 "column": 28 427 } 428 } 429 }, 430 "loc": { 431 "start": { 432 "line": 20, 433 "column": 11 434 }, 435 "end": { 436 "line": 20, 437 "column": 30 438 } 439 } 440 }, 441 "loc": { 442 "start": { 443 "line": 20, 444 "column": 11 445 }, 446 "end": { 447 "line": 20, 448 "column": 30 449 } 450 } 451 }, 452 "decorators": [], 453 "loc": { 454 "start": { 455 "line": 20, 456 "column": 8 457 }, 458 "end": { 459 "line": 20, 460 "column": 9 461 } 462 } 463 }, 464 "init": { 465 "type": "ArrayExpression", 466 "elements": [ 467 { 468 "type": "NumberLiteral", 469 "value": 12, 470 "loc": { 471 "start": { 472 "line": 20, 473 "column": 32 474 }, 475 "end": { 476 "line": 20, 477 "column": 36 478 } 479 } 480 }, 481 { 482 "type": "StringLiteral", 483 "value": "Hello World", 484 "loc": { 485 "start": { 486 "line": 20, 487 "column": 38 488 }, 489 "end": { 490 "line": 20, 491 "column": 51 492 } 493 } 494 } 495 ], 496 "loc": { 497 "start": { 498 "line": 20, 499 "column": 31 500 }, 501 "end": { 502 "line": 20, 503 "column": 52 504 } 505 } 506 }, 507 "loc": { 508 "start": { 509 "line": 20, 510 "column": 8 511 }, 512 "end": { 513 "line": 20, 514 "column": 52 515 } 516 } 517 } 518 ], 519 "kind": "let", 520 "loc": { 521 "start": { 522 "line": 20, 523 "column": 4 524 }, 525 "end": { 526 "line": 20, 527 "column": 53 528 } 529 } 530 }, 531 { 532 "type": "VariableDeclaration", 533 "declarations": [ 534 { 535 "type": "VariableDeclarator", 536 "id": { 537 "type": "Identifier", 538 "name": "y", 539 "typeAnnotation": { 540 "type": "ETSTypeReference", 541 "part": { 542 "type": "ETSTypeReferencePart", 543 "name": { 544 "type": "Identifier", 545 "name": "TTupleUnion", 546 "decorators": [], 547 "loc": { 548 "start": { 549 "line": 21, 550 "column": 11 551 }, 552 "end": { 553 "line": 21, 554 "column": 22 555 } 556 } 557 }, 558 "loc": { 559 "start": { 560 "line": 21, 561 "column": 11 562 }, 563 "end": { 564 "line": 21, 565 "column": 24 566 } 567 } 568 }, 569 "loc": { 570 "start": { 571 "line": 21, 572 "column": 11 573 }, 574 "end": { 575 "line": 21, 576 "column": 24 577 } 578 } 579 }, 580 "decorators": [], 581 "loc": { 582 "start": { 583 "line": 21, 584 "column": 8 585 }, 586 "end": { 587 "line": 21, 588 "column": 9 589 } 590 } 591 }, 592 "init": { 593 "type": "UndefinedLiteral", 594 "value": undefined, 595 "loc": { 596 "start": { 597 "line": 21, 598 "column": 25 599 }, 600 "end": { 601 "line": 21, 602 "column": 34 603 } 604 } 605 }, 606 "loc": { 607 "start": { 608 "line": 21, 609 "column": 8 610 }, 611 "end": { 612 "line": 21, 613 "column": 34 614 } 615 } 616 } 617 ], 618 "kind": "let", 619 "loc": { 620 "start": { 621 "line": 21, 622 "column": 4 623 }, 624 "end": { 625 "line": 21, 626 "column": 35 627 } 628 } 629 }, 630 { 631 "type": "AssertStatement", 632 "test": { 633 "type": "BinaryExpression", 634 "operator": "==", 635 "left": { 636 "type": "MemberExpression", 637 "object": { 638 "type": "Identifier", 639 "name": "x", 640 "decorators": [], 641 "loc": { 642 "start": { 643 "line": 23, 644 "column": 11 645 }, 646 "end": { 647 "line": 23, 648 "column": 12 649 } 650 } 651 }, 652 "property": { 653 "type": "NumberLiteral", 654 "value": 0, 655 "loc": { 656 "start": { 657 "line": 23, 658 "column": 13 659 }, 660 "end": { 661 "line": 23, 662 "column": 14 663 } 664 } 665 }, 666 "computed": true, 667 "optional": false, 668 "loc": { 669 "start": { 670 "line": 23, 671 "column": 11 672 }, 673 "end": { 674 "line": 23, 675 "column": 15 676 } 677 } 678 }, 679 "right": { 680 "type": "NumberLiteral", 681 "value": 12, 682 "loc": { 683 "start": { 684 "line": 23, 685 "column": 19 686 }, 687 "end": { 688 "line": 23, 689 "column": 23 690 } 691 } 692 }, 693 "loc": { 694 "start": { 695 "line": 23, 696 "column": 11 697 }, 698 "end": { 699 "line": 23, 700 "column": 23 701 } 702 } 703 }, 704 "second": null, 705 "loc": { 706 "start": { 707 "line": 23, 708 "column": 4 709 }, 710 "end": { 711 "line": 23, 712 "column": 24 713 } 714 } 715 } 716 ], 717 "loc": { 718 "start": { 719 "line": 19, 720 "column": 23 721 }, 722 "end": { 723 "line": 24, 724 "column": 2 725 } 726 } 727 }, 728 "loc": { 729 "start": { 730 "line": 19, 731 "column": 14 732 }, 733 "end": { 734 "line": 24, 735 "column": 2 736 } 737 } 738 }, 739 "loc": { 740 "start": { 741 "line": 19, 742 "column": 14 743 }, 744 "end": { 745 "line": 24, 746 "column": 2 747 } 748 } 749 }, 750 "overloads": [], 751 "decorators": [], 752 "loc": { 753 "start": { 754 "line": 19, 755 "column": 1 756 }, 757 "end": { 758 "line": 24, 759 "column": 2 760 } 761 } 762 } 763 ], 764 "loc": { 765 "start": { 766 "line": 1, 767 "column": 1 768 }, 769 "end": { 770 "line": 1, 771 "column": 1 772 } 773 } 774 }, 775 "loc": { 776 "start": { 777 "line": 1, 778 "column": 1 779 }, 780 "end": { 781 "line": 1, 782 "column": 1 783 } 784 } 785 } 786 ], 787 "loc": { 788 "start": { 789 "line": 1, 790 "column": 1 791 }, 792 "end": { 793 "line": 25, 794 "column": 1 795 } 796 } 797} 798