diff options
author | Ruben Rodriguez <ruben@gnu.org> | 2018-09-13 20:39:48 -0400 |
---|---|---|
committer | Ruben Rodriguez <ruben@gnu.org> | 2018-09-13 21:02:13 -0400 |
commit | d26b319fd6f98517cc3421f10bf18698b953e4d2 (patch) | |
tree | bc70c4e472a2eaf514d411dba5067d530e5bbea9 /data/extensions/spyblock@gnu.org/lib/events.js | |
parent | c3b304c51a3386ea09527a479a883253ea35243a (diff) |
Updated extensions list for v60
Diffstat (limited to 'data/extensions/spyblock@gnu.org/lib/events.js')
-rw-r--r-- | data/extensions/spyblock@gnu.org/lib/events.js | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/data/extensions/spyblock@gnu.org/lib/events.js b/data/extensions/spyblock@gnu.org/lib/events.js deleted file mode 100644 index 8d11f7c..0000000 --- a/data/extensions/spyblock@gnu.org/lib/events.js +++ /dev/null @@ -1,106 +0,0 @@ -/* - * This file is part of Adblock Plus <https://adblockplus.org/>, - * Copyright (C) 2006-2017 eyeo GmbH - * - * Adblock Plus is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 3 as - * published by the Free Software Foundation. - * - * Adblock Plus is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. - */ - -"use strict"; - -/** - * Registers and emits named events. - * - * @constructor - */ -exports.EventEmitter = function() -{ - this._listeners = Object.create(null); -}; - -exports.EventEmitter.prototype = { - /** - * Adds a listener for the specified event name. - * - * @param {string} name - * @param {function} listener - */ - on(name, listener) - { - if (name in this._listeners) - this._listeners[name].push(listener); - else - this._listeners[name] = [listener]; - }, - - /** - * Removes a listener for the specified event name. - * - * @param {string} name - * @param {function} listener - */ - off(name, listener) - { - let listeners = this._listeners[name]; - if (listeners) - { - let idx = listeners.indexOf(listener); - if (idx != -1) - listeners.splice(idx, 1); - } - }, - - /** - * Adds a one time listener and returns a promise that - * is resolved the next time the specified event is emitted. - * @param {string} name - * @return {Promise} - */ - once(name) - { - return new Promise(resolve => - { - let listener = () => - { - this.off(name, listener); - resolve(); - }; - - this.on(name, listener); - }); - }, - - /** - * Returns a copy of the array of listeners for the specified event. - * - * @param {string} name - * @return {function[]} - */ - listeners(name) - { - let listeners = this._listeners[name]; - return listeners ? listeners.slice() : []; - }, - - /** - * Calls all previously added listeners for the given event name. - * - * @param {string} name - * @param {...*} [arg] - */ - emit(name, ...args) - { - let listeners = this.listeners(name); - for (let listener of listeners) - listener(...args); - } -}; |