UNPKG

redux-restate

Version:

<div align="center"> <h1>redux-restate</h1> <br/> <img src="https://cdn.rawgit.com/theKashey/restate/1d67d86d/images/logo.svg" alt="restate" width="600" align="center"> <br/> <br/> Restate base layer. <br/> <br/> <a href="https://circlec

36 lines (27 loc) 715 B
const createSubscription = () => { const nextListeners = []; return { trigger() { const listeners = nextListeners; for (let i = 0; i < listeners.length; i++) { listeners[i](); } }, subscribe(listener) { if (typeof listener !== 'function') { throw new Error('Expected listener to be a function.'); } let isSubscribed = true; nextListeners.push(listener); return function unsubscribe() { if (!isSubscribed) { return; } isSubscribed = false; const index = nextListeners.indexOf(listener); nextListeners.splice(index, 1); }; }, }; }; export default createSubscription;