UNPKG

1.66 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var XMLHttpRequestEventTarget = /** @class */ (function () {
4 function XMLHttpRequestEventTarget() {
5 this.listeners = {};
6 }
7 XMLHttpRequestEventTarget.prototype.addEventListener = function (eventType, listener) {
8 eventType = eventType.toLowerCase();
9 this.listeners[eventType] = this.listeners[eventType] || [];
10 this.listeners[eventType].push(listener.handleEvent || listener);
11 };
12 XMLHttpRequestEventTarget.prototype.removeEventListener = function (eventType, listener) {
13 eventType = eventType.toLowerCase();
14 if (!this.listeners[eventType]) {
15 return;
16 }
17 var index = this.listeners[eventType].indexOf(listener.handleEvent || listener);
18 if (index < 0) {
19 return;
20 }
21 this.listeners[eventType].splice(index, 1);
22 };
23 XMLHttpRequestEventTarget.prototype.dispatchEvent = function (event) {
24 var eventType = event.type.toLowerCase();
25 event.target = this; // TODO: set event.currentTarget?
26 if (this.listeners[eventType]) {
27 for (var _i = 0, _a = this.listeners[eventType]; _i < _a.length; _i++) {
28 var listener_1 = _a[_i];
29 listener_1.call(this, event);
30 }
31 }
32 var listener = this["on" + eventType];
33 if (listener) {
34 listener.call(this, event);
35 }
36 return true;
37 };
38 return XMLHttpRequestEventTarget;
39}());
40exports.XMLHttpRequestEventTarget = XMLHttpRequestEventTarget;
41//# sourceMappingURL=xml-http-request-event-target.js.map
\No newline at end of file