UNPKG

@coko/client

Version:

Client side common code for coko apps

31 lines (30 loc) 695 B
//#region src/helpers/SubscriptionManager.ts var e = { public: !1 }, t = class { subscriptions; constructor() { this.subscriptions = /* @__PURE__ */ new Map(); } add(t, n, r = {}) { this.subscriptions.has(t) || this.subscriptions.set(t, { subscription: n, options: { ...e, ...r } }); } remove(e) { let t = this.subscriptions.get(e); t && (t.subscription.unsubscribe(), this.subscriptions.delete(e)); } clear() { this.subscriptions.forEach((e) => e.subscription.unsubscribe()), this.subscriptions.clear(); } clearNonPublic() { this.subscriptions.forEach((e, t) => { e.options.public || this.remove(t); }); } }; //#endregion export { t as default };