UNPKG

@drift-labs/sdk

Version:
29 lines (28 loc) 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.grpcUserAccountSubscriber = void 0; const webSocketUserAccountSubscriber_1 = require("./webSocketUserAccountSubscriber"); const grpcAccountSubscriber_1 = require("./grpcAccountSubscriber"); class grpcUserAccountSubscriber extends webSocketUserAccountSubscriber_1.WebSocketUserAccountSubscriber { constructor(grpcConfigs, program, userAccountPublicKey, resubOpts) { super(program, userAccountPublicKey, resubOpts); this.grpcConfigs = grpcConfigs; } async subscribe(userAccount) { if (this.isSubscribed) { return true; } this.userDataAccountSubscriber = await grpcAccountSubscriber_1.grpcAccountSubscriber.create(this.grpcConfigs, 'user', this.program, this.userAccountPublicKey, undefined, this.resubOpts); if (userAccount) { this.userDataAccountSubscriber.setData(userAccount); } await this.userDataAccountSubscriber.subscribe((data) => { this.eventEmitter.emit('userAccountUpdate', data); this.eventEmitter.emit('update'); }); this.eventEmitter.emit('update'); this.isSubscribed = true; return true; } } exports.grpcUserAccountSubscriber = grpcUserAccountSubscriber;