{
  "type": "File",
  "start": 0,
  "end": 1168,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 40,
      "column": 1
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 1168,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 40,
        "column": 1
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ExportDefaultDeclaration",
        "start": 60,
        "end": 1168,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 40,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 75,
          "end": 1168,
          "loc": {
            "start": {
              "line": 6,
              "column": 15
            },
            "end": {
              "line": 40,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 81,
            "end": 97,
            "loc": {
              "start": {
                "line": 6,
                "column": 21
              },
              "end": {
                "line": 6,
                "column": 37
              },
              "identifierName": "IEventDispatcher"
            },
            "name": "IEventDispatcher",
            "leadingComments": null
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 98,
            "end": 1168,
            "loc": {
              "start": {
                "line": 6,
                "column": 38
              },
              "end": {
                "line": 40,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 349,
                "end": 394,
                "loc": {
                  "start": {
                    "line": 14,
                    "column": 4
                  },
                  "end": {
                    "line": 14,
                    "column": 49
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 349,
                  "end": 365,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 4
                    },
                    "end": {
                      "line": 14,
                      "column": 20
                    },
                    "identifierName": "addEventListener"
                  },
                  "name": "addEventListener",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 367,
                    "end": 371,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 22
                      },
                      "end": {
                        "line": 14,
                        "column": 26
                      },
                      "identifierName": "type"
                    },
                    "name": "type"
                  },
                  {
                    "type": "Identifier",
                    "start": 373,
                    "end": 380,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 28
                      },
                      "end": {
                        "line": 14,
                        "column": 35
                      },
                      "identifierName": "handler"
                    },
                    "name": "handler"
                  },
                  {
                    "type": "Identifier",
                    "start": 382,
                    "end": 389,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 37
                      },
                      "end": {
                        "line": 14,
                        "column": 44
                      },
                      "identifierName": "options"
                    },
                    "name": "options"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 392,
                  "end": 394,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 47
                    },
                    "end": {
                      "line": 14,
                      "column": 49
                    }
                  },
                  "body": [],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * 注册一个事件侦听器。\n     * @param {String|Symbol} type - 注册的事件类型。\n     * @param {Function|IEventListener} handler - 指定事件处理函数或者是一个事件侦听器。\n     * @param {Boolean|IEventListenerOptions} [options=false] - 指定侦听器配置选项。\n     * @since 1.0.0\n     ",
                    "start": 104,
                    "end": 344,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 4
                      },
                      "end": {
                        "line": 13,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 683,
                "end": 734,
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 4
                  },
                  "end": {
                    "line": 23,
                    "column": 55
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 683,
                  "end": 702,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 4
                    },
                    "end": {
                      "line": 23,
                      "column": 23
                    },
                    "identifierName": "removeEventListener"
                  },
                  "name": "removeEventListener",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 704,
                    "end": 708,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 25
                      },
                      "end": {
                        "line": 23,
                        "column": 29
                      },
                      "identifierName": "type"
                    },
                    "name": "type"
                  },
                  {
                    "type": "Identifier",
                    "start": 710,
                    "end": 717,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 31
                      },
                      "end": {
                        "line": 23,
                        "column": 38
                      },
                      "identifierName": "handler"
                    },
                    "name": "handler"
                  },
                  {
                    "type": "Identifier",
                    "start": 719,
                    "end": 729,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 40
                      },
                      "end": {
                        "line": 23,
                        "column": 50
                      },
                      "identifierName": "useCapture"
                    },
                    "name": "useCapture"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 732,
                  "end": 734,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 53
                    },
                    "end": {
                      "line": 23,
                      "column": 55
                    }
                  },
                  "body": [],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * 移除一个事件侦听器。\n     * @param {String|Symbol} type - 移除的事件类型。\n     * @param {Function|IEventListener} handler - 指定要移除的事件处理函数或者事件侦听器。\n     * @param {Boolean|IEventListenerOptions} [useCapture=false] - 指定是移除捕获阶段(`true`)还是冒泡阶段(`false`)的事件侦听器。\n     * @since 1.0.0\n     ",
                    "start": 405,
                    "end": 678,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 4
                      },
                      "end": {
                        "line": 22,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 918,
                "end": 945,
                "loc": {
                  "start": {
                    "line": 31,
                    "column": 4
                  },
                  "end": {
                    "line": 31,
                    "column": 31
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 918,
                  "end": 934,
                  "loc": {
                    "start": {
                      "line": 31,
                      "column": 4
                    },
                    "end": {
                      "line": 31,
                      "column": 20
                    },
                    "identifierName": "hasEventListener"
                  },
                  "name": "hasEventListener",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 936,
                    "end": 940,
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 22
                      },
                      "end": {
                        "line": 31,
                        "column": 26
                      },
                      "identifierName": "type"
                    },
                    "name": "type"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 943,
                  "end": 945,
                  "loc": {
                    "start": {
                      "line": 31,
                      "column": 29
                    },
                    "end": {
                      "line": 31,
                      "column": 31
                    }
                  },
                  "body": [],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * 检查是否注册了指定类型的事件侦听器。\n     * @param {String|Symbol} type - 检查的事件类型。\n     * @returns {Boolean} - 如果存在指定类型的侦听器则返回 `true`，否则返回 `false`。\n     * @since 1.0.0\n     ",
                    "start": 745,
                    "end": 913,
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 4
                      },
                      "end": {
                        "line": 30,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1140,
                "end": 1165,
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 4
                  },
                  "end": {
                    "line": 39,
                    "column": 29
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1140,
                  "end": 1153,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 4
                    },
                    "end": {
                      "line": 39,
                      "column": 17
                    },
                    "identifierName": "dispatchEvent"
                  },
                  "name": "dispatchEvent",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1155,
                    "end": 1160,
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 19
                      },
                      "end": {
                        "line": 39,
                        "column": 24
                      },
                      "identifierName": "event"
                    },
                    "name": "event"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1163,
                  "end": 1165,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 27
                    },
                    "end": {
                      "line": 39,
                      "column": 29
                    }
                  },
                  "body": [],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * 派发一个事件对象到目标对象的事件流中。\n     * @param {Event} event - 指定派发的事件对象。\n     * @returns {Boolean} - 如果事件传递到了当前目标对象，并且没有被取消默认行为。则返回 `true`，否则返回 `false`。\n     * @since 1.0.0\n     ",
                    "start": 956,
                    "end": 1135,
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 4
                      },
                      "end": {
                        "line": 38,
                        "column": 7
                      }
                    }
                  }
                ]
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\n * 定义所有具备事件派发功能对象的接口。\n * @interface\n * @since 1.0.0\n ",
              "start": 0,
              "end": 59,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 0
                },
                "end": {
                  "line": 5,
                  "column": 3
                }
              }
            }
          ],
          "trailingComments": []
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * 定义所有具备事件派发功能对象的接口。\n * @interface\n * @since 1.0.0\n ",
            "start": 0,
            "end": 59,
            "loc": {
              "start": {
                "line": 1,
                "column": 0
              },
              "end": {
                "line": 5,
                "column": 3
              }
            }
          }
        ]
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\n * 定义所有具备事件派发功能对象的接口。\n * @interface\n * @since 1.0.0\n ",
      "start": 0,
      "end": 59,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 注册一个事件侦听器。\n     * @param {String|Symbol} type - 注册的事件类型。\n     * @param {Function|IEventListener} handler - 指定事件处理函数或者是一个事件侦听器。\n     * @param {Boolean|IEventListenerOptions} [options=false] - 指定侦听器配置选项。\n     * @since 1.0.0\n     ",
      "start": 104,
      "end": 344,
      "loc": {
        "start": {
          "line": 7,
          "column": 4
        },
        "end": {
          "line": 13,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 移除一个事件侦听器。\n     * @param {String|Symbol} type - 移除的事件类型。\n     * @param {Function|IEventListener} handler - 指定要移除的事件处理函数或者事件侦听器。\n     * @param {Boolean|IEventListenerOptions} [useCapture=false] - 指定是移除捕获阶段(`true`)还是冒泡阶段(`false`)的事件侦听器。\n     * @since 1.0.0\n     ",
      "start": 405,
      "end": 678,
      "loc": {
        "start": {
          "line": 16,
          "column": 4
        },
        "end": {
          "line": 22,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 检查是否注册了指定类型的事件侦听器。\n     * @param {String|Symbol} type - 检查的事件类型。\n     * @returns {Boolean} - 如果存在指定类型的侦听器则返回 `true`，否则返回 `false`。\n     * @since 1.0.0\n     ",
      "start": 745,
      "end": 913,
      "loc": {
        "start": {
          "line": 25,
          "column": 4
        },
        "end": {
          "line": 30,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 派发一个事件对象到目标对象的事件流中。\n     * @param {Event} event - 指定派发的事件对象。\n     * @returns {Boolean} - 如果事件传递到了当前目标对象，并且没有被取消默认行为。则返回 `true`，否则返回 `false`。\n     * @since 1.0.0\n     ",
      "start": 956,
      "end": 1135,
      "loc": {
        "start": {
          "line": 33,
          "column": 4
        },
        "end": {
          "line": 38,
          "column": 7
        }
      }
    }
  ],
  "tokens": [
    {
      "type": "CommentBlock",
      "value": "*\n * 定义所有具备事件派发功能对象的接口。\n * @interface\n * @since 1.0.0\n ",
      "start": 0,
      "end": 59,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 60,
      "end": 66,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 67,
      "end": 74,
      "loc": {
        "start": {
          "line": 6,
          "column": 7
        },
        "end": {
          "line": 6,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 75,
      "end": 80,
      "loc": {
        "start": {
          "line": 6,
          "column": 15
        },
        "end": {
          "line": 6,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "IEventDispatcher",
      "start": 81,
      "end": 97,
      "loc": {
        "start": {
          "line": 6,
          "column": 21
        },
        "end": {
          "line": 6,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 98,
      "end": 99,
      "loc": {
        "start": {
          "line": 6,
          "column": 38
        },
        "end": {
          "line": 6,
          "column": 39
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 注册一个事件侦听器。\n     * @param {String|Symbol} type - 注册的事件类型。\n     * @param {Function|IEventListener} handler - 指定事件处理函数或者是一个事件侦听器。\n     * @param {Boolean|IEventListenerOptions} [options=false] - 指定侦听器配置选项。\n     * @since 1.0.0\n     ",
      "start": 104,
      "end": 344,
      "loc": {
        "start": {
          "line": 7,
          "column": 4
        },
        "end": {
          "line": 13,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addEventListener",
      "start": 349,
      "end": 365,
      "loc": {
        "start": {
          "line": 14,
          "column": 4
        },
        "end": {
          "line": 14,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 365,
      "end": 366,
      "loc": {
        "start": {
          "line": 14,
          "column": 20
        },
        "end": {
          "line": 14,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 367,
      "end": 371,
      "loc": {
        "start": {
          "line": 14,
          "column": 22
        },
        "end": {
          "line": 14,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 371,
      "end": 372,
      "loc": {
        "start": {
          "line": 14,
          "column": 26
        },
        "end": {
          "line": 14,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 373,
      "end": 380,
      "loc": {
        "start": {
          "line": 14,
          "column": 28
        },
        "end": {
          "line": 14,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 380,
      "end": 381,
      "loc": {
        "start": {
          "line": 14,
          "column": 35
        },
        "end": {
          "line": 14,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 382,
      "end": 389,
      "loc": {
        "start": {
          "line": 14,
          "column": 37
        },
        "end": {
          "line": 14,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 390,
      "end": 391,
      "loc": {
        "start": {
          "line": 14,
          "column": 45
        },
        "end": {
          "line": 14,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 392,
      "end": 393,
      "loc": {
        "start": {
          "line": 14,
          "column": 47
        },
        "end": {
          "line": 14,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 393,
      "end": 394,
      "loc": {
        "start": {
          "line": 14,
          "column": 48
        },
        "end": {
          "line": 14,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 394,
      "end": 395,
      "loc": {
        "start": {
          "line": 14,
          "column": 49
        },
        "end": {
          "line": 14,
          "column": 50
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 移除一个事件侦听器。\n     * @param {String|Symbol} type - 移除的事件类型。\n     * @param {Function|IEventListener} handler - 指定要移除的事件处理函数或者事件侦听器。\n     * @param {Boolean|IEventListenerOptions} [useCapture=false] - 指定是移除捕获阶段(`true`)还是冒泡阶段(`false`)的事件侦听器。\n     * @since 1.0.0\n     ",
      "start": 405,
      "end": 678,
      "loc": {
        "start": {
          "line": 16,
          "column": 4
        },
        "end": {
          "line": 22,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeEventListener",
      "start": 683,
      "end": 702,
      "loc": {
        "start": {
          "line": 23,
          "column": 4
        },
        "end": {
          "line": 23,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 702,
      "end": 703,
      "loc": {
        "start": {
          "line": 23,
          "column": 23
        },
        "end": {
          "line": 23,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 704,
      "end": 708,
      "loc": {
        "start": {
          "line": 23,
          "column": 25
        },
        "end": {
          "line": 23,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 708,
      "end": 709,
      "loc": {
        "start": {
          "line": 23,
          "column": 29
        },
        "end": {
          "line": 23,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handler",
      "start": 710,
      "end": 717,
      "loc": {
        "start": {
          "line": 23,
          "column": 31
        },
        "end": {
          "line": 23,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 717,
      "end": 718,
      "loc": {
        "start": {
          "line": 23,
          "column": 38
        },
        "end": {
          "line": 23,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "useCapture",
      "start": 719,
      "end": 729,
      "loc": {
        "start": {
          "line": 23,
          "column": 40
        },
        "end": {
          "line": 23,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 730,
      "end": 731,
      "loc": {
        "start": {
          "line": 23,
          "column": 51
        },
        "end": {
          "line": 23,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 732,
      "end": 733,
      "loc": {
        "start": {
          "line": 23,
          "column": 53
        },
        "end": {
          "line": 23,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 733,
      "end": 734,
      "loc": {
        "start": {
          "line": 23,
          "column": 54
        },
        "end": {
          "line": 23,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 734,
      "end": 735,
      "loc": {
        "start": {
          "line": 23,
          "column": 55
        },
        "end": {
          "line": 23,
          "column": 56
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 检查是否注册了指定类型的事件侦听器。\n     * @param {String|Symbol} type - 检查的事件类型。\n     * @returns {Boolean} - 如果存在指定类型的侦听器则返回 `true`，否则返回 `false`。\n     * @since 1.0.0\n     ",
      "start": 745,
      "end": 913,
      "loc": {
        "start": {
          "line": 25,
          "column": 4
        },
        "end": {
          "line": 30,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasEventListener",
      "start": 918,
      "end": 934,
      "loc": {
        "start": {
          "line": 31,
          "column": 4
        },
        "end": {
          "line": 31,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 934,
      "end": 935,
      "loc": {
        "start": {
          "line": 31,
          "column": 20
        },
        "end": {
          "line": 31,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 936,
      "end": 940,
      "loc": {
        "start": {
          "line": 31,
          "column": 22
        },
        "end": {
          "line": 31,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 941,
      "end": 942,
      "loc": {
        "start": {
          "line": 31,
          "column": 27
        },
        "end": {
          "line": 31,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 943,
      "end": 944,
      "loc": {
        "start": {
          "line": 31,
          "column": 29
        },
        "end": {
          "line": 31,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 944,
      "end": 945,
      "loc": {
        "start": {
          "line": 31,
          "column": 30
        },
        "end": {
          "line": 31,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 945,
      "end": 946,
      "loc": {
        "start": {
          "line": 31,
          "column": 31
        },
        "end": {
          "line": 31,
          "column": 32
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * 派发一个事件对象到目标对象的事件流中。\n     * @param {Event} event - 指定派发的事件对象。\n     * @returns {Boolean} - 如果事件传递到了当前目标对象，并且没有被取消默认行为。则返回 `true`，否则返回 `false`。\n     * @since 1.0.0\n     ",
      "start": 956,
      "end": 1135,
      "loc": {
        "start": {
          "line": 33,
          "column": 4
        },
        "end": {
          "line": 38,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "dispatchEvent",
      "start": 1140,
      "end": 1153,
      "loc": {
        "start": {
          "line": 39,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1153,
      "end": 1154,
      "loc": {
        "start": {
          "line": 39,
          "column": 17
        },
        "end": {
          "line": 39,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 1155,
      "end": 1160,
      "loc": {
        "start": {
          "line": 39,
          "column": 19
        },
        "end": {
          "line": 39,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1161,
      "end": 1162,
      "loc": {
        "start": {
          "line": 39,
          "column": 25
        },
        "end": {
          "line": 39,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1163,
      "end": 1164,
      "loc": {
        "start": {
          "line": 39,
          "column": 27
        },
        "end": {
          "line": 39,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1164,
      "end": 1165,
      "loc": {
        "start": {
          "line": 39,
          "column": 28
        },
        "end": {
          "line": 39,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1165,
      "end": 1166,
      "loc": {
        "start": {
          "line": 39,
          "column": 29
        },
        "end": {
          "line": 39,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1167,
      "end": 1168,
      "loc": {
        "start": {
          "line": 40,
          "column": 0
        },
        "end": {
          "line": 40,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1168,
      "end": 1168,
      "loc": {
        "start": {
          "line": 40,
          "column": 1
        },
        "end": {
          "line": 40,
          "column": 1
        }
      }
    }
  ]
}