origin_storage_manager
Version:
multi cloud's storage event manager
26 lines (20 loc) • 523 B
JavaScript
class Subscriber {
constructor() {
this.subscribers = {};
}
publish = (eventName, data) => {
if (!Array.isArray(this.subscribers[eventName])) {
return;
}
this.subscribers[eventName].forEach((callback) => {
callback(data);
});
};
subscribe = (eventName, callback) => {
if (!Array.isArray(this.subscribers[eventName])) {
this.subscribers[eventName] = [];
}
this.subscribers[eventName].push(callback);
};
}
export default Subscriber;