UNPKG

typescript-assistant

Version:

Combines and integrates professional Typescript tools into your project

40 lines 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createBus = () => { let allSubscribers = {}; let bus = { signal: (eventType) => { let subscribers = allSubscribers[eventType]; if (subscribers) { subscribers.forEach(s => s()); } }, report: (report) => { let subscribers = allSubscribers['report']; if (subscribers) { subscribers.forEach(s => s(report)); } }, register: (type, callback) => { let subscribers = allSubscribers[type]; if (!subscribers) { subscribers = allSubscribers[type] = []; } subscribers.push(callback); }, registerAll: (types, callback) => { types.forEach(type => bus.register(type, callback)); }, unregister: (callback) => { Object.keys(allSubscribers).forEach(eventType => { let subscribers = allSubscribers[eventType]; let index = subscribers.indexOf(callback); if (index >= 0) { subscribers.splice(index, 1); } }); } }; return bus; }; //# sourceMappingURL=bus.js.map