dev-classes
Version:
<h3 align="center">SocketApi</h3>
34 lines (33 loc) • 1.11 kB
JavaScript
var c = Object.defineProperty;
var u = (t, s, r) => s in t ? c(t, s, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[s] = r;
var b = (t, s, r) => (u(t, typeof s != "symbol" ? s + "" : s, r), r);
class h {
constructor(s) {
b(this, "subscribersEvents", {});
b(this, "getListNameEvents", () => Object.keys(this.subscribersEvents));
b(this, "getSubscribers", () => this.subscribersEvents);
b(this, "subscribe", (s, r) => {
var e;
(e = this.subscribersEvents[s]) == null || e.push(r);
});
b(this, "unsubscribe", (s, r) => {
var e;
this.subscribersEvents[s] && (this.subscribersEvents[s] = (e = this.subscribersEvents[s]) == null ? void 0 : e.filter((i) => i !== r));
});
b(this, "publish", (s, r) => {
var e;
this.subscribersEvents[s] && ((e = this.subscribersEvents[s]) == null || e.forEach((i) => {
i(r);
}));
});
b(this, "resetSubscribers", () => {
this.subscribersEvents = {};
});
s.forEach((r) => {
this.subscribersEvents[r] = [];
});
}
}
export {
h as EventSubscribers
};