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 "loc": { 211 "start": { 212 "line": 19, 213 "column": 14 214 }, 215 "end": { 216 "line": 19, 217 "column": 26 218 } 219 } 220 } 221 ], 222 "loc": { 223 "start": { 224 "line": 19, 225 "column": 5 226 }, 227 "end": { 228 "line": 19, 229 "column": 29 230 } 231 } 232 } 233 ], 234 "loc": { 235 "start": { 236 "line": 17, 237 "column": 22 238 }, 239 "end": { 240 "line": 20, 241 "column": 2 242 } 243 } 244 }, 245 "declare": true, 246 "global": false, 247 "loc": { 248 "start": { 249 "line": 17, 250 "column": 9 251 }, 252 "end": { 253 "line": 22, 254 "column": 3 255 } 256 } 257 }, 258 { 259 "type": "ExpressionStatement", 260 "expression": { 261 "type": "CallExpression", 262 "callee": { 263 "type": "MemberExpression", 264 "object": { 265 "type": "Identifier", 266 "name": "ns", 267 "loc": { 268 "start": { 269 "line": 22, 270 "column": 1 271 }, 272 "end": { 273 "line": 22, 274 "column": 3 275 } 276 } 277 }, 278 "property": { 279 "type": "Identifier", 280 "name": "try", 281 "loc": { 282 "start": { 283 "line": 22, 284 "column": 4 285 }, 286 "end": { 287 "line": 22, 288 "column": 7 289 } 290 } 291 }, 292 "computed": false, 293 "optional": false, 294 "loc": { 295 "start": { 296 "line": 22, 297 "column": 1 298 }, 299 "end": { 300 "line": 22, 301 "column": 7 302 } 303 } 304 }, 305 "arguments": [ 306 { 307 "type": "ArrowFunctionExpression", 308 "function": { 309 "type": "ScriptFunction", 310 "id": null, 311 "generator": false, 312 "async": false, 313 "expression": false, 314 "params": [], 315 "body": { 316 "type": "BlockStatement", 317 "statements": [], 318 "loc": { 319 "start": { 320 "line": 22, 321 "column": 14 322 }, 323 "end": { 324 "line": 22, 325 "column": 17 326 } 327 } 328 }, 329 "loc": { 330 "start": { 331 "line": 22, 332 "column": 8 333 }, 334 "end": { 335 "line": 22, 336 "column": 17 337 } 338 } 339 }, 340 "loc": { 341 "start": { 342 "line": 22, 343 "column": 8 344 }, 345 "end": { 346 "line": 22, 347 "column": 17 348 } 349 } 350 } 351 ], 352 "optional": false, 353 "loc": { 354 "start": { 355 "line": 22, 356 "column": 1 357 }, 358 "end": { 359 "line": 22, 360 "column": 18 361 } 362 } 363 }, 364 "loc": { 365 "start": { 366 "line": 22, 367 "column": 1 368 }, 369 "end": { 370 "line": 22, 371 "column": 19 372 } 373 } 374 }, 375 { 376 "type": "TSModuleDeclaration", 377 "id": { 378 "type": "Identifier", 379 "name": "ns1", 380 "loc": { 381 "start": { 382 "line": 24, 383 "column": 19 384 }, 385 "end": { 386 "line": 24, 387 "column": 22 388 } 389 } 390 }, 391 "body": { 392 "type": "TSModuleBlock", 393 "body": [ 394 { 395 "type": "TSEnumDeclaration", 396 "id": { 397 "type": "Identifier", 398 "name": "a", 399 "loc": { 400 "start": { 401 "line": 25, 402 "column": 10 403 }, 404 "end": { 405 "line": 25, 406 "column": 11 407 } 408 } 409 }, 410 "members": [], 411 "const": false, 412 "loc": { 413 "start": { 414 "line": 25, 415 "column": 5 416 }, 417 "end": { 418 "line": 25, 419 "column": 14 420 } 421 } 422 }, 423 { 424 "type": "ExportNamedDeclaration", 425 "declaration": null, 426 "source": null, 427 "specifiers": [ 428 { 429 "type": "ExportSpecifier", 430 "local": { 431 "type": "Identifier", 432 "name": "a", 433 "loc": { 434 "start": { 435 "line": 26, 436 "column": 14 437 }, 438 "end": { 439 "line": 26, 440 "column": 15 441 } 442 } 443 }, 444 "exported": { 445 "type": "Identifier", 446 "name": "enum1", 447 "loc": { 448 "start": { 449 "line": 26, 450 "column": 19 451 }, 452 "end": { 453 "line": 26, 454 "column": 24 455 } 456 } 457 }, 458 "loc": { 459 "start": { 460 "line": 26, 461 "column": 14 462 }, 463 "end": { 464 "line": 26, 465 "column": 24 466 } 467 } 468 } 469 ], 470 "loc": { 471 "start": { 472 "line": 26, 473 "column": 5 474 }, 475 "end": { 476 "line": 26, 477 "column": 27 478 } 479 } 480 } 481 ], 482 "loc": { 483 "start": { 484 "line": 24, 485 "column": 23 486 }, 487 "end": { 488 "line": 27, 489 "column": 2 490 } 491 } 492 }, 493 "declare": true, 494 "global": false, 495 "loc": { 496 "start": { 497 "line": 24, 498 "column": 9 499 }, 500 "end": { 501 "line": 29, 502 "column": 8 503 } 504 } 505 }, 506 { 507 "type": "TSModuleDeclaration", 508 "id": { 509 "type": "Identifier", 510 "name": "nullns", 511 "loc": { 512 "start": { 513 "line": 29, 514 "column": 19 515 }, 516 "end": { 517 "line": 29, 518 "column": 25 519 } 520 } 521 }, 522 "body": { 523 "type": "TSModuleBlock", 524 "body": [], 525 "loc": { 526 "start": { 527 "line": 29, 528 "column": 25 529 }, 530 "end": { 531 "line": 31, 532 "column": 2 533 } 534 } 535 }, 536 "declare": true, 537 "global": false, 538 "loc": { 539 "start": { 540 "line": 29, 541 "column": 9 542 }, 543 "end": { 544 "line": 32, 545 "column": 7 546 } 547 } 548 }, 549 { 550 "type": "ExportNamedDeclaration", 551 "declaration": null, 552 "source": null, 553 "specifiers": [ 554 { 555 "type": "ExportSpecifier", 556 "local": { 557 "type": "Identifier", 558 "name": "nullns", 559 "loc": { 560 "start": { 561 "line": 32, 562 "column": 10 563 }, 564 "end": { 565 "line": 32, 566 "column": 16 567 } 568 } 569 }, 570 "exported": { 571 "type": "Identifier", 572 "name": "foo", 573 "loc": { 574 "start": { 575 "line": 32, 576 "column": 20 577 }, 578 "end": { 579 "line": 32, 580 "column": 23 581 } 582 } 583 }, 584 "loc": { 585 "start": { 586 "line": 32, 587 "column": 10 588 }, 589 "end": { 590 "line": 32, 591 "column": 23 592 } 593 } 594 } 595 ], 596 "loc": { 597 "start": { 598 "line": 32, 599 "column": 1 600 }, 601 "end": { 602 "line": 32, 603 "column": 25 604 } 605 } 606 }, 607 { 608 "type": "TSModuleDeclaration", 609 "id": { 610 "type": "Identifier", 611 "name": "ns2", 612 "loc": { 613 "start": { 614 "line": 34, 615 "column": 19 616 }, 617 "end": { 618 "line": 34, 619 "column": 22 620 } 621 } 622 }, 623 "body": { 624 "type": "TSModuleBlock", 625 "body": [ 626 { 627 "type": "ExportNamedDeclaration", 628 "declaration": { 629 "type": "VariableDeclaration", 630 "declarations": [ 631 { 632 "type": "VariableDeclarator", 633 "id": { 634 "type": "Identifier", 635 "name": "a", 636 "loc": { 637 "start": { 638 "line": 35, 639 "column": 16 640 }, 641 "end": { 642 "line": 35, 643 "column": 17 644 } 645 } 646 }, 647 "init": null, 648 "loc": { 649 "start": { 650 "line": 35, 651 "column": 16 652 }, 653 "end": { 654 "line": 35, 655 "column": 17 656 } 657 } 658 } 659 ], 660 "kind": "var", 661 "loc": { 662 "start": { 663 "line": 35, 664 "column": 12 665 }, 666 "end": { 667 "line": 35, 668 "column": 18 669 } 670 } 671 }, 672 "source": null, 673 "specifiers": [], 674 "loc": { 675 "start": { 676 "line": 35, 677 "column": 5 678 }, 679 "end": { 680 "line": 35, 681 "column": 18 682 } 683 } 684 } 685 ], 686 "loc": { 687 "start": { 688 "line": 34, 689 "column": 23 690 }, 691 "end": { 692 "line": 36, 693 "column": 2 694 } 695 } 696 }, 697 "declare": true, 698 "global": false, 699 "loc": { 700 "start": { 701 "line": 34, 702 "column": 9 703 }, 704 "end": { 705 "line": 38, 706 "column": 8 707 } 708 } 709 }, 710 { 711 "type": "TSModuleDeclaration", 712 "id": { 713 "type": "Identifier", 714 "name": "ns2", 715 "loc": { 716 "start": { 717 "line": 38, 718 "column": 19 719 }, 720 "end": { 721 "line": 38, 722 "column": 22 723 } 724 } 725 }, 726 "body": { 727 "type": "TSModuleBlock", 728 "body": [ 729 { 730 "type": "ExportNamedDeclaration", 731 "declaration": null, 732 "source": null, 733 "specifiers": [ 734 { 735 "type": "ExportSpecifier", 736 "local": { 737 "type": "Identifier", 738 "name": "a", 739 "loc": { 740 "start": { 741 "line": 39, 742 "column": 13 743 }, 744 "end": { 745 "line": 39, 746 "column": 14 747 } 748 } 749 }, 750 "exported": { 751 "type": "Identifier", 752 "name": "b", 753 "loc": { 754 "start": { 755 "line": 39, 756 "column": 18 757 }, 758 "end": { 759 "line": 39, 760 "column": 19 761 } 762 } 763 }, 764 "loc": { 765 "start": { 766 "line": 39, 767 "column": 13 768 }, 769 "end": { 770 "line": 39, 771 "column": 19 772 } 773 } 774 } 775 ], 776 "loc": { 777 "start": { 778 "line": 39, 779 "column": 5 780 }, 781 "end": { 782 "line": 39, 783 "column": 20 784 } 785 } 786 } 787 ], 788 "loc": { 789 "start": { 790 "line": 38, 791 "column": 23 792 }, 793 "end": { 794 "line": 40, 795 "column": 2 796 } 797 } 798 }, 799 "declare": true, 800 "global": false, 801 "loc": { 802 "start": { 803 "line": 38, 804 "column": 9 805 }, 806 "end": { 807 "line": 40, 808 "column": 2 809 } 810 } 811 } 812 ], 813 "loc": { 814 "start": { 815 "line": 1, 816 "column": 1 817 }, 818 "end": { 819 "line": 40, 820 "column": 2 821 } 822 } 823} 824