UNPKG

@drift-labs/sdk-browser

Version:
39 lines (38 loc) 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BasicUserStatsAccountSubscriber = void 0; const events_1 = require("events"); /** * Basic implementation of UserStatsAccountSubscriber. It will only take in UserStatsAccount * data during initialization and will not fetch or subscribe to updates. */ class BasicUserStatsAccountSubscriber { constructor(userStatsAccountPublicKey, data, slot) { this.isSubscribed = true; this.eventEmitter = new events_1.EventEmitter(); this.userStatsAccountPublicKey = userStatsAccountPublicKey; this.userStats = { data, slot }; } async subscribe(_userStatsAccount) { return true; } async addToAccountLoader() { } async fetch() { } doesAccountExist() { return this.userStats !== undefined; } async unsubscribe() { } assertIsSubscribed() { } getUserStatsAccountAndSlot() { return this.userStats; } updateData(userStatsAccount, slot) { var _a; if (!this.userStats || slot >= ((_a = this.userStats.slot) !== null && _a !== void 0 ? _a : 0)) { this.userStats = { data: userStatsAccount, slot }; this.eventEmitter.emit('userStatsAccountUpdate', userStatsAccount); this.eventEmitter.emit('update'); } } } exports.BasicUserStatsAccountSubscriber = BasicUserStatsAccountSubscriber;