• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "TSTypeAliasDeclaration",
6      "id": {
7        "type": "Identifier",
8        "name": "a",
9        "loc": {
10          "start": {
11            "line": 17,
12            "column": 6
13          },
14          "end": {
15            "line": 17,
16            "column": 7
17          }
18        }
19      },
20      "typeAnnotation": {
21        "type": "TSSymbolKeyword",
22        "loc": {
23          "start": {
24            "line": 17,
25            "column": 10
26          },
27          "end": {
28            "line": 17,
29            "column": 16
30          }
31        }
32      },
33      "loc": {
34        "start": {
35          "line": 17,
36          "column": 1
37        },
38        "end": {
39          "line": 17,
40          "column": 17
41        }
42      }
43    },
44    {
45      "type": "TSModuleDeclaration",
46      "id": {
47        "type": "Identifier",
48        "name": "ns",
49        "loc": {
50          "start": {
51            "line": 19,
52            "column": 11
53          },
54          "end": {
55            "line": 19,
56            "column": 13
57          }
58        }
59      },
60      "body": {
61        "type": "TSModuleBlock",
62        "body": [
63          {
64            "type": "ExportNamedDeclaration",
65            "declaration": {
66              "type": "TSTypeAliasDeclaration",
67              "id": {
68                "type": "Identifier",
69                "name": "a",
70                "loc": {
71                  "start": {
72                    "line": 20,
73                    "column": 17
74                  },
75                  "end": {
76                    "line": 20,
77                    "column": 18
78                  }
79                }
80              },
81              "typeAnnotation": {
82                "type": "TSStringKeyword",
83                "loc": {
84                  "start": {
85                    "line": 20,
86                    "column": 21
87                  },
88                  "end": {
89                    "line": 20,
90                    "column": 27
91                  }
92                }
93              },
94              "loc": {
95                "start": {
96                  "line": 20,
97                  "column": 12
98                },
99                "end": {
100                  "line": 21,
101                  "column": 2
102                }
103              }
104            },
105            "source": null,
106            "specifiers": [],
107            "loc": {
108              "start": {
109                "line": 20,
110                "column": 5
111              },
112              "end": {
113                "line": 21,
114                "column": 2
115              }
116            }
117          }
118        ],
119        "loc": {
120          "start": {
121            "line": 19,
122            "column": 14
123          },
124          "end": {
125            "line": 21,
126            "column": 2
127          }
128        }
129      },
130      "declare": false,
131      "global": false,
132      "loc": {
133        "start": {
134          "line": 19,
135          "column": 1
136        },
137        "end": {
138          "line": 23,
139          "column": 10
140        }
141      }
142    },
143    {
144      "type": "TSInterfaceDeclaration",
145      "body": {
146        "type": "TSInterfaceBody",
147        "body": [
148          {
149            "type": "TSIndexSignature",
150            "parameters": {
151              "type": "Identifier",
152              "name": "k1",
153              "typeAnnotation": {
154                "type": "TSStringKeyword",
155                "loc": {
156                  "start": {
157                    "line": 24,
158                    "column": 10
159                  },
160                  "end": {
161                    "line": 24,
162                    "column": 16
163                  }
164                }
165              },
166              "loc": {
167                "start": {
168                  "line": 24,
169                  "column": 6
170                },
171                "end": {
172                  "line": 24,
173                  "column": 8
174                }
175              }
176            },
177            "typeAnnotation": {
178              "type": "TSBooleanKeyword",
179              "loc": {
180                "start": {
181                  "line": 24,
182                  "column": 19
183                },
184                "end": {
185                  "line": 24,
186                  "column": 26
187                }
188              }
189            },
190            "readonly": false,
191            "static": false,
192            "loc": {
193              "start": {
194                "line": 24,
195                "column": 5
196              },
197              "end": {
198                "line": 24,
199                "column": 27
200              }
201            }
202          },
203          {
204            "type": "TSIndexSignature",
205            "parameters": {
206              "type": "Identifier",
207              "name": "k2",
208              "typeAnnotation": {
209                "type": "TSNumberKeyword",
210                "loc": {
211                  "start": {
212                    "line": 25,
213                    "column": 10
214                  },
215                  "end": {
216                    "line": 25,
217                    "column": 16
218                  }
219                }
220              },
221              "loc": {
222                "start": {
223                  "line": 25,
224                  "column": 6
225                },
226                "end": {
227                  "line": 25,
228                  "column": 8
229                }
230              }
231            },
232            "typeAnnotation": {
233              "type": "TSBooleanKeyword",
234              "loc": {
235                "start": {
236                  "line": 25,
237                  "column": 19
238                },
239                "end": {
240                  "line": 25,
241                  "column": 26
242                }
243              }
244            },
245            "readonly": false,
246            "static": false,
247            "loc": {
248              "start": {
249                "line": 25,
250                "column": 5
251              },
252              "end": {
253                "line": 25,
254                "column": 27
255              }
256            }
257          },
258          {
259            "type": "TSIndexSignature",
260            "parameters": {
261              "type": "Identifier",
262              "name": "k3",
263              "typeAnnotation": {
264                "type": "TSSymbolKeyword",
265                "loc": {
266                  "start": {
267                    "line": 26,
268                    "column": 10
269                  },
270                  "end": {
271                    "line": 26,
272                    "column": 16
273                  }
274                }
275              },
276              "loc": {
277                "start": {
278                  "line": 26,
279                  "column": 6
280                },
281                "end": {
282                  "line": 26,
283                  "column": 8
284                }
285              }
286            },
287            "typeAnnotation": {
288              "type": "TSBooleanKeyword",
289              "loc": {
290                "start": {
291                  "line": 26,
292                  "column": 19
293                },
294                "end": {
295                  "line": 26,
296                  "column": 26
297                }
298              }
299            },
300            "readonly": false,
301            "static": false,
302            "loc": {
303              "start": {
304                "line": 26,
305                "column": 5
306              },
307              "end": {
308                "line": 26,
309                "column": 27
310              }
311            }
312          },
313          {
314            "type": "TSIndexSignature",
315            "parameters": {
316              "type": "Identifier",
317              "name": "k4",
318              "typeAnnotation": {
319                "type": "TSTemplateLiteralType",
320                "references": [
321                  {
322                    "type": "TSStringKeyword",
323                    "loc": {
324                      "start": {
325                        "line": 27,
326                        "column": 29
327                      },
328                      "end": {
329                        "line": 27,
330                        "column": 35
331                      }
332                    }
333                  }
334                ],
335                "quasis": [
336                  {
337                    "type": "TemplateElement",
338                    "value": {
339                      "raw": "templateLiteral-",
340                      "cooked": "templateLiteral-"
341                    },
342                    "loc": {
343                      "start": {
344                        "line": 27,
345                        "column": 11
346                      },
347                      "end": {
348                        "line": 27,
349                        "column": 27
350                      }
351                    }
352                  },
353                  {
354                    "type": "TemplateElement",
355                    "value": {
356                      "raw": "",
357                      "cooked": ""
358                    },
359                    "loc": {
360                      "start": {
361                        "line": 27,
362                        "column": 36
363                      },
364                      "end": {
365                        "line": 27,
366                        "column": 36
367                      }
368                    }
369                  }
370                ],
371                "loc": {
372                  "start": {
373                    "line": 27,
374                    "column": 10
375                  },
376                  "end": {
377                    "line": 27,
378                    "column": 37
379                  }
380                }
381              },
382              "loc": {
383                "start": {
384                  "line": 27,
385                  "column": 6
386                },
387                "end": {
388                  "line": 27,
389                  "column": 8
390                }
391              }
392            },
393            "typeAnnotation": {
394              "type": "TSBooleanKeyword",
395              "loc": {
396                "start": {
397                  "line": 27,
398                  "column": 40
399                },
400                "end": {
401                  "line": 27,
402                  "column": 47
403                }
404              }
405            },
406            "readonly": false,
407            "static": false,
408            "loc": {
409              "start": {
410                "line": 27,
411                "column": 5
412              },
413              "end": {
414                "line": 27,
415                "column": 48
416              }
417            }
418          }
419        ],
420        "loc": {
421          "start": {
422            "line": 23,
423            "column": 14
424          },
425          "end": {
426            "line": 28,
427            "column": 2
428          }
429        }
430      },
431      "id": {
432        "type": "Identifier",
433        "name": "I1",
434        "loc": {
435          "start": {
436            "line": 23,
437            "column": 11
438          },
439          "end": {
440            "line": 23,
441            "column": 13
442          }
443        }
444      },
445      "extends": [],
446      "loc": {
447        "start": {
448          "line": 23,
449          "column": 1
450        },
451        "end": {
452          "line": 28,
453          "column": 2
454        }
455      }
456    },
457    {
458      "type": "TSInterfaceDeclaration",
459      "body": {
460        "type": "TSInterfaceBody",
461        "body": [
462          {
463            "type": "TSIndexSignature",
464            "parameters": {
465              "type": "Identifier",
466              "name": "k1",
467              "typeAnnotation": {
468                "type": "TSUnionType",
469                "types": [
470                  {
471                    "type": "TSNumberKeyword",
472                    "loc": {
473                      "start": {
474                        "line": 31,
475                        "column": 10
476                      },
477                      "end": {
478                        "line": 31,
479                        "column": 16
480                      }
481                    }
482                  },
483                  {
484                    "type": "TSTypeReference",
485                    "typeName": {
486                      "type": "TSQualifiedName",
487                      "left": {
488                        "type": "Identifier",
489                        "name": "ns",
490                        "loc": {
491                          "start": {
492                            "line": 31,
493                            "column": 19
494                          },
495                          "end": {
496                            "line": 31,
497                            "column": 21
498                          }
499                        }
500                      },
501                      "right": {
502                        "type": "Identifier",
503                        "name": "a",
504                        "loc": {
505                          "start": {
506                            "line": 31,
507                            "column": 22
508                          },
509                          "end": {
510                            "line": 31,
511                            "column": 23
512                          }
513                        }
514                      },
515                      "loc": {
516                        "start": {
517                          "line": 31,
518                          "column": 19
519                        },
520                        "end": {
521                          "line": 31,
522                          "column": 25
523                        }
524                      }
525                    },
526                    "loc": {
527                      "start": {
528                        "line": 31,
529                        "column": 19
530                      },
531                      "end": {
532                        "line": 31,
533                        "column": 25
534                      }
535                    }
536                  },
537                  {
538                    "type": "TSTypeReference",
539                    "typeName": {
540                      "type": "Identifier",
541                      "name": "a",
542                      "loc": {
543                        "start": {
544                          "line": 31,
545                          "column": 26
546                        },
547                        "end": {
548                          "line": 31,
549                          "column": 27
550                        }
551                      }
552                    },
553                    "loc": {
554                      "start": {
555                        "line": 31,
556                        "column": 26
557                      },
558                      "end": {
559                        "line": 31,
560                        "column": 27
561                      }
562                    }
563                  }
564                ],
565                "loc": {
566                  "start": {
567                    "line": 31,
568                    "column": 10
569                  },
570                  "end": {
571                    "line": 31,
572                    "column": 27
573                  }
574                }
575              },
576              "loc": {
577                "start": {
578                  "line": 31,
579                  "column": 6
580                },
581                "end": {
582                  "line": 31,
583                  "column": 8
584                }
585              }
586            },
587            "typeAnnotation": {
588              "type": "TSBooleanKeyword",
589              "loc": {
590                "start": {
591                  "line": 31,
592                  "column": 30
593                },
594                "end": {
595                  "line": 31,
596                  "column": 37
597                }
598              }
599            },
600            "readonly": false,
601            "static": false,
602            "loc": {
603              "start": {
604                "line": 31,
605                "column": 5
606              },
607              "end": {
608                "line": 31,
609                "column": 38
610              }
611            }
612          }
613        ],
614        "loc": {
615          "start": {
616            "line": 30,
617            "column": 14
618          },
619          "end": {
620            "line": 32,
621            "column": 2
622          }
623        }
624      },
625      "id": {
626        "type": "Identifier",
627        "name": "I2",
628        "loc": {
629          "start": {
630            "line": 30,
631            "column": 11
632          },
633          "end": {
634            "line": 30,
635            "column": 13
636          }
637        }
638      },
639      "extends": [],
640      "loc": {
641        "start": {
642          "line": 30,
643          "column": 1
644        },
645        "end": {
646          "line": 32,
647          "column": 2
648        }
649      }
650    },
651    {
652      "type": "ClassDeclaration",
653      "definition": {
654        "id": {
655          "type": "Identifier",
656          "name": "A",
657          "loc": {
658            "start": {
659              "line": 34,
660              "column": 7
661            },
662            "end": {
663              "line": 34,
664              "column": 8
665            }
666          }
667        },
668        "superClass": null,
669        "implements": [],
670        "constructor": {
671          "type": "MethodDefinition",
672          "key": {
673            "type": "Identifier",
674            "name": "constructor",
675            "loc": {
676              "start": {
677                "line": 1,
678                "column": 1
679              },
680              "end": {
681                "line": 1,
682                "column": 1
683              }
684            }
685          },
686          "kind": "constructor",
687          "static": false,
688          "optional": false,
689          "computed": false,
690          "value": {
691            "type": "FunctionExpression",
692            "function": {
693              "type": "ScriptFunction",
694              "id": null,
695              "generator": false,
696              "async": false,
697              "expression": false,
698              "params": [],
699              "body": {
700                "type": "BlockStatement",
701                "statements": [],
702                "loc": {
703                  "start": {
704                    "line": 1,
705                    "column": 1
706                  },
707                  "end": {
708                    "line": 1,
709                    "column": 1
710                  }
711                }
712              },
713              "loc": {
714                "start": {
715                  "line": 1,
716                  "column": 1
717                },
718                "end": {
719                  "line": 1,
720                  "column": 1
721                }
722              }
723            },
724            "loc": {
725              "start": {
726                "line": 1,
727                "column": 1
728              },
729              "end": {
730                "line": 1,
731                "column": 1
732              }
733            }
734          },
735          "overloads": [],
736          "decorators": [],
737          "loc": {
738            "start": {
739              "line": 34,
740              "column": 1
741            },
742            "end": {
743              "line": 36,
744              "column": 2
745            }
746          }
747        },
748        "body": [],
749        "indexSignatures": [
750          {
751            "type": "TSIndexSignature",
752            "parameters": {
753              "type": "Identifier",
754              "name": "k1",
755              "typeAnnotation": {
756                "type": "TSUnionType",
757                "types": [
758                  {
759                    "type": "TSStringKeyword",
760                    "loc": {
761                      "start": {
762                        "line": 35,
763                        "column": 10
764                      },
765                      "end": {
766                        "line": 35,
767                        "column": 16
768                      }
769                    }
770                  },
771                  {
772                    "type": "TSNumberKeyword",
773                    "loc": {
774                      "start": {
775                        "line": 35,
776                        "column": 19
777                      },
778                      "end": {
779                        "line": 35,
780                        "column": 25
781                      }
782                    }
783                  },
784                  {
785                    "type": "TSSymbolKeyword",
786                    "loc": {
787                      "start": {
788                        "line": 35,
789                        "column": 28
790                      },
791                      "end": {
792                        "line": 35,
793                        "column": 34
794                      }
795                    }
796                  },
797                  {
798                    "type": "TSTemplateLiteralType",
799                    "references": [
800                      {
801                        "type": "TSStringKeyword",
802                        "loc": {
803                          "start": {
804                            "line": 35,
805                            "column": 56
806                          },
807                          "end": {
808                            "line": 35,
809                            "column": 62
810                          }
811                        }
812                      }
813                    ],
814                    "quasis": [
815                      {
816                        "type": "TemplateElement",
817                        "value": {
818                          "raw": "templateLiteral-",
819                          "cooked": "templateLiteral-"
820                        },
821                        "loc": {
822                          "start": {
823                            "line": 35,
824                            "column": 38
825                          },
826                          "end": {
827                            "line": 35,
828                            "column": 54
829                          }
830                        }
831                      },
832                      {
833                        "type": "TemplateElement",
834                        "value": {
835                          "raw": "",
836                          "cooked": ""
837                        },
838                        "loc": {
839                          "start": {
840                            "line": 35,
841                            "column": 63
842                          },
843                          "end": {
844                            "line": 35,
845                            "column": 63
846                          }
847                        }
848                      }
849                    ],
850                    "loc": {
851                      "start": {
852                        "line": 35,
853                        "column": 37
854                      },
855                      "end": {
856                        "line": 35,
857                        "column": 64
858                      }
859                    }
860                  }
861                ],
862                "loc": {
863                  "start": {
864                    "line": 35,
865                    "column": 10
866                  },
867                  "end": {
868                    "line": 35,
869                    "column": 64
870                  }
871                }
872              },
873              "loc": {
874                "start": {
875                  "line": 35,
876                  "column": 6
877                },
878                "end": {
879                  "line": 35,
880                  "column": 8
881                }
882              }
883            },
884            "typeAnnotation": {
885              "type": "TSBooleanKeyword",
886              "loc": {
887                "start": {
888                  "line": 35,
889                  "column": 67
890                },
891                "end": {
892                  "line": 35,
893                  "column": 74
894                }
895              }
896            },
897            "readonly": false,
898            "static": false,
899            "loc": {
900              "start": {
901                "line": 35,
902                "column": 5
903              },
904              "end": {
905                "line": 35,
906                "column": 74
907              }
908            }
909          }
910        ],
911        "loc": {
912          "start": {
913            "line": 34,
914            "column": 9
915          },
916          "end": {
917            "line": 36,
918            "column": 2
919          }
920        }
921      },
922      "decorators": [],
923      "loc": {
924        "start": {
925          "line": 34,
926          "column": 1
927        },
928        "end": {
929          "line": 36,
930          "column": 2
931        }
932      }
933    },
934    {
935      "type": "VariableDeclaration",
936      "declarations": [
937        {
938          "type": "VariableDeclarator",
939          "id": {
940            "type": "Identifier",
941            "name": "x",
942            "typeAnnotation": {
943              "type": "TSTypeLiteral",
944              "members": [
945                {
946                  "type": "TSIndexSignature",
947                  "parameters": {
948                    "type": "Identifier",
949                    "name": "k",
950                    "typeAnnotation": {
951                      "type": "TSUnionType",
952                      "types": [
953                        {
954                          "type": "TSStringKeyword",
955                          "loc": {
956                            "start": {
957                              "line": 38,
958                              "column": 16
959                            },
960                            "end": {
961                              "line": 38,
962                              "column": 22
963                            }
964                          }
965                        },
966                        {
967                          "type": "TSNumberKeyword",
968                          "loc": {
969                            "start": {
970                              "line": 38,
971                              "column": 25
972                            },
973                            "end": {
974                              "line": 38,
975                              "column": 31
976                            }
977                          }
978                        },
979                        {
980                          "type": "TSSymbolKeyword",
981                          "loc": {
982                            "start": {
983                              "line": 38,
984                              "column": 34
985                            },
986                            "end": {
987                              "line": 38,
988                              "column": 40
989                            }
990                          }
991                        },
992                        {
993                          "type": "TSTemplateLiteralType",
994                          "references": [
995                            {
996                              "type": "TSStringKeyword",
997                              "loc": {
998                                "start": {
999                                  "line": 38,
1000                                  "column": 62
1001                                },
1002                                "end": {
1003                                  "line": 38,
1004                                  "column": 68
1005                                }
1006                              }
1007                            }
1008                          ],
1009                          "quasis": [
1010                            {
1011                              "type": "TemplateElement",
1012                              "value": {
1013                                "raw": "templateLiteral-",
1014                                "cooked": "templateLiteral-"
1015                              },
1016                              "loc": {
1017                                "start": {
1018                                  "line": 38,
1019                                  "column": 44
1020                                },
1021                                "end": {
1022                                  "line": 38,
1023                                  "column": 60
1024                                }
1025                              }
1026                            },
1027                            {
1028                              "type": "TemplateElement",
1029                              "value": {
1030                                "raw": "",
1031                                "cooked": ""
1032                              },
1033                              "loc": {
1034                                "start": {
1035                                  "line": 38,
1036                                  "column": 69
1037                                },
1038                                "end": {
1039                                  "line": 38,
1040                                  "column": 69
1041                                }
1042                              }
1043                            }
1044                          ],
1045                          "loc": {
1046                            "start": {
1047                              "line": 38,
1048                              "column": 43
1049                            },
1050                            "end": {
1051                              "line": 38,
1052                              "column": 70
1053                            }
1054                          }
1055                        }
1056                      ],
1057                      "loc": {
1058                        "start": {
1059                          "line": 38,
1060                          "column": 16
1061                        },
1062                        "end": {
1063                          "line": 38,
1064                          "column": 70
1065                        }
1066                      }
1067                    },
1068                    "loc": {
1069                      "start": {
1070                        "line": 38,
1071                        "column": 13
1072                      },
1073                      "end": {
1074                        "line": 38,
1075                        "column": 14
1076                      }
1077                    }
1078                  },
1079                  "typeAnnotation": {
1080                    "type": "TSBooleanKeyword",
1081                    "loc": {
1082                      "start": {
1083                        "line": 38,
1084                        "column": 73
1085                      },
1086                      "end": {
1087                        "line": 38,
1088                        "column": 80
1089                      }
1090                    }
1091                  },
1092                  "readonly": false,
1093                  "static": false,
1094                  "loc": {
1095                    "start": {
1096                      "line": 38,
1097                      "column": 12
1098                    },
1099                    "end": {
1100                      "line": 38,
1101                      "column": 82
1102                    }
1103                  }
1104                }
1105              ],
1106              "loc": {
1107                "start": {
1108                  "line": 38,
1109                  "column": 10
1110                },
1111                "end": {
1112                  "line": 38,
1113                  "column": 82
1114                }
1115              }
1116            },
1117            "loc": {
1118              "start": {
1119                "line": 38,
1120                "column": 7
1121              },
1122              "end": {
1123                "line": 38,
1124                "column": 8
1125              }
1126            }
1127          },
1128          "init": {
1129            "type": "ObjectExpression",
1130            "properties": [],
1131            "loc": {
1132              "start": {
1133                "line": 38,
1134                "column": 85
1135              },
1136              "end": {
1137                "line": 38,
1138                "column": 87
1139              }
1140            }
1141          },
1142          "loc": {
1143            "start": {
1144              "line": 38,
1145              "column": 7
1146            },
1147            "end": {
1148              "line": 38,
1149              "column": 87
1150            }
1151          }
1152        }
1153      ],
1154      "kind": "const",
1155      "loc": {
1156        "start": {
1157          "line": 38,
1158          "column": 1
1159        },
1160        "end": {
1161          "line": 38,
1162          "column": 88
1163        }
1164      }
1165    }
1166  ],
1167  "loc": {
1168    "start": {
1169      "line": 1,
1170      "column": 1
1171    },
1172    "end": {
1173      "line": 39,
1174      "column": 1
1175    }
1176  }
1177}
1178