Event based JavaScript for the browser with comprehensive event management API
91
Create a utility that inspects and reports on event listeners registered in an EventEmitter instance. The utility should provide detailed information about which events have listeners and how many listeners are attached to each event.
@generates
/**
* Returns a map of event names to listener counts
*
* @param {EventEmitter} emitter - The EventEmitter instance to inspect
* @param {Array<string>} eventNames - Array of event names to check
* @returns {Object} Object mapping event names to their listener counts
*/
function getListenerCounts(emitter, eventNames) {
// IMPLEMENTATION HERE
}
/**
* Returns an array of event names that have at least one listener
*
* @param {EventEmitter} emitter - The EventEmitter instance to inspect
* @param {Array<string>} eventNames - Array of event names to check
* @returns {Array<string>} Array of event names with active listeners
*/
function getActiveEvents(emitter, eventNames) {
// IMPLEMENTATION HERE
}
/**
* Extracts all listener functions for a given event as a plain array
*
* @param {EventEmitter} emitter - The EventEmitter instance
* @param {string} eventName - The name of the event
* @returns {Array<Function>} Array of listener functions
*/
function extractListeners(emitter, eventName) {
// IMPLEMENTATION HERE
}
module.exports = {
getListenerCounts,
getActiveEvents,
extractListeners
};Provides event management capabilities for JavaScript applications in browser environments.
Install with Tessl CLI
npx tessl i tessl/npm-wolfy87-eventemitterdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10