1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "TSInterfaceDeclaration",
6      "body": {
7        "type": "TSInterfaceBody",
8        "body": [
9          {
10            "type": "TSPropertySignature",
11            "computed": false,
12            "optional": false,
13            "readonly": false,
14            "key": {
15              "type": "Identifier",
16              "name": "a",
17              "loc": {
18                "start": {
19                  "line": 17,
20                  "column": 15
21                },
22                "end": {
23                  "line": 17,
24                  "column": 16
25                }
26              }
27            },
28            "typeAnnotation": {
29              "type": "TSNumberKeyword",
30              "loc": {
31                "start": {
32                  "line": 17,
33                  "column": 18
34                },
35                "end": {
36                  "line": 17,
37                  "column": 24
38                }
39              }
40            },
41            "loc": {
42              "start": {
43                "line": 17,
44                "column": 15
45              },
46              "end": {
47                "line": 17,
48                "column": 26
49              }
50            }
51          }
52        ],
53        "loc": {
54          "start": {
55            "line": 17,
56            "column": 13
57          },
58          "end": {
59            "line": 17,
60            "column": 26
61          }
62        }
63      },
64      "id": {
65        "type": "Identifier",
66        "name": "I",
67        "loc": {
68          "start": {
69            "line": 17,
70            "column": 11
71          },
72          "end": {
73            "line": 17,
74            "column": 12
75          }
76        }
77      },
78      "extends": [],
79      "loc": {
80        "start": {
81          "line": 17,
82          "column": 1
83        },
84        "end": {
85          "line": 17,
86          "column": 26
87        }
88      }
89    },
90    {
91      "type": "ExpressionStatement",
92      "expression": {
93        "type": "ArrowFunctionExpression",
94        "function": {
95          "type": "ScriptFunction",
96          "id": null,
97          "generator": false,
98          "async": false,
99          "expression": false,
100          "params": [
101            {
102              "type": "ObjectPattern",
103              "properties": [
104                {
105                  "type": "Property",
106                  "method": false,
107                  "shorthand": true,
108                  "computed": false,
109                  "key": {
110                    "type": "Identifier",
111                    "name": "a",
112                    "loc": {
113                      "start": {
114                        "line": 19,
115                        "column": 3
116                      },
117                      "end": {
118                        "line": 19,
119                        "column": 4
120                      }
121                    }
122                  },
123                  "value": {
124                    "type": "Identifier",
125                    "name": "a",
126                    "loc": {
127                      "start": {
128                        "line": 19,
129                        "column": 3
130                      },
131                      "end": {
132                        "line": 19,
133                        "column": 4
134                      }
135                    }
136                  },
137                  "kind": "init",
138                  "loc": {
139                    "start": {
140                      "line": 19,
141                      "column": 3
142                    },
143                    "end": {
144                      "line": 19,
145                      "column": 4
146                    }
147                  }
148                }
149              ],
150              "typeAnnotation": {
151                "type": "TSTypeReference",
152                "typeName": {
153                  "type": "Identifier",
154                  "name": "I",
155                  "loc": {
156                    "start": {
157                      "line": 19,
158                      "column": 7
159                    },
160                    "end": {
161                      "line": 19,
162                      "column": 8
163                    }
164                  }
165                },
166                "loc": {
167                  "start": {
168                    "line": 19,
169                    "column": 7
170                  },
171                  "end": {
172                    "line": 19,
173                    "column": 8
174                  }
175                }
176              },
177              "loc": {
178                "start": {
179                  "line": 19,
180                  "column": 1
181                },
182                "end": {
183                  "line": 19,
184                  "column": 9
185                }
186              }
187            }
188          ],
189          "body": {
190            "type": "BlockStatement",
191            "statements": [],
192            "loc": {
193              "start": {
194                "line": 19,
195                "column": 13
196              },
197              "end": {
198                "line": 19,
199                "column": 15
200              }
201            }
202          },
203          "loc": {
204            "start": {
205              "line": 19,
206              "column": 1
207            },
208            "end": {
209              "line": 19,
210              "column": 15
211            }
212          }
213        },
214        "loc": {
215          "start": {
216            "line": 19,
217            "column": 1
218          },
219          "end": {
220            "line": 19,
221            "column": 15
222          }
223        }
224      },
225      "loc": {
226        "start": {
227          "line": 19,
228          "column": 1
229        },
230        "end": {
231          "line": 19,
232          "column": 15
233        }
234      }
235    },
236    {
237      "type": "ExpressionStatement",
238      "expression": {
239        "type": "ArrowFunctionExpression",
240        "function": {
241          "type": "ScriptFunction",
242          "id": null,
243          "generator": false,
244          "async": false,
245          "expression": false,
246          "params": [
247            {
248              "type": "ArrayPattern",
249              "elements": [
250                {
251                  "type": "Identifier",
252                  "name": "b",
253                  "loc": {
254                    "start": {
255                      "line": 20,
256                      "column": 3
257                    },
258                    "end": {
259                      "line": 20,
260                      "column": 4
261                    }
262                  }
263                }
264              ],
265              "typeAnnotation": {
266                "type": "TSArrayType",
267                "elementType": {
268                  "type": "TSNumberKeyword",
269                  "loc": {
270                    "start": {
271                      "line": 20,
272                      "column": 6
273                    },
274                    "end": {
275                      "line": 20,
276                      "column": 12
277                    }
278                  }
279                },
280                "loc": {
281                  "start": {
282                    "line": 20,
283                    "column": 6
284                  },
285                  "end": {
286                    "line": 20,
287                    "column": 14
288                  }
289                }
290              },
291              "loc": {
292                "start": {
293                  "line": 20,
294                  "column": 1
295                },
296                "end": {
297                  "line": 20,
298                  "column": 15
299                }
300              }
301            }
302          ],
303          "body": {
304            "type": "BlockStatement",
305            "statements": [],
306            "loc": {
307              "start": {
308                "line": 20,
309                "column": 19
310              },
311              "end": {
312                "line": 20,
313                "column": 21
314              }
315            }
316          },
317          "loc": {
318            "start": {
319              "line": 20,
320              "column": 1
321            },
322            "end": {
323              "line": 20,
324              "column": 21
325            }
326          }
327        },
328        "loc": {
329          "start": {
330            "line": 20,
331            "column": 1
332          },
333          "end": {
334            "line": 20,
335            "column": 21
336          }
337        }
338      },
339      "loc": {
340        "start": {
341          "line": 20,
342          "column": 1
343        },
344        "end": {
345          "line": 20,
346          "column": 21
347        }
348      }
349    }
350  ],
351  "loc": {
352    "start": {
353      "line": 1,
354      "column": 1
355    },
356    "end": {
357      "line": 21,
358      "column": 1
359    }
360  }
361}
362