UNPKG

wechaty-puppet

Version:

Abstract Puppet for Wechaty

59 lines 2.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.roomInvitationMixin = void 0; const config_js_1 = require("../config.js"); const roomInvitationMixin = (mixinBase) => { class RoomInvitationMixin extends mixinBase { constructor(...args) { super(...args); config_js_1.log.verbose('PuppetRoomInvitationMixin', 'constructor()'); } /** * * Room Invitation * */ /** * Issue #155 - https://github.com/wechaty/puppet/issues/155 * * @protected */ roomInvitationPayloadCache(roomInvitationId) { // log.silly('PuppetRoomInvitationMixin', 'roomInvitationPayloadCache(id=%s) @ %s', friendshipId, this) if (!roomInvitationId) { throw new Error('no id'); } const cachedPayload = this.cache.roomInvitation.get(roomInvitationId); if (cachedPayload) { // log.silly('PuppetRoomInvitationMixin', 'roomInvitationPayloadCache(%s) cache HIT', roomInvitationId) } else { config_js_1.log.silly('PuppetRoomInvitationMixin', 'roomInvitationPayloadCache(%s) cache MISS', roomInvitationId); } return cachedPayload; } async roomInvitationPayload(roomInvitationId, newPayload) { config_js_1.log.verbose('PuppetRoomInvitationMixin', 'roomInvitationPayload(%s)', roomInvitationId); if (typeof newPayload === 'object') { this.cache.roomInvitation.set(roomInvitationId, newPayload); return; } /** * 1. Try to get from cache first */ const cachedPayload = this.roomInvitationPayloadCache(roomInvitationId); if (cachedPayload) { return cachedPayload; } /** * 2. Cache not found */ const rawPayload = await this.roomInvitationRawPayload(roomInvitationId); const payload = await this.roomInvitationRawPayloadParser(rawPayload); return payload; } } return RoomInvitationMixin; }; exports.roomInvitationMixin = roomInvitationMixin; //# sourceMappingURL=room-invitation-mixin.js.map