UNPKG

kbotify

Version:

kaiheila bot framework

72 lines 3.49 kB
"use strict"; var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; var _Collector_id, _UserCollectorManager_collectors; Object.defineProperty(exports, "__esModule", { value: true }); exports.CollectorManager = void 0; const events_1 = __importDefault(require("events")); class Collector extends events_1.default { constructor(manager, id) { super(); this.messages = []; _Collector_id.set(this, void 0); this.add = (message) => { this.messages.push(message); this.emit('add', message); }; this.stop = () => { this.manager.remove(__classPrivateFieldGet(this, _Collector_id, "f")); }; this.manager = manager; __classPrivateFieldSet(this, _Collector_id, id, "f"); } } _Collector_id = new WeakMap(); class UserCollectorManager { constructor() { _UserCollectorManager_collectors.set(this, new Map()); this.create = (userId, timeout = 6e4) => { const current = __classPrivateFieldGet(this, _UserCollectorManager_collectors, "f").get(userId); if (current) { current.emit('cancel'); __classPrivateFieldGet(this, _UserCollectorManager_collectors, "f").delete(userId); } const collector = new Collector(this, userId); __classPrivateFieldGet(this, _UserCollectorManager_collectors, "f").set(userId, collector); setTimeout(() => { this.remove(userId); }, timeout); return collector; }; this.get = (userId) => { return __classPrivateFieldGet(this, _UserCollectorManager_collectors, "f").get(userId); }; this.remove = (userId) => { __classPrivateFieldGet(this, _UserCollectorManager_collectors, "f").get(userId)?.emit('stop'); __classPrivateFieldGet(this, _UserCollectorManager_collectors, "f").delete(userId); }; } collecting(userId) { return __classPrivateFieldGet(this, _UserCollectorManager_collectors, "f").has(userId); } } _UserCollectorManager_collectors = new WeakMap(); class CollectorManager { constructor() { this.user = new UserCollectorManager(); } } exports.CollectorManager = CollectorManager; //# sourceMappingURL=collector.js.map