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