mysql2
Version:
fast mysql driver. Implements core protocol, prepared statements, ssl and compression in native JS
28 lines (24 loc) • 753 B
JavaScript
function inheritEvents(source, target, events) {
const listeners = {};
target
.on('newListener', (eventName) => {
if (events.indexOf(eventName) >= 0 && !target.listenerCount(eventName)) {
source.on(
eventName,
(listeners[eventName] = function () {
const args = [].slice.call(arguments);
args.unshift(eventName);
target.emit.apply(target, args);
})
);
}
})
.on('removeListener', (eventName) => {
if (events.indexOf(eventName) >= 0 && !target.listenerCount(eventName)) {
source.removeListener(eventName, listeners[eventName]);
delete listeners[eventName];
}
});
}
module.exports = inheritEvents;
;