{
  "type": "Program",
  "body": [
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "ClassDeclaration",
        "id": {
          "type": "Identifier",
          "name": "Emitter",
          "range": [
            44,
            51
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 13
            },
            "end": {
              "line": 4,
              "column": 20
            }
          }
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "body": [
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "constructor",
                "range": [
                  58,
                  69
                ],
                "loc": {
                  "start": {
                    "line": 5,
                    "column": 4
                  },
                  "end": {
                    "line": 5,
                    "column": 15
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              157,
                              161
                            ],
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 8
                              },
                              "end": {
                                "line": 10,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "events",
                            "range": [
                              162,
                              168
                            ],
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 13
                              },
                              "end": {
                                "line": 10,
                                "column": 19
                              }
                            }
                          },
                          "range": [
                            157,
                            168
                          ],
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 8
                            },
                            "end": {
                              "line": 10,
                              "column": 19
                            }
                          }
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "properties": [],
                          "range": [
                            171,
                            173
                          ],
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 22
                            },
                            "end": {
                              "line": 10,
                              "column": 24
                            }
                          }
                        },
                        "range": [
                          157,
                          173
                        ],
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 8
                          },
                          "end": {
                            "line": 10,
                            "column": 24
                          }
                        }
                      },
                      "range": [
                        157,
                        174
                      ],
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 8
                        },
                        "end": {
                          "line": 10,
                          "column": 25
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n         * Events object\n         * @type {Object}\n         ",
                          "range": [
                            82,
                            148
                          ],
                          "loc": {
                            "start": {
                              "line": 6,
                              "column": 8
                            },
                            "end": {
                              "line": 9,
                              "column": 11
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "range": [
                    72,
                    180
                  ],
                  "loc": {
                    "start": {
                      "line": 5,
                      "column": 18
                    },
                    "end": {
                      "line": 11,
                      "column": 5
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  69,
                  180
                ],
                "loc": {
                  "start": {
                    "line": 5,
                    "column": 15
                  },
                  "end": {
                    "line": 11,
                    "column": 5
                  }
                }
              },
              "kind": "constructor",
              "computed": false,
              "range": [
                58,
                180
              ],
              "loc": {
                "start": {
                  "line": 5,
                  "column": 4
                },
                "end": {
                  "line": 11,
                  "column": 5
                }
              },
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Subscribe to an event\n     * @param  {Array}   evts Collection of event names\n     * @param  {Function} fn  Function invoked when event is emitted\n     ",
                  "range": [
                    186,
                    351
                  ],
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 4
                    },
                    "end": {
                      "line": 17,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "on",
                "range": [
                  356,
                  358
                ],
                "loc": {
                  "start": {
                    "line": 18,
                    "column": 4
                  },
                  "end": {
                    "line": 18,
                    "column": 6
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "evts",
                    "range": [
                      359,
                      363
                    ],
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 7
                      },
                      "end": {
                        "line": 18,
                        "column": 11
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "fn",
                    "range": [
                      365,
                      367
                    ],
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 13
                      },
                      "end": {
                        "line": 18,
                        "column": 15
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "evts",
                            "range": [
                              379,
                              383
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 8
                              },
                              "end": {
                                "line": 19,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "forEach",
                            "range": [
                              384,
                              391
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 13
                              },
                              "end": {
                                "line": 19,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            379,
                            391
                          ],
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 8
                            },
                            "end": {
                              "line": 19,
                              "column": 20
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "id": null,
                            "params": [
                              {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  393,
                                  396
                                ],
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 25
                                  }
                                }
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": true,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            414,
                                            418
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 20,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 20,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "events",
                                          "range": [
                                            419,
                                            425
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 20,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 20,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "range": [
                                          414,
                                          425
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "evt",
                                        "range": [
                                          426,
                                          429
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "range": [
                                        414,
                                        430
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 20,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 20,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "LogicalExpression",
                                      "operator": "||",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              433,
                                              437
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 20,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 20,
                                                "column": 35
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "events",
                                            "range": [
                                              438,
                                              444
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 20,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 20,
                                                "column": 42
                                              }
                                            }
                                          },
                                          "range": [
                                            433,
                                            444
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 20,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 20,
                                              "column": 42
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "evt",
                                          "range": [
                                            445,
                                            448
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 20,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 20,
                                              "column": 46
                                            }
                                          }
                                        },
                                        "range": [
                                          433,
                                          449
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "ArrayExpression",
                                        "elements": [],
                                        "range": [
                                          453,
                                          455
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 53
                                          }
                                        }
                                      },
                                      "range": [
                                        433,
                                        455
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 20,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 20,
                                          "column": 53
                                        }
                                      }
                                    },
                                    "range": [
                                      414,
                                      455
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 53
                                      }
                                    }
                                  },
                                  "range": [
                                    414,
                                    456
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 54
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              469,
                                              473
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 21,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 21,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "events",
                                            "range": [
                                              474,
                                              480
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 21,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 21,
                                                "column": 23
                                              }
                                            }
                                          },
                                          "range": [
                                            469,
                                            480
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 21,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 21,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "evt",
                                          "range": [
                                            481,
                                            484
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 21,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 21,
                                              "column": 27
                                            }
                                          }
                                        },
                                        "range": [
                                          469,
                                          485
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 21,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 21,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "push",
                                        "range": [
                                          486,
                                          490
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 21,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 21,
                                            "column": 33
                                          }
                                        }
                                      },
                                      "range": [
                                        469,
                                        490
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 21,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 21,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "fn",
                                        "range": [
                                          491,
                                          493
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 21,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 21,
                                            "column": 36
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      469,
                                      494
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 37
                                      }
                                    }
                                  },
                                  "range": [
                                    469,
                                    495
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 38
                                    }
                                  }
                                }
                              ],
                              "range": [
                                400,
                                505
                              ],
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 29
                                },
                                "end": {
                                  "line": 22,
                                  "column": 9
                                }
                              }
                            },
                            "generator": false,
                            "expression": false,
                            "range": [
                              392,
                              505
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 21
                              },
                              "end": {
                                "line": 22,
                                "column": 9
                              }
                            }
                          }
                        ],
                        "range": [
                          379,
                          506
                        ],
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 8
                          },
                          "end": {
                            "line": 22,
                            "column": 10
                          }
                        }
                      },
                      "range": [
                        379,
                        507
                      ],
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 8
                        },
                        "end": {
                          "line": 22,
                          "column": 11
                        }
                      }
                    }
                  ],
                  "range": [
                    369,
                    513
                  ],
                  "loc": {
                    "start": {
                      "line": 18,
                      "column": 17
                    },
                    "end": {
                      "line": 23,
                      "column": 5
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  358,
                  513
                ],
                "loc": {
                  "start": {
                    "line": 18,
                    "column": 6
                  },
                  "end": {
                    "line": 23,
                    "column": 5
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                356,
                513
              ],
              "loc": {
                "start": {
                  "line": 18,
                  "column": 4
                },
                "end": {
                  "line": 23,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Subscribe to an event\n     * @param  {Array}   evts Collection of event names\n     * @param  {Function} fn  Function invoked when event is emitted\n     ",
                  "range": [
                    186,
                    351
                  ],
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 4
                    },
                    "end": {
                      "line": 17,
                      "column": 7
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Unsubscribe to an event\n     * @param  {Array}   evts Collection of event names\n     * @param  {Function} fn  Function invoked when event is emitted\n     ",
                  "range": [
                    519,
                    686
                  ],
                  "loc": {
                    "start": {
                      "line": 25,
                      "column": 4
                    },
                    "end": {
                      "line": 29,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "off",
                "range": [
                  691,
                  694
                ],
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 4
                  },
                  "end": {
                    "line": 30,
                    "column": 7
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "evts",
                    "range": [
                      695,
                      699
                    ],
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 8
                      },
                      "end": {
                        "line": 30,
                        "column": 12
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "fn",
                    "range": [
                      701,
                      703
                    ],
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 14
                      },
                      "end": {
                        "line": 30,
                        "column": 16
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "evts",
                            "range": [
                              715,
                              719
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 8
                              },
                              "end": {
                                "line": 31,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "forEach",
                            "range": [
                              720,
                              727
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 13
                              },
                              "end": {
                                "line": 31,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            715,
                            727
                          ],
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 31,
                              "column": 20
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "id": null,
                            "params": [
                              {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  729,
                                  732
                                ],
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 25
                                  }
                                }
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "BinaryExpression",
                                    "operator": "in",
                                    "left": {
                                      "type": "Identifier",
                                      "name": "evt",
                                      "range": [
                                        753,
                                        756
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 32,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 32,
                                          "column": 18
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          760,
                                          764
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 32,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 32,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "events",
                                        "range": [
                                          765,
                                          771
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 32,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 32,
                                            "column": 33
                                          }
                                        }
                                      },
                                      "range": [
                                        760,
                                        771
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 32,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 32,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "range": [
                                      753,
                                      771
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 32,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "range": [
                                                    791,
                                                    795
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 33,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 33,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "events",
                                                  "range": [
                                                    796,
                                                    802
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 33,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 33,
                                                      "column": 27
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  791,
                                                  802
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 33,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 33,
                                                    "column": 27
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "evt",
                                                "range": [
                                                  803,
                                                  806
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 33,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 33,
                                                    "column": 31
                                                  }
                                                }
                                              },
                                              "range": [
                                                791,
                                                807
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 33,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 33,
                                                  "column": 32
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "splice",
                                              "range": [
                                                808,
                                                814
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 33,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 33,
                                                  "column": 39
                                                }
                                              }
                                            },
                                            "range": [
                                              791,
                                              814
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 33,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 33,
                                                "column": 39
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "range": [
                                                        815,
                                                        819
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 33,
                                                          "column": 40
                                                        },
                                                        "end": {
                                                          "line": 33,
                                                          "column": 44
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "events",
                                                      "range": [
                                                        820,
                                                        826
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 33,
                                                          "column": 45
                                                        },
                                                        "end": {
                                                          "line": 33,
                                                          "column": 51
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      815,
                                                      826
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 33,
                                                        "column": 40
                                                      },
                                                      "end": {
                                                        "line": 33,
                                                        "column": 51
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "evt",
                                                    "range": [
                                                      827,
                                                      830
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 33,
                                                        "column": 52
                                                      },
                                                      "end": {
                                                        "line": 33,
                                                        "column": 55
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    815,
                                                    831
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 33,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 33,
                                                      "column": 56
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "indexOf",
                                                  "range": [
                                                    832,
                                                    839
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 33,
                                                      "column": 57
                                                    },
                                                    "end": {
                                                      "line": 33,
                                                      "column": 64
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  815,
                                                  839
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 33,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 33,
                                                    "column": 64
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "fn",
                                                  "range": [
                                                    840,
                                                    842
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 33,
                                                      "column": 65
                                                    },
                                                    "end": {
                                                      "line": 33,
                                                      "column": 67
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                815,
                                                843
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 33,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 33,
                                                  "column": 68
                                                }
                                              }
                                            },
                                            {
                                              "type": "Literal",
                                              "value": 1,
                                              "raw": "1",
                                              "range": [
                                                845,
                                                846
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 33,
                                                  "column": 70
                                                },
                                                "end": {
                                                  "line": 33,
                                                  "column": 71
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            791,
                                            847
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 33,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 33,
                                              "column": 72
                                            }
                                          }
                                        },
                                        "range": [
                                          791,
                                          848
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 33,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 33,
                                            "column": 73
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      773,
                                      862
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 13
                                      }
                                    }
                                  },
                                  "alternate": null,
                                  "range": [
                                    750,
                                    862
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 32,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 13
                                    }
                                  }
                                }
                              ],
                              "range": [
                                736,
                                872
                              ],
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 29
                                },
                                "end": {
                                  "line": 35,
                                  "column": 9
                                }
                              }
                            },
                            "generator": false,
                            "expression": false,
                            "range": [
                              728,
                              872
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 21
                              },
                              "end": {
                                "line": 35,
                                "column": 9
                              }
                            }
                          }
                        ],
                        "range": [
                          715,
                          873
                        ],
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 8
                          },
                          "end": {
                            "line": 35,
                            "column": 10
                          }
                        }
                      },
                      "range": [
                        715,
                        874
                      ],
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 11
                        }
                      }
                    }
                  ],
                  "range": [
                    705,
                    880
                  ],
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 18
                    },
                    "end": {
                      "line": 36,
                      "column": 5
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  694,
                  880
                ],
                "loc": {
                  "start": {
                    "line": 30,
                    "column": 7
                  },
                  "end": {
                    "line": 36,
                    "column": 5
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                691,
                880
              ],
              "loc": {
                "start": {
                  "line": 30,
                  "column": 4
                },
                "end": {
                  "line": 36,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Unsubscribe to an event\n     * @param  {Array}   evts Collection of event names\n     * @param  {Function} fn  Function invoked when event is emitted\n     ",
                  "range": [
                    519,
                    686
                  ],
                  "loc": {
                    "start": {
                      "line": 25,
                      "column": 4
                    },
                    "end": {
                      "line": 29,
                      "column": 7
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Emit an event\n     * @param  {String} evt Event name followed by any other argument passed to\n     * the invoked function\n     ",
                  "range": [
                    886,
                    1026
                  ],
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 4
                    },
                    "end": {
                      "line": 42,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "emit",
                "range": [
                  1031,
                  1035
                ],
                "loc": {
                  "start": {
                    "line": 43,
                    "column": 4
                  },
                  "end": {
                    "line": 43,
                    "column": 8
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "evt",
                    "range": [
                      1036,
                      1039
                    ],
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 9
                      },
                      "end": {
                        "line": 43,
                        "column": 12
                      }
                    },
                    "trailingComments": [
                      {
                        "type": "Block",
                        "value": ", args...",
                        "range": [
                          1040,
                          1053
                        ],
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 13
                          },
                          "end": {
                            "line": 43,
                            "column": 26
                          }
                        }
                      }
                    ]
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "BinaryExpression",
                        "operator": "in",
                        "left": {
                          "type": "Identifier",
                          "name": "evt",
                          "range": [
                            1068,
                            1071
                          ],
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 11
                            },
                            "end": {
                              "line": 44,
                              "column": 14
                            }
                          }
                        },
                        "right": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              1075,
                              1079
                            ],
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 18
                              },
                              "end": {
                                "line": 44,
                                "column": 22
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "events",
                            "range": [
                              1080,
                              1086
                            ],
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 23
                              },
                              "end": {
                                "line": 44,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            1075,
                            1086
                          ],
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 18
                            },
                            "end": {
                              "line": 44,
                              "column": 29
                            }
                          }
                        },
                        "range": [
                          1068,
                          1086
                        ],
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 11
                          },
                          "end": {
                            "line": 44,
                            "column": 29
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ForStatement",
                            "init": {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "i",
                                    "range": [
                                      1110,
                                      1111
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "Literal",
                                    "value": 0,
                                    "raw": "0",
                                    "range": [
                                      1114,
                                      1115
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "range": [
                                    1110,
                                    1115
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 25
                                    }
                                  }
                                }
                              ],
                              "kind": "let",
                              "range": [
                                1106,
                                1115
                              ],
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 16
                                },
                                "end": {
                                  "line": 45,
                                  "column": 25
                                }
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "operator": "<",
                              "left": {
                                "type": "Identifier",
                                "name": "i",
                                "range": [
                                  1117,
                                  1118
                                ],
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 28
                                  }
                                }
                              },
                              "right": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": true,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        1121,
                                        1125
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 45,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 45,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "events",
                                      "range": [
                                        1126,
                                        1132
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 45,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 45,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "range": [
                                      1121,
                                      1132
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 42
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "evt",
                                    "range": [
                                      1133,
                                      1136
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 46
                                      }
                                    }
                                  },
                                  "range": [
                                    1121,
                                    1137
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 47
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "length",
                                  "range": [
                                    1138,
                                    1144
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 54
                                    }
                                  }
                                },
                                "range": [
                                  1121,
                                  1144
                                ],
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 54
                                  }
                                }
                              },
                              "range": [
                                1117,
                                1144
                              ],
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 27
                                },
                                "end": {
                                  "line": 45,
                                  "column": 54
                                }
                              }
                            },
                            "update": {
                              "type": "UpdateExpression",
                              "operator": "++",
                              "argument": {
                                "type": "Identifier",
                                "name": "i",
                                "range": [
                                  1146,
                                  1147
                                ],
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 57
                                  }
                                }
                              },
                              "prefix": false,
                              "range": [
                                1146,
                                1149
                              ],
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 56
                                },
                                "end": {
                                  "line": 45,
                                  "column": 59
                                }
                              }
                            },
                            "body": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                1169,
                                                1173
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 46,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 46,
                                                  "column": 20
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "events",
                                              "range": [
                                                1174,
                                                1180
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 46,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 46,
                                                  "column": 27
                                                }
                                              }
                                            },
                                            "range": [
                                              1169,
                                              1180
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 46,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 46,
                                                "column": 27
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "evt",
                                            "range": [
                                              1181,
                                              1184
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 46,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 46,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            1169,
                                            1185
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 46,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 46,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "i",
                                          "range": [
                                            1186,
                                            1187
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 46,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 46,
                                              "column": 34
                                            }
                                          }
                                        },
                                        "range": [
                                          1169,
                                          1188
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 46,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 46,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "apply",
                                        "range": [
                                          1189,
                                          1194
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 46,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 46,
                                            "column": 41
                                          }
                                        }
                                      },
                                      "range": [
                                        1169,
                                        1194
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 46,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 46,
                                          "column": 41
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "ThisExpression",
                                        "range": [
                                          1195,
                                          1199
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 46,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 46,
                                            "column": 46
                                          }
                                        }
                                      },
                                      {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ArrayExpression",
                                              "elements": [],
                                              "range": [
                                                1201,
                                                1203
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 46,
                                                  "column": 48
                                                },
                                                "end": {
                                                  "line": 46,
                                                  "column": 50
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "slice",
                                              "range": [
                                                1204,
                                                1209
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 46,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 46,
                                                  "column": 56
                                                }
                                              }
                                            },
                                            "range": [
                                              1201,
                                              1209
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 46,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 46,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "call",
                                            "range": [
                                              1210,
                                              1214
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 46,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 46,
                                                "column": 61
                                              }
                                            }
                                          },
                                          "range": [
                                            1201,
                                            1214
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 46,
                                              "column": 48
                                            },
                                            "end": {
                                              "line": 46,
                                              "column": 61
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "arguments",
                                            "range": [
                                              1215,
                                              1224
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 46,
                                                "column": 62
                                              },
                                              "end": {
                                                "line": 46,
                                                "column": 71
                                              }
                                            }
                                          },
                                          {
                                            "type": "Literal",
                                            "value": 1,
                                            "raw": "1",
                                            "range": [
                                              1226,
                                              1227
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 46,
                                                "column": 73
                                              },
                                              "end": {
                                                "line": 46,
                                                "column": 74
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          1201,
                                          1228
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 46,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 46,
                                            "column": 75
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      1169,
                                      1229
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 46,
                                        "column": 76
                                      }
                                    }
                                  },
                                  "range": [
                                    1169,
                                    1230
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 77
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1151,
                                1244
                              ],
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 61
                                },
                                "end": {
                                  "line": 47,
                                  "column": 13
                                }
                              }
                            },
                            "range": [
                              1102,
                              1244
                            ],
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 12
                              },
                              "end": {
                                "line": 47,
                                "column": 13
                              }
                            }
                          }
                        ],
                        "range": [
                          1088,
                          1254
                        ],
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 31
                          },
                          "end": {
                            "line": 48,
                            "column": 9
                          }
                        }
                      },
                      "alternate": null,
                      "range": [
                        1065,
                        1254
                      ],
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 8
                        },
                        "end": {
                          "line": 48,
                          "column": 9
                        }
                      }
                    }
                  ],
                  "range": [
                    1055,
                    1260
                  ],
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 28
                    },
                    "end": {
                      "line": 49,
                      "column": 5
                    }
                  },
                  "leadingComments": [
                    {
                      "type": "Block",
                      "value": ", args...",
                      "range": [
                        1040,
                        1053
                      ],
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 13
                        },
                        "end": {
                          "line": 43,
                          "column": 26
                        }
                      }
                    }
                  ]
                },
                "generator": false,
                "expression": false,
                "range": [
                  1035,
                  1260
                ],
                "loc": {
                  "start": {
                    "line": 43,
                    "column": 8
                  },
                  "end": {
                    "line": 49,
                    "column": 5
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                1031,
                1260
              ],
              "loc": {
                "start": {
                  "line": 43,
                  "column": 4
                },
                "end": {
                  "line": 49,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Emit an event\n     * @param  {String} evt Event name followed by any other argument passed to\n     * the invoked function\n     ",
                  "range": [
                    886,
                    1026
                  ],
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 4
                    },
                    "end": {
                      "line": 42,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            }
          ],
          "range": [
            52,
            1262
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 21
            },
            "end": {
              "line": 50,
              "column": 1
            }
          }
        },
        "range": [
          38,
          1262
        ],
        "loc": {
          "start": {
            "line": 4,
            "column": 7
          },
          "end": {
            "line": 50,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Event emitter class\n ",
            "range": [
              0,
              30
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 0
              },
              "end": {
                "line": 3,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        31,
        1262
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 50,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Event emitter class\n ",
          "range": [
            0,
            30
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 3,
              "column": 3
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    31,
    1262
  ],
  "loc": {
    "start": {
      "line": 4,
      "column": 0
    },
    "end": {
      "line": 50,
      "column": 1
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * Event emitter class\n ",
      "range": [
        0,
        30
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n         * Events object\n         * @type {Object}\n         ",
      "range": [
        82,
        148
      ],
      "loc": {
        "start": {
          "line": 6,
          "column": 8
        },
        "end": {
          "line": 9,
          "column": 11
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Subscribe to an event\n     * @param  {Array}   evts Collection of event names\n     * @param  {Function} fn  Function invoked when event is emitted\n     ",
      "range": [
        186,
        351
      ],
      "loc": {
        "start": {
          "line": 13,
          "column": 4
        },
        "end": {
          "line": 17,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Unsubscribe to an event\n     * @param  {Array}   evts Collection of event names\n     * @param  {Function} fn  Function invoked when event is emitted\n     ",
      "range": [
        519,
        686
      ],
      "loc": {
        "start": {
          "line": 25,
          "column": 4
        },
        "end": {
          "line": 29,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Emit an event\n     * @param  {String} evt Event name followed by any other argument passed to\n     * the invoked function\n     ",
      "range": [
        886,
        1026
      ],
      "loc": {
        "start": {
          "line": 38,
          "column": 4
        },
        "end": {
          "line": 42,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": ", args...",
      "range": [
        1040,
        1053
      ],
      "loc": {
        "start": {
          "line": 43,
          "column": 13
        },
        "end": {
          "line": 43,
          "column": 26
        }
      }
    }
  ]
}