JavaScript 65.5%
Python 17.8%
CSS 13%
HTML 3.7%
1/*2 * noVNC: HTML5 VNC client3 * Copyright (C) 2019 The noVNC authors4 * Licensed under MPL 2.0 (see LICENSE.txt)5 *6 * See README.md for usage and integration instructions.7 */89export default class EventTargetMixin {10 constructor() {11 this._listeners = new Map();12 }1314 addEventListener(type, callback) {15 if (!this._listeners.has(type)) {16 this._listeners.set(type, new Set());17 }18 this._listeners.get(type).add(callback);19 }2021 removeEventListener(type, callback) {22 if (this._listeners.has(type)) {23 this._listeners.get(type).delete(callback);24 }25 }2627 dispatchEvent(event) {28 if (!this._listeners.has(event.type)) {29 return true;30 }31 this._listeners.get(event.type)32 .forEach(callback => callback.call(this, event));33 return !event.defaultPrevented;34 }35}36