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