(event: T)
| 47 | } |
| 48 | |
| 49 | fire(event: T): void { |
| 50 | const dispatch = !this._deliveryQueue; |
| 51 | if (!this._deliveryQueue) this._deliveryQueue = []; |
| 52 | for (const data of this._listeners) this._deliveryQueue.push({ data, event }); |
| 53 | if (!dispatch) return; |
| 54 | for (let index = 0; index < this._deliveryQueue.length; index++) { |
| 55 | const { data, event } = this._deliveryQueue[index]; |
| 56 | data.listener.call(data.thisArg, event); |
| 57 | } |
| 58 | this._deliveryQueue = undefined; |
| 59 | } |
| 60 | |
| 61 | dispose() { |
| 62 | this._listeners.clear(); |