UNPKG

vue-hooks-plus

Version:
30 lines (29 loc) 799 B
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const listeners = {}; const otherListeners = []; const trigger = (key, data) => { if (listeners[key]) { listeners[key].forEach((item) => item(data)); otherListeners.forEach((item) => item({ type: key, data })); } }; const subscribe = (key, listener) => { if (!listeners[key]) { listeners[key] = []; } listeners[key].push(listener); return function unsubscribe() { const index = listeners[key].indexOf(listener); listeners[key].splice(index, 1); }; }; const otherSubscribe = (listener) => { otherListeners.push(listener); }; exports.otherSubscribe = otherSubscribe; exports.subscribe = subscribe; exports.trigger = trigger;