UNPKG

appium-remote-debugger

Version:
77 lines 3.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.events = void 0; exports.addClientEventListener = addClientEventListener; exports.removeClientEventListener = removeClientEventListener; exports.startConsole = startConsole; exports.stopConsole = stopConsole; exports.startNetwork = startNetwork; exports.stopNetwork = stopNetwork; const property_accessors_1 = require("./property-accessors"); // event emitted publically exports.events = { EVENT_PAGE_CHANGE: 'remote_debugger_page_change', EVENT_FRAMES_DETACHED: 'remote_debugger_frames_detached', EVENT_DISCONNECT: 'remote_debugger_disconnect', }; /** * Adds a client event listener to the RPC client and tracks it for later removal. * The listener will be called when the specified event is emitted by the remote debugger. * * @param eventName - The name of the event to listen for. * @param listener - The event listener function to call when the event is emitted. */ function addClientEventListener(eventName, listener) { (0, property_accessors_1.getClientEventListeners)(this)[eventName] ??= []; (0, property_accessors_1.getClientEventListeners)(this)[eventName].push(listener); this.requireRpcClient().on(eventName, listener); } /** * Removes all client event listeners for the specified event name from the RPC client. * This will stop listening for the event and clean up the tracked listeners. * * @param eventName - The name of the event to stop listening for. */ function removeClientEventListener(eventName) { for (const listener of (0, property_accessors_1.getClientEventListeners)(this)[eventName] || []) { this.requireRpcClient().off(eventName, listener); } } /** * Starts listening for JavaScript console messages by registering listeners * for Console.messageAdded and Console.messageRepeatCountUpdated events. * * @param listener - The event listener function to call when console messages are received. */ function startConsole(listener) { this.log.debug('Starting to listen for JavaScript console'); this.addClientEventListener('Console.messageAdded', listener); this.addClientEventListener('Console.messageRepeatCountUpdated', listener); } /** * Stops listening for JavaScript console messages by removing listeners * for Console.messageAdded and Console.messageRepeatCountUpdated events. */ function stopConsole() { this.log.debug('Stopping to listen for JavaScript console'); this.removeClientEventListener('Console.messageAdded'); this.removeClientEventListener('Console.messageRepeatCountUpdated'); } /** * Starts listening for network events by registering a listener for NetworkEvent. * This aggregates all Network.* events into a single NetworkEvent. * * @param listener - The event listener function to call when network events are received. */ function startNetwork(listener) { this.log.debug('Starting to listen for network events'); this.addClientEventListener('NetworkEvent', listener); } /** * Stops listening for network events by removing the listener for NetworkEvent. */ function stopNetwork() { this.log.debug('Stopping to listen for network events'); this.removeClientEventListener('NetworkEvent'); } //# sourceMappingURL=events.js.map