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