UNPKG

sqmicro-commons

Version:

Commons for SQ analytics microservices.

34 lines (29 loc) 982 B
/** * @module bind-events */ /** * Назначить обработчики событий целевому объекту. * @name bindEvents * @function * @param {IEventTarget} target целевой объект. * @param {Object} events The map of event name to an event handler. * @param {*} context The value to bind `this` of the handler to. * @param {Array} [args] argument to partially apply handlers of `events`. */ module.exports = function bindEvents(target, events, context, args = []) { for (const [eventName, handler] of Object.entries(events)) { target.on(eventName, handler.bind(context, ...args)); } }; /** * @classdesc Интерфейс целевого объекта. * @name IEventTarget * @class * @inner */ /** Назначить обработчик событию. * @method * @name IEventTarget#on * @param {string} eventName The name of event. * @param {function} eventHandler The name of the event handler. */