eventEmitter: function()

in src/com.jetbrains.youtrack.sdPlugin/libs/js/events.js [7:21]


	eventEmitter: function (name, fn) {
		const eventList = new Map();

		const on = (name, fn) => {
			if (!eventList.has(name)) eventList.set(name, ELGEvents.pubSub());

			return eventList.get(name).sub(fn);
		};

		const has = name => eventList.has(name);

		const emit = (name, data) => eventList.has(name) && eventList.get(name).pub(data);

		return Object.freeze({on, has, emit, eventList});
	},