1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "TSInterfaceDeclaration",
6      "body": {
7        "type": "TSInterfaceBody",
8        "body": [
9          {
10            "type": "TSPropertySignature",
11            "computed": false,
12            "optional": false,
13            "readonly": false,
14            "key": {
15              "type": "Identifier",
16              "name": "a",
17              "loc": {
18                "start": {
19                  "line": 18,
20                  "column": 5
21                },
22                "end": {
23                  "line": 18,
24                  "column": 6
25                }
26              }
27            },
28            "typeAnnotation": {
29              "type": "TSNumberKeyword",
30              "loc": {
31                "start": {
32                  "line": 18,
33                  "column": 8
34                },
35                "end": {
36                  "line": 18,
37                  "column": 14
38                }
39              }
40            },
41            "loc": {
42              "start": {
43                "line": 18,
44                "column": 5
45              },
46              "end": {
47                "line": 18,
48                "column": 15
49              }
50            }
51          }
52        ],
53        "loc": {
54          "start": {
55            "line": 17,
56            "column": 14
57          },
58          "end": {
59            "line": 19,
60            "column": 2
61          }
62        }
63      },
64      "id": {
65        "type": "Identifier",
66        "name": "I1",
67        "loc": {
68          "start": {
69            "line": 17,
70            "column": 11
71          },
72          "end": {
73            "line": 17,
74            "column": 13
75          }
76        }
77      },
78      "extends": [],
79      "loc": {
80        "start": {
81          "line": 17,
82          "column": 1
83        },
84        "end": {
85          "line": 19,
86          "column": 2
87        }
88      }
89    },
90    {
91      "type": "TSTypeAliasDeclaration",
92      "id": {
93        "type": "Identifier",
94        "name": "T1",
95        "loc": {
96          "start": {
97            "line": 21,
98            "column": 6
99          },
100          "end": {
101            "line": 21,
102            "column": 8
103          }
104        }
105      },
106      "typeAnnotation": {
107        "type": "TSTypeLiteral",
108        "members": [
109          {
110            "type": "TSPropertySignature",
111            "computed": false,
112            "optional": false,
113            "readonly": false,
114            "key": {
115              "type": "Identifier",
116              "name": "a",
117              "loc": {
118                "start": {
119                  "line": 22,
120                  "column": 5
121                },
122                "end": {
123                  "line": 22,
124                  "column": 6
125                }
126              }
127            },
128            "typeAnnotation": {
129              "type": "TSUnionType",
130              "types": [
131                {
132                  "type": "TSLiteralType",
133                  "literal": {
134                    "type": "StringLiteral",
135                    "value": "a",
136                    "loc": {
137                      "start": {
138                        "line": 22,
139                        "column": 8
140                      },
141                      "end": {
142                        "line": 22,
143                        "column": 11
144                      }
145                    }
146                  },
147                  "loc": {
148                    "start": {
149                      "line": 22,
150                      "column": 8
151                    },
152                    "end": {
153                      "line": 22,
154                      "column": 11
155                    }
156                  }
157                },
158                {
159                  "type": "TSLiteralType",
160                  "literal": {
161                    "type": "StringLiteral",
162                    "value": "b",
163                    "loc": {
164                      "start": {
165                        "line": 22,
166                        "column": 14
167                      },
168                      "end": {
169                        "line": 22,
170                        "column": 17
171                      }
172                    }
173                  },
174                  "loc": {
175                    "start": {
176                      "line": 22,
177                      "column": 14
178                    },
179                    "end": {
180                      "line": 22,
181                      "column": 17
182                    }
183                  }
184                }
185              ],
186              "loc": {
187                "start": {
188                  "line": 22,
189                  "column": 8
190                },
191                "end": {
192                  "line": 22,
193                  "column": 17
194                }
195              }
196            },
197            "loc": {
198              "start": {
199                "line": 22,
200                "column": 5
201              },
202              "end": {
203                "line": 22,
204                "column": 18
205              }
206            }
207          }
208        ],
209        "loc": {
210          "start": {
211            "line": 21,
212            "column": 11
213          },
214          "end": {
215            "line": 23,
216            "column": 2
217          }
218        }
219      },
220      "loc": {
221        "start": {
222          "line": 21,
223          "column": 1
224        },
225        "end": {
226          "line": 25,
227          "column": 5
228        }
229      }
230    },
231    {
232      "type": "TSTypeAliasDeclaration",
233      "id": {
234        "type": "Identifier",
235        "name": "T2",
236        "loc": {
237          "start": {
238            "line": 25,
239            "column": 6
240          },
241          "end": {
242            "line": 25,
243            "column": 8
244          }
245        }
246      },
247      "typeAnnotation": {
248        "type": "TSFunctionType",
249        "params": [
250          {
251            "type": "Identifier",
252            "name": "x",
253            "typeAnnotation": {
254              "type": "TSStringKeyword",
255              "loc": {
256                "start": {
257                  "line": 25,
258                  "column": 15
259                },
260                "end": {
261                  "line": 25,
262                  "column": 21
263                }
264              }
265            },
266            "loc": {
267              "start": {
268                "line": 25,
269                "column": 12
270              },
271              "end": {
272                "line": 25,
273                "column": 13
274              }
275            }
276          }
277        ],
278        "returnType": {
279          "type": "TSVoidKeyword",
280          "loc": {
281            "start": {
282              "line": 25,
283              "column": 26
284            },
285            "end": {
286              "line": 25,
287              "column": 30
288            }
289          }
290        },
291        "loc": {
292          "start": {
293            "line": 25,
294            "column": 11
295          },
296          "end": {
297            "line": 25,
298            "column": 30
299          }
300        }
301      },
302      "loc": {
303        "start": {
304          "line": 25,
305          "column": 1
306        },
307        "end": {
308          "line": 25,
309          "column": 31
310        }
311      }
312    },
313    {
314      "type": "VariableDeclaration",
315      "declarations": [
316        {
317          "type": "VariableDeclarator",
318          "id": {
319            "type": "Identifier",
320            "name": "t1",
321            "loc": {
322              "start": {
323                "line": 27,
324                "column": 7
325              },
326              "end": {
327                "line": 27,
328                "column": 9
329              }
330            }
331          },
332          "init": {
333            "type": "TSSatisfiesExpression",
334            "expression": {
335              "type": "ObjectExpression",
336              "properties": [
337                {
338                  "type": "Property",
339                  "method": false,
340                  "shorthand": false,
341                  "computed": false,
342                  "key": {
343                    "type": "Identifier",
344                    "name": "a",
345                    "loc": {
346                      "start": {
347                        "line": 27,
348                        "column": 14
349                      },
350                      "end": {
351                        "line": 27,
352                        "column": 15
353                      }
354                    }
355                  },
356                  "value": {
357                    "type": "NumberLiteral",
358                    "value": 1,
359                    "loc": {
360                      "start": {
361                        "line": 27,
362                        "column": 17
363                      },
364                      "end": {
365                        "line": 27,
366                        "column": 18
367                      }
368                    }
369                  },
370                  "kind": "init",
371                  "loc": {
372                    "start": {
373                      "line": 27,
374                      "column": 14
375                    },
376                    "end": {
377                      "line": 27,
378                      "column": 18
379                    }
380                  }
381                }
382              ],
383              "loc": {
384                "start": {
385                  "line": 27,
386                  "column": 12
387                },
388                "end": {
389                  "line": 27,
390                  "column": 20
391                }
392              }
393            },
394            "typeAnnotation": {
395              "type": "TSTypeReference",
396              "typeName": {
397                "type": "Identifier",
398                "name": "I1",
399                "loc": {
400                  "start": {
401                    "line": 27,
402                    "column": 31
403                  },
404                  "end": {
405                    "line": 27,
406                    "column": 33
407                  }
408                }
409              },
410              "loc": {
411                "start": {
412                  "line": 27,
413                  "column": 31
414                },
415                "end": {
416                  "line": 27,
417                  "column": 33
418                }
419              }
420            },
421            "loc": {
422              "start": {
423                "line": 27,
424                "column": 12
425              },
426              "end": {
427                "line": 27,
428                "column": 34
429              }
430            }
431          },
432          "loc": {
433            "start": {
434              "line": 27,
435              "column": 7
436            },
437            "end": {
438              "line": 27,
439              "column": 34
440            }
441          }
442        }
443      ],
444      "kind": "const",
445      "loc": {
446        "start": {
447          "line": 27,
448          "column": 1
449        },
450        "end": {
451          "line": 27,
452          "column": 34
453        }
454      }
455    },
456    {
457      "type": "VariableDeclaration",
458      "declarations": [
459        {
460          "type": "VariableDeclarator",
461          "id": {
462            "type": "Identifier",
463            "name": "t2",
464            "loc": {
465              "start": {
466                "line": 28,
467                "column": 7
468              },
469              "end": {
470                "line": 28,
471                "column": 9
472              }
473            }
474          },
475          "init": {
476            "type": "TSSatisfiesExpression",
477            "expression": {
478              "type": "ObjectExpression",
479              "properties": [
480                {
481                  "type": "Property",
482                  "method": false,
483                  "shorthand": false,
484                  "computed": false,
485                  "key": {
486                    "type": "Identifier",
487                    "name": "a",
488                    "loc": {
489                      "start": {
490                        "line": 28,
491                        "column": 14
492                      },
493                      "end": {
494                        "line": 28,
495                        "column": 15
496                      }
497                    }
498                  },
499                  "value": {
500                    "type": "NumberLiteral",
501                    "value": 1,
502                    "loc": {
503                      "start": {
504                        "line": 28,
505                        "column": 17
506                      },
507                      "end": {
508                        "line": 28,
509                        "column": 18
510                      }
511                    }
512                  },
513                  "kind": "init",
514                  "loc": {
515                    "start": {
516                      "line": 28,
517                      "column": 14
518                    },
519                    "end": {
520                      "line": 28,
521                      "column": 18
522                    }
523                  }
524                },
525                {
526                  "type": "Property",
527                  "method": false,
528                  "shorthand": false,
529                  "computed": false,
530                  "key": {
531                    "type": "Identifier",
532                    "name": "b",
533                    "loc": {
534                      "start": {
535                        "line": 28,
536                        "column": 20
537                      },
538                      "end": {
539                        "line": 28,
540                        "column": 21
541                      }
542                    }
543                  },
544                  "value": {
545                    "type": "NumberLiteral",
546                    "value": 1,
547                    "loc": {
548                      "start": {
549                        "line": 28,
550                        "column": 23
551                      },
552                      "end": {
553                        "line": 28,
554                        "column": 24
555                      }
556                    }
557                  },
558                  "kind": "init",
559                  "loc": {
560                    "start": {
561                      "line": 28,
562                      "column": 20
563                    },
564                    "end": {
565                      "line": 28,
566                      "column": 24
567                    }
568                  }
569                }
570              ],
571              "loc": {
572                "start": {
573                  "line": 28,
574                  "column": 12
575                },
576                "end": {
577                  "line": 28,
578                  "column": 26
579                }
580              }
581            },
582            "typeAnnotation": {
583              "type": "TSTypeReference",
584              "typeName": {
585                "type": "Identifier",
586                "name": "I1",
587                "loc": {
588                  "start": {
589                    "line": 28,
590                    "column": 37
591                  },
592                  "end": {
593                    "line": 28,
594                    "column": 39
595                  }
596                }
597              },
598              "loc": {
599                "start": {
600                  "line": 28,
601                  "column": 37
602                },
603                "end": {
604                  "line": 28,
605                  "column": 39
606                }
607              }
608            },
609            "loc": {
610              "start": {
611                "line": 28,
612                "column": 12
613              },
614              "end": {
615                "line": 28,
616                "column": 40
617              }
618            }
619          },
620          "loc": {
621            "start": {
622              "line": 28,
623              "column": 7
624            },
625            "end": {
626              "line": 28,
627              "column": 40
628            }
629          }
630        }
631      ],
632      "kind": "const",
633      "loc": {
634        "start": {
635          "line": 28,
636          "column": 1
637        },
638        "end": {
639          "line": 28,
640          "column": 40
641        }
642      }
643    },
644    {
645      "type": "VariableDeclaration",
646      "declarations": [
647        {
648          "type": "VariableDeclarator",
649          "id": {
650            "type": "Identifier",
651            "name": "t3",
652            "loc": {
653              "start": {
654                "line": 29,
655                "column": 7
656              },
657              "end": {
658                "line": 29,
659                "column": 9
660              }
661            }
662          },
663          "init": {
664            "type": "TSSatisfiesExpression",
665            "expression": {
666              "type": "ObjectExpression",
667              "properties": [],
668              "loc": {
669                "start": {
670                  "line": 29,
671                  "column": 12
672                },
673                "end": {
674                  "line": 29,
675                  "column": 15
676                }
677              }
678            },
679            "typeAnnotation": {
680              "type": "TSTypeReference",
681              "typeName": {
682                "type": "Identifier",
683                "name": "I1",
684                "loc": {
685                  "start": {
686                    "line": 29,
687                    "column": 26
688                  },
689                  "end": {
690                    "line": 29,
691                    "column": 28
692                  }
693                }
694              },
695              "loc": {
696                "start": {
697                  "line": 29,
698                  "column": 26
699                },
700                "end": {
701                  "line": 29,
702                  "column": 28
703                }
704              }
705            },
706            "loc": {
707              "start": {
708                "line": 29,
709                "column": 12
710              },
711              "end": {
712                "line": 29,
713                "column": 29
714              }
715            }
716          },
717          "loc": {
718            "start": {
719              "line": 29,
720              "column": 7
721            },
722            "end": {
723              "line": 29,
724              "column": 29
725            }
726          }
727        }
728      ],
729      "kind": "const",
730      "loc": {
731        "start": {
732          "line": 29,
733          "column": 1
734        },
735        "end": {
736          "line": 29,
737          "column": 29
738        }
739      }
740    },
741    {
742      "type": "VariableDeclaration",
743      "declarations": [
744        {
745          "type": "VariableDeclarator",
746          "id": {
747            "type": "Identifier",
748            "name": "t4",
749            "typeAnnotation": {
750              "type": "TSTypeReference",
751              "typeName": {
752                "type": "Identifier",
753                "name": "T1",
754                "loc": {
755                  "start": {
756                    "line": 31,
757                    "column": 11
758                  },
759                  "end": {
760                    "line": 31,
761                    "column": 13
762                  }
763                }
764              },
765              "loc": {
766                "start": {
767                  "line": 31,
768                  "column": 11
769                },
770                "end": {
771                  "line": 31,
772                  "column": 13
773                }
774              }
775            },
776            "loc": {
777              "start": {
778                "line": 31,
779                "column": 7
780              },
781              "end": {
782                "line": 31,
783                "column": 9
784              }
785            }
786          },
787          "init": {
788            "type": "TSSatisfiesExpression",
789            "expression": {
790              "type": "ObjectExpression",
791              "properties": [
792                {
793                  "type": "Property",
794                  "method": false,
795                  "shorthand": false,
796                  "computed": false,
797                  "key": {
798                    "type": "Identifier",
799                    "name": "a",
800                    "loc": {
801                      "start": {
802                        "line": 31,
803                        "column": 18
804                      },
805                      "end": {
806                        "line": 31,
807                        "column": 19
808                      }
809                    }
810                  },
811                  "value": {
812                    "type": "StringLiteral",
813                    "value": "a",
814                    "loc": {
815                      "start": {
816                        "line": 31,
817                        "column": 21
818                      },
819                      "end": {
820                        "line": 31,
821                        "column": 24
822                      }
823                    }
824                  },
825                  "kind": "init",
826                  "loc": {
827                    "start": {
828                      "line": 31,
829                      "column": 18
830                    },
831                    "end": {
832                      "line": 31,
833                      "column": 24
834                    }
835                  }
836                }
837              ],
838              "loc": {
839                "start": {
840                  "line": 31,
841                  "column": 16
842                },
843                "end": {
844                  "line": 31,
845                  "column": 26
846                }
847              }
848            },
849            "typeAnnotation": {
850              "type": "TSTypeReference",
851              "typeName": {
852                "type": "Identifier",
853                "name": "T1",
854                "loc": {
855                  "start": {
856                    "line": 31,
857                    "column": 37
858                  },
859                  "end": {
860                    "line": 31,
861                    "column": 39
862                  }
863                }
864              },
865              "loc": {
866                "start": {
867                  "line": 31,
868                  "column": 37
869                },
870                "end": {
871                  "line": 31,
872                  "column": 39
873                }
874              }
875            },
876            "loc": {
877              "start": {
878                "line": 31,
879                "column": 16
880              },
881              "end": {
882                "line": 31,
883                "column": 40
884              }
885            }
886          },
887          "loc": {
888            "start": {
889              "line": 31,
890              "column": 7
891            },
892            "end": {
893              "line": 31,
894              "column": 40
895            }
896          }
897        }
898      ],
899      "kind": "const",
900      "loc": {
901        "start": {
902          "line": 31,
903          "column": 1
904        },
905        "end": {
906          "line": 31,
907          "column": 40
908        }
909      }
910    },
911    {
912      "type": "VariableDeclaration",
913      "declarations": [
914        {
915          "type": "VariableDeclarator",
916          "id": {
917            "type": "Identifier",
918            "name": "t5",
919            "loc": {
920              "start": {
921                "line": 32,
922                "column": 7
923              },
924              "end": {
925                "line": 32,
926                "column": 9
927              }
928            }
929          },
930          "init": {
931            "type": "TSSatisfiesExpression",
932            "expression": {
933              "type": "ArrowFunctionExpression",
934              "function": {
935                "type": "ScriptFunction",
936                "id": null,
937                "generator": false,
938                "async": false,
939                "expression": true,
940                "params": [
941                  {
942                    "type": "Identifier",
943                    "name": "m",
944                    "loc": {
945                      "start": {
946                        "line": 32,
947                        "column": 13
948                      },
949                      "end": {
950                        "line": 32,
951                        "column": 14
952                      }
953                    }
954                  }
955                ],
956                "body": {
957                  "type": "CallExpression",
958                  "callee": {
959                    "type": "MemberExpression",
960                    "object": {
961                      "type": "Identifier",
962                      "name": "m",
963                      "loc": {
964                        "start": {
965                          "line": 32,
966                          "column": 18
967                        },
968                        "end": {
969                          "line": 32,
970                          "column": 19
971                        }
972                      }
973                    },
974                    "property": {
975                      "type": "Identifier",
976                      "name": "substring",
977                      "loc": {
978                        "start": {
979                          "line": 32,
980                          "column": 20
981                        },
982                        "end": {
983                          "line": 32,
984                          "column": 29
985                        }
986                      }
987                    },
988                    "computed": false,
989                    "optional": false,
990                    "loc": {
991                      "start": {
992                        "line": 32,
993                        "column": 18
994                      },
995                      "end": {
996                        "line": 32,
997                        "column": 29
998                      }
999                    }
1000                  },
1001                  "arguments": [
1002                    {
1003                      "type": "NumberLiteral",
1004                      "value": 0,
1005                      "loc": {
1006                        "start": {
1007                          "line": 32,
1008                          "column": 30
1009                        },
1010                        "end": {
1011                          "line": 32,
1012                          "column": 31
1013                        }
1014                      }
1015                    }
1016                  ],
1017                  "optional": false,
1018                  "loc": {
1019                    "start": {
1020                      "line": 32,
1021                      "column": 18
1022                    },
1023                    "end": {
1024                      "line": 32,
1025                      "column": 32
1026                    }
1027                  }
1028                },
1029                "loc": {
1030                  "start": {
1031                    "line": 32,
1032                    "column": 13
1033                  },
1034                  "end": {
1035                    "line": 32,
1036                    "column": 32
1037                  }
1038                }
1039              },
1040              "loc": {
1041                "start": {
1042                  "line": 32,
1043                  "column": 12
1044                },
1045                "end": {
1046                  "line": 32,
1047                  "column": 33
1048                }
1049              }
1050            },
1051            "typeAnnotation": {
1052              "type": "TSTypeReference",
1053              "typeName": {
1054                "type": "Identifier",
1055                "name": "T2",
1056                "loc": {
1057                  "start": {
1058                    "line": 32,
1059                    "column": 44
1060                  },
1061                  "end": {
1062                    "line": 32,
1063                    "column": 46
1064                  }
1065                }
1066              },
1067              "loc": {
1068                "start": {
1069                  "line": 32,
1070                  "column": 44
1071                },
1072                "end": {
1073                  "line": 32,
1074                  "column": 46
1075                }
1076              }
1077            },
1078            "loc": {
1079              "start": {
1080                "line": 32,
1081                "column": 12
1082              },
1083              "end": {
1084                "line": 32,
1085                "column": 47
1086              }
1087            }
1088          },
1089          "loc": {
1090            "start": {
1091              "line": 32,
1092              "column": 7
1093            },
1094            "end": {
1095              "line": 32,
1096              "column": 47
1097            }
1098          }
1099        }
1100      ],
1101      "kind": "const",
1102      "loc": {
1103        "start": {
1104          "line": 32,
1105          "column": 1
1106        },
1107        "end": {
1108          "line": 32,
1109          "column": 47
1110        }
1111      }
1112    },
1113    {
1114      "type": "VariableDeclaration",
1115      "declarations": [
1116        {
1117          "type": "VariableDeclarator",
1118          "id": {
1119            "type": "Identifier",
1120            "name": "t6",
1121            "loc": {
1122              "start": {
1123                "line": 34,
1124                "column": 7
1125              },
1126              "end": {
1127                "line": 34,
1128                "column": 9
1129              }
1130            }
1131          },
1132          "init": {
1133            "type": "TSSatisfiesExpression",
1134            "expression": {
1135              "type": "ArrayExpression",
1136              "elements": [
1137                {
1138                  "type": "NumberLiteral",
1139                  "value": 1,
1140                  "loc": {
1141                    "start": {
1142                      "line": 34,
1143                      "column": 13
1144                    },
1145                    "end": {
1146                      "line": 34,
1147                      "column": 14
1148                    }
1149                  }
1150                },
1151                {
1152                  "type": "NumberLiteral",
1153                  "value": 2,
1154                  "loc": {
1155                    "start": {
1156                      "line": 34,
1157                      "column": 16
1158                    },
1159                    "end": {
1160                      "line": 34,
1161                      "column": 17
1162                    }
1163                  }
1164                }
1165              ],
1166              "loc": {
1167                "start": {
1168                  "line": 34,
1169                  "column": 12
1170                },
1171                "end": {
1172                  "line": 34,
1173                  "column": 18
1174                }
1175              }
1176            },
1177            "typeAnnotation": {
1178              "type": "TSTupleType",
1179              "elementTypes": [
1180                {
1181                  "type": "TSNumberKeyword",
1182                  "loc": {
1183                    "start": {
1184                      "line": 34,
1185                      "column": 30
1186                    },
1187                    "end": {
1188                      "line": 34,
1189                      "column": 36
1190                    }
1191                  }
1192                },
1193                {
1194                  "type": "TSNumberKeyword",
1195                  "loc": {
1196                    "start": {
1197                      "line": 34,
1198                      "column": 38
1199                    },
1200                    "end": {
1201                      "line": 34,
1202                      "column": 44
1203                    }
1204                  }
1205                }
1206              ],
1207              "loc": {
1208                "start": {
1209                  "line": 34,
1210                  "column": 29
1211                },
1212                "end": {
1213                  "line": 34,
1214                  "column": 45
1215                }
1216              }
1217            },
1218            "loc": {
1219              "start": {
1220                "line": 34,
1221                "column": 12
1222              },
1223              "end": {
1224                "line": 34,
1225                "column": 46
1226              }
1227            }
1228          },
1229          "loc": {
1230            "start": {
1231              "line": 34,
1232              "column": 7
1233            },
1234            "end": {
1235              "line": 34,
1236              "column": 46
1237            }
1238          }
1239        }
1240      ],
1241      "kind": "const",
1242      "loc": {
1243        "start": {
1244          "line": 34,
1245          "column": 1
1246        },
1247        "end": {
1248          "line": 34,
1249          "column": 46
1250        }
1251      }
1252    },
1253    {
1254      "type": "TSInterfaceDeclaration",
1255      "body": {
1256        "type": "TSInterfaceBody",
1257        "body": [
1258          {
1259            "type": "TSPropertySignature",
1260            "computed": false,
1261            "optional": false,
1262            "readonly": false,
1263            "key": {
1264              "type": "Identifier",
1265              "name": "a",
1266              "loc": {
1267                "start": {
1268                  "line": 37,
1269                  "column": 5
1270                },
1271                "end": {
1272                  "line": 37,
1273                  "column": 6
1274                }
1275              }
1276            },
1277            "typeAnnotation": {
1278              "type": "TSStringKeyword",
1279              "loc": {
1280                "start": {
1281                  "line": 37,
1282                  "column": 8
1283                },
1284                "end": {
1285                  "line": 37,
1286                  "column": 14
1287                }
1288              }
1289            },
1290            "loc": {
1291              "start": {
1292                "line": 37,
1293                "column": 5
1294              },
1295              "end": {
1296                "line": 38,
1297                "column": 2
1298              }
1299            }
1300          }
1301        ],
1302        "loc": {
1303          "start": {
1304            "line": 36,
1305            "column": 13
1306          },
1307          "end": {
1308            "line": 38,
1309            "column": 2
1310          }
1311        }
1312      },
1313      "id": {
1314        "type": "Identifier",
1315        "name": "A",
1316        "loc": {
1317          "start": {
1318            "line": 36,
1319            "column": 11
1320          },
1321          "end": {
1322            "line": 36,
1323            "column": 12
1324          }
1325        }
1326      },
1327      "extends": [],
1328      "loc": {
1329        "start": {
1330          "line": 36,
1331          "column": 1
1332        },
1333        "end": {
1334          "line": 38,
1335          "column": 2
1336        }
1337      }
1338    },
1339    {
1340      "type": "VariableDeclaration",
1341      "declarations": [
1342        {
1343          "type": "VariableDeclarator",
1344          "id": {
1345            "type": "Identifier",
1346            "name": "t7",
1347            "loc": {
1348              "start": {
1349                "line": 39,
1350                "column": 5
1351              },
1352              "end": {
1353                "line": 39,
1354                "column": 7
1355              }
1356            }
1357          },
1358          "init": {
1359            "type": "TSSatisfiesExpression",
1360            "expression": {
1361              "type": "ObjectExpression",
1362              "properties": [
1363                {
1364                  "type": "Property",
1365                  "method": false,
1366                  "shorthand": false,
1367                  "computed": false,
1368                  "key": {
1369                    "type": "Identifier",
1370                    "name": "a",
1371                    "loc": {
1372                      "start": {
1373                        "line": 39,
1374                        "column": 12
1375                      },
1376                      "end": {
1377                        "line": 39,
1378                        "column": 13
1379                      }
1380                    }
1381                  },
1382                  "value": {
1383                    "type": "StringLiteral",
1384                    "value": "test",
1385                    "loc": {
1386                      "start": {
1387                        "line": 39,
1388                        "column": 15
1389                      },
1390                      "end": {
1391                        "line": 39,
1392                        "column": 21
1393                      }
1394                    }
1395                  },
1396                  "kind": "init",
1397                  "loc": {
1398                    "start": {
1399                      "line": 39,
1400                      "column": 12
1401                    },
1402                    "end": {
1403                      "line": 39,
1404                      "column": 21
1405                    }
1406                  }
1407                }
1408              ],
1409              "loc": {
1410                "start": {
1411                  "line": 39,
1412                  "column": 10
1413                },
1414                "end": {
1415                  "line": 39,
1416                  "column": 23
1417                }
1418              }
1419            },
1420            "typeAnnotation": {
1421              "type": "TSTypeReference",
1422              "typeName": {
1423                "type": "Identifier",
1424                "name": "A",
1425                "loc": {
1426                  "start": {
1427                    "line": 39,
1428                    "column": 34
1429                  },
1430                  "end": {
1431                    "line": 39,
1432                    "column": 35
1433                  }
1434                }
1435              },
1436              "loc": {
1437                "start": {
1438                  "line": 39,
1439                  "column": 34
1440                },
1441                "end": {
1442                  "line": 39,
1443                  "column": 35
1444                }
1445              }
1446            },
1447            "loc": {
1448              "start": {
1449                "line": 39,
1450                "column": 10
1451              },
1452              "end": {
1453                "line": 39,
1454                "column": 36
1455              }
1456            }
1457          },
1458          "loc": {
1459            "start": {
1460              "line": 39,
1461              "column": 5
1462            },
1463            "end": {
1464              "line": 39,
1465              "column": 36
1466            }
1467          }
1468        }
1469      ],
1470      "kind": "let",
1471      "loc": {
1472        "start": {
1473          "line": 39,
1474          "column": 1
1475        },
1476        "end": {
1477          "line": 39,
1478          "column": 36
1479        }
1480      }
1481    },
1482    {
1483      "type": "VariableDeclaration",
1484      "declarations": [
1485        {
1486          "type": "VariableDeclarator",
1487          "id": {
1488            "type": "Identifier",
1489            "name": "t8",
1490            "loc": {
1491              "start": {
1492                "line": 40,
1493                "column": 5
1494              },
1495              "end": {
1496                "line": 40,
1497                "column": 7
1498              }
1499            }
1500          },
1501          "init": {
1502            "type": "TSSatisfiesExpression",
1503            "expression": {
1504              "type": "ObjectExpression",
1505              "properties": [
1506                {
1507                  "type": "Property",
1508                  "method": false,
1509                  "shorthand": false,
1510                  "computed": false,
1511                  "key": {
1512                    "type": "Identifier",
1513                    "name": "a",
1514                    "loc": {
1515                      "start": {
1516                        "line": 40,
1517                        "column": 12
1518                      },
1519                      "end": {
1520                        "line": 40,
1521                        "column": 13
1522                      }
1523                    }
1524                  },
1525                  "value": {
1526                    "type": "StringLiteral",
1527                    "value": "test",
1528                    "loc": {
1529                      "start": {
1530                        "line": 40,
1531                        "column": 15
1532                      },
1533                      "end": {
1534                        "line": 40,
1535                        "column": 21
1536                      }
1537                    }
1538                  },
1539                  "kind": "init",
1540                  "loc": {
1541                    "start": {
1542                      "line": 40,
1543                      "column": 12
1544                    },
1545                    "end": {
1546                      "line": 40,
1547                      "column": 21
1548                    }
1549                  }
1550                },
1551                {
1552                  "type": "Property",
1553                  "method": false,
1554                  "shorthand": false,
1555                  "computed": false,
1556                  "key": {
1557                    "type": "Identifier",
1558                    "name": "b",
1559                    "loc": {
1560                      "start": {
1561                        "line": 40,
1562                        "column": 23
1563                      },
1564                      "end": {
1565                        "line": 40,
1566                        "column": 24
1567                      }
1568                    }
1569                  },
1570                  "value": {
1571                    "type": "StringLiteral",
1572                    "value": "test",
1573                    "loc": {
1574                      "start": {
1575                        "line": 40,
1576                        "column": 26
1577                      },
1578                      "end": {
1579                        "line": 40,
1580                        "column": 32
1581                      }
1582                    }
1583                  },
1584                  "kind": "init",
1585                  "loc": {
1586                    "start": {
1587                      "line": 40,
1588                      "column": 23
1589                    },
1590                    "end": {
1591                      "line": 40,
1592                      "column": 32
1593                    }
1594                  }
1595                }
1596              ],
1597              "loc": {
1598                "start": {
1599                  "line": 40,
1600                  "column": 10
1601                },
1602                "end": {
1603                  "line": 40,
1604                  "column": 34
1605                }
1606              }
1607            },
1608            "typeAnnotation": {
1609              "type": "TSTypeReference",
1610              "typeName": {
1611                "type": "Identifier",
1612                "name": "A",
1613                "loc": {
1614                  "start": {
1615                    "line": 40,
1616                    "column": 45
1617                  },
1618                  "end": {
1619                    "line": 40,
1620                    "column": 46
1621                  }
1622                }
1623              },
1624              "loc": {
1625                "start": {
1626                  "line": 40,
1627                  "column": 45
1628                },
1629                "end": {
1630                  "line": 40,
1631                  "column": 46
1632                }
1633              }
1634            },
1635            "loc": {
1636              "start": {
1637                "line": 40,
1638                "column": 10
1639              },
1640              "end": {
1641                "line": 40,
1642                "column": 47
1643              }
1644            }
1645          },
1646          "loc": {
1647            "start": {
1648              "line": 40,
1649              "column": 5
1650            },
1651            "end": {
1652              "line": 40,
1653              "column": 47
1654            }
1655          }
1656        }
1657      ],
1658      "kind": "let",
1659      "loc": {
1660        "start": {
1661          "line": 40,
1662          "column": 1
1663        },
1664        "end": {
1665          "line": 40,
1666          "column": 47
1667        }
1668      }
1669    }
1670  ],
1671  "loc": {
1672    "start": {
1673      "line": 1,
1674      "column": 1
1675    },
1676    "end": {
1677      "line": 40,
1678      "column": 47
1679    }
1680  }
1681}
1682