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