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