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