UNPKG

typescript-assistant

Version:

Combines and integrates professional Typescript tools into your project

42 lines 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createBus = void 0; let 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; }; exports.createBus = createBus; //# sourceMappingURL=bus.js.map