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