UNPKG

vue-hooks-plus

Version:
53 lines (52 loc) 1.48 kB
var __defProp = Object.defineProperty; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __publicField = (obj, key, value) => { __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); return value; }; class RegisterDevToolsStore { constructor() { __publicField(this, "requestInstances", /* @__PURE__ */ new Map()); __publicField(this, "listeners", []); } emit(payload) { this.listeners.forEach((item) => item(payload)); } subscribe(listener) { this.listeners.push(listener); return () => { const index = this.listeners.indexOf(listener); this.listeners.splice(index, 1); }; } insert(key, payload) { this.requestInstances.set(key, { ...payload }); this.emit({ key, ...payload }); } update(key, payload) { if (this.has(key)) { this.requestInstances.set(key, { ...this.requestInstances.get(key), ...payload }); } } has(key) { return this.requestInstances.has(key); } reset(key) { if (this.requestInstances.has(key)) { const current = this.requestInstances.get(key); this.requestInstances.clear(); this.insert(key, current); } else this.requestInstances.clear(); } getAll() { return this.requestInstances; } } const devToolsStore = new RegisterDevToolsStore(); export { devToolsStore as default };