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