{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportNamespaceSpecifier",
          "local": {
            "type": "Identifier",
            "name": "collectors",
            "range": [
              12,
              22
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 12
              },
              "end": {
                "line": 1,
                "column": 22
              }
            }
          },
          "range": [
            7,
            22
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 7
            },
            "end": {
              "line": 1,
              "column": 22
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./helpers/collectors",
        "raw": "'./helpers/collectors'",
        "range": [
          28,
          50
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 28
          },
          "end": {
            "line": 1,
            "column": 50
          }
        }
      },
      "range": [
        0,
        51
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 51
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "local": {
            "type": "Identifier",
            "name": "BaseStatsCollector",
            "range": [
              59,
              77
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 25
              }
            }
          },
          "range": [
            59,
            77
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 25
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./BaseStatsCollector",
        "raw": "'./BaseStatsCollector'",
        "range": [
          83,
          105
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 31
          },
          "end": {
            "line": 2,
            "column": 53
          }
        }
      },
      "range": [
        52,
        106
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 54
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * A stat collector that includes the following collector functions:\n *   - count\n *   - sum\n *   - min\n *   - max\n *   - mean\n * @example\n * const statsCollector = new BasicStatsCollector();\n * statsCollector.update([1, 2, 3, 4, 5]);\n * statsCollector.get();\n ",
          "range": [
            108,
            375
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 15,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportDefaultDeclaration",
      "declaration": {
        "type": "ClassDeclaration",
        "id": {
          "type": "Identifier",
          "name": "BasicStatsCollector",
          "range": [
            397,
            416
          ],
          "loc": {
            "start": {
              "line": 16,
              "column": 21
            },
            "end": {
              "line": 16,
              "column": 40
            }
          }
        },
        "superClass": {
          "type": "Identifier",
          "name": "BaseStatsCollector",
          "range": [
            425,
            443
          ],
          "loc": {
            "start": {
              "line": 16,
              "column": 49
            },
            "end": {
              "line": 16,
              "column": 67
            }
          }
        },
        "body": {
          "type": "ClassBody",
          "body": [
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "constructor",
                "range": [
                  448,
                  459
                ],
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 2
                  },
                  "end": {
                    "line": 17,
                    "column": 13
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "Super",
                          "range": [
                            468,
                            473
                          ],
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 4
                            },
                            "end": {
                              "line": 18,
                              "column": 9
                            }
                          }
                        },
                        "arguments": [],
                        "range": [
                          468,
                          475
                        ],
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 4
                          },
                          "end": {
                            "line": 18,
                            "column": 11
                          }
                        }
                      },
                      "range": [
                        468,
                        476
                      ],
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 4
                        },
                        "end": {
                          "line": 18,
                          "column": 12
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              481,
                              485
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 4
                              },
                              "end": {
                                "line": 19,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "addCollector",
                            "range": [
                              486,
                              498
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 9
                              },
                              "end": {
                                "line": 19,
                                "column": 21
                              }
                            }
                          },
                          "range": [
                            481,
                            498
                          ],
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 4
                            },
                            "end": {
                              "line": 19,
                              "column": 21
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "collectors",
                                "range": [
                                  499,
                                  509
                                ],
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 32
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "count",
                                "range": [
                                  510,
                                  515
                                ],
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 38
                                  }
                                }
                              },
                              "range": [
                                499,
                                515
                              ],
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 22
                                },
                                "end": {
                                  "line": 19,
                                  "column": 38
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              499,
                              517
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 22
                              },
                              "end": {
                                "line": 19,
                                "column": 40
                              }
                            }
                          }
                        ],
                        "range": [
                          481,
                          518
                        ],
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 4
                          },
                          "end": {
                            "line": 19,
                            "column": 41
                          }
                        }
                      },
                      "range": [
                        481,
                        519
                      ],
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 4
                        },
                        "end": {
                          "line": 19,
                          "column": 42
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              524,
                              528
                            ],
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 4
                              },
                              "end": {
                                "line": 20,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "addCollector",
                            "range": [
                              529,
                              541
                            ],
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 9
                              },
                              "end": {
                                "line": 20,
                                "column": 21
                              }
                            }
                          },
                          "range": [
                            524,
                            541
                          ],
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 4
                            },
                            "end": {
                              "line": 20,
                              "column": 21
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "collectors",
                                "range": [
                                  542,
                                  552
                                ],
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 32
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "sum",
                                "range": [
                                  553,
                                  556
                                ],
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 36
                                  }
                                }
                              },
                              "range": [
                                542,
                                556
                              ],
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 22
                                },
                                "end": {
                                  "line": 20,
                                  "column": 36
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              542,
                              558
                            ],
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 22
                              },
                              "end": {
                                "line": 20,
                                "column": 38
                              }
                            }
                          }
                        ],
                        "range": [
                          524,
                          559
                        ],
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 4
                          },
                          "end": {
                            "line": 20,
                            "column": 39
                          }
                        }
                      },
                      "range": [
                        524,
                        560
                      ],
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 4
                        },
                        "end": {
                          "line": 20,
                          "column": 40
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              565,
                              569
                            ],
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 4
                              },
                              "end": {
                                "line": 21,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "addCollector",
                            "range": [
                              570,
                              582
                            ],
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 9
                              },
                              "end": {
                                "line": 21,
                                "column": 21
                              }
                            }
                          },
                          "range": [
                            565,
                            582
                          ],
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 4
                            },
                            "end": {
                              "line": 21,
                              "column": 21
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "collectors",
                                "range": [
                                  583,
                                  593
                                ],
                                "loc": {
                                  "start": {
                                    "line": 21,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 21,
                                    "column": 32
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "min",
                                "range": [
                                  594,
                                  597
                                ],
                                "loc": {
                                  "start": {
                                    "line": 21,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 21,
                                    "column": 36
                                  }
                                }
                              },
                              "range": [
                                583,
                                597
                              ],
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 22
                                },
                                "end": {
                                  "line": 21,
                                  "column": 36
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              583,
                              599
                            ],
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 22
                              },
                              "end": {
                                "line": 21,
                                "column": 38
                              }
                            }
                          }
                        ],
                        "range": [
                          565,
                          600
                        ],
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 4
                          },
                          "end": {
                            "line": 21,
                            "column": 39
                          }
                        }
                      },
                      "range": [
                        565,
                        601
                      ],
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 4
                        },
                        "end": {
                          "line": 21,
                          "column": 40
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              606,
                              610
                            ],
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 4
                              },
                              "end": {
                                "line": 22,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "addCollector",
                            "range": [
                              611,
                              623
                            ],
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 9
                              },
                              "end": {
                                "line": 22,
                                "column": 21
                              }
                            }
                          },
                          "range": [
                            606,
                            623
                          ],
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 4
                            },
                            "end": {
                              "line": 22,
                              "column": 21
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "collectors",
                                "range": [
                                  624,
                                  634
                                ],
                                "loc": {
                                  "start": {
                                    "line": 22,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 32
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "max",
                                "range": [
                                  635,
                                  638
                                ],
                                "loc": {
                                  "start": {
                                    "line": 22,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 36
                                  }
                                }
                              },
                              "range": [
                                624,
                                638
                              ],
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 22
                                },
                                "end": {
                                  "line": 22,
                                  "column": 36
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              624,
                              640
                            ],
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 22
                              },
                              "end": {
                                "line": 22,
                                "column": 38
                              }
                            }
                          }
                        ],
                        "range": [
                          606,
                          641
                        ],
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 4
                          },
                          "end": {
                            "line": 22,
                            "column": 39
                          }
                        }
                      },
                      "range": [
                        606,
                        642
                      ],
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 4
                        },
                        "end": {
                          "line": 22,
                          "column": 40
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              647,
                              651
                            ],
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 4
                              },
                              "end": {
                                "line": 23,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "addCollector",
                            "range": [
                              652,
                              664
                            ],
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 9
                              },
                              "end": {
                                "line": 23,
                                "column": 21
                              }
                            }
                          },
                          "range": [
                            647,
                            664
                          ],
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 4
                            },
                            "end": {
                              "line": 23,
                              "column": 21
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "collectors",
                                "range": [
                                  665,
                                  675
                                ],
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 32
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "mean",
                                "range": [
                                  676,
                                  680
                                ],
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 37
                                  }
                                }
                              },
                              "range": [
                                665,
                                680
                              ],
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 22
                                },
                                "end": {
                                  "line": 23,
                                  "column": 37
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              665,
                              682
                            ],
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 22
                              },
                              "end": {
                                "line": 23,
                                "column": 39
                              }
                            }
                          }
                        ],
                        "range": [
                          647,
                          683
                        ],
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 4
                          },
                          "end": {
                            "line": 23,
                            "column": 40
                          }
                        }
                      },
                      "range": [
                        647,
                        684
                      ],
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 4
                        },
                        "end": {
                          "line": 23,
                          "column": 41
                        }
                      }
                    }
                  ],
                  "range": [
                    462,
                    688
                  ],
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 16
                    },
                    "end": {
                      "line": 24,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  459,
                  688
                ],
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 13
                  },
                  "end": {
                    "line": 24,
                    "column": 3
                  }
                }
              },
              "kind": "constructor",
              "computed": false,
              "range": [
                448,
                688
              ],
              "loc": {
                "start": {
                  "line": 17,
                  "column": 2
                },
                "end": {
                  "line": 24,
                  "column": 3
                }
              },
              "static": false
            }
          ],
          "range": [
            444,
            690
          ],
          "loc": {
            "start": {
              "line": 16,
              "column": 68
            },
            "end": {
              "line": 25,
              "column": 1
            }
          }
        },
        "range": [
          391,
          690
        ],
        "loc": {
          "start": {
            "line": 16,
            "column": 15
          },
          "end": {
            "line": 25,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * A stat collector that includes the following collector functions:\n *   - count\n *   - sum\n *   - min\n *   - max\n *   - mean\n * @example\n * const statsCollector = new BasicStatsCollector();\n * statsCollector.update([1, 2, 3, 4, 5]);\n * statsCollector.get();\n ",
            "range": [
              108,
              375
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 0
              },
              "end": {
                "line": 15,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "range": [
        376,
        690
      ],
      "loc": {
        "start": {
          "line": 16,
          "column": 0
        },
        "end": {
          "line": 25,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * A stat collector that includes the following collector functions:\n *   - count\n *   - sum\n *   - min\n *   - max\n *   - mean\n * @example\n * const statsCollector = new BasicStatsCollector();\n * statsCollector.update([1, 2, 3, 4, 5]);\n * statsCollector.get();\n ",
          "range": [
            108,
            375
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 15,
              "column": 3
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    690
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 25,
      "column": 1
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * A stat collector that includes the following collector functions:\n *   - count\n *   - sum\n *   - min\n *   - max\n *   - mean\n * @example\n * const statsCollector = new BasicStatsCollector();\n * statsCollector.update([1, 2, 3, 4, 5]);\n * statsCollector.get();\n ",
      "range": [
        108,
        375
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 15,
          "column": 3
        }
      }
    }
  ]
}