UNPKG

wechaty-puppet

Version:

Abstract Puppet for Wechaty

46 lines 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.memoryMixin = void 0; const memory_card_1 = require("memory-card"); const config_js_1 = require("../config.js"); const memoryMixin = (mixinBase) => { class MemoryMixin extends mixinBase { _memory; get memory() { return this._memory; } constructor(...args) { super(...args); config_js_1.log.verbose('PuppetMemoryMixin', 'constructor()'); /** * Huan(202110): we init a un-named MemoryCard by default * it can be replaced by `setMemory()` later. */ this._memory = new memory_card_1.MemoryCard(); } async start() { config_js_1.log.verbose('PuppetMemoryMixin', 'start()'); try { await this.memory.load(); } catch (_) { config_js_1.log.silly('PuppetMemoryMixin', 'start() memory has already been loaded before'); } await super.start(); } async stop() { config_js_1.log.verbose('PuppetMemoryMixin', 'stop()'); await super.stop(); } setMemory(memory) { config_js_1.log.verbose('PuppetMemoryMixin', 'setMemory(%s)', memory.name); if (this._memory.name) { throw new Error('Puppet memory can be only set once'); } this._memory = memory; } } return MemoryMixin; }; exports.memoryMixin = memoryMixin; //# sourceMappingURL=memory-mixin.js.map