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