/** * @module ol/pointer/EventSource */ class EventSource { /** * @param {module:ol/pointer/PointerEventHandler} dispatcher Event handler. * @param {!Object} mapping Event mapping. */ constructor(dispatcher, mapping) { /** * @type {module:ol/pointer/PointerEventHandler} */ this.dispatcher = dispatcher; /** * @private * @const * @type {!Object} */ this.mapping_ = mapping; } /** * List of events supported by this source. * @return {Array} Event names */ getEvents() { return Object.keys(this.mapping_); } /** * Returns the handler that should handle a given event type. * @param {string} eventType The event type. * @return {function(Event)} Handler */ getHandlerForEvent(eventType) { return this.mapping_[eventType]; } } export default EventSource;