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
39 lines (31 loc) • 849 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var createSubscription = function createSubscription() {
var nextListeners = [];
return {
trigger: function trigger() {
var listeners = nextListeners;
for (var i = 0; i < listeners.length; i++) {
listeners[i]();
}
},
subscribe: function subscribe(listener) {
if (typeof listener !== 'function') {
throw new Error('Expected listener to be a function.');
}
var isSubscribed = true;
nextListeners.push(listener);
return function unsubscribe() {
if (!isSubscribed) {
return;
}
isSubscribed = false;
var index = nextListeners.indexOf(listener);
nextListeners.splice(index, 1);
};
}
};
};
exports.default = createSubscription;