UNPKG

opendb_test_rpc

Version:

general purpose library for OpenDB blockchain

73 lines 4.96 kB
import debugFactory from 'debug'; import { RpcWebSocketClient } from './rpc'; export default class RPCClient { endpoint; isConnected = false; rpc; // debugger debug; constructor(endpoint) { this.endpoint = endpoint; this.debug = debugFactory('openDB:ws'); this.rpc = new RpcWebSocketClient(); this.rpc.onClose(this.reconnect); } async connect() { this.debug('About to connect to remote API node ws endpoint'); if (this.isConnected) { return; } try { await this.rpc.connect(this.endpoint); } catch (error) { console.error('OpenDB API ws connectoin error', error); throw error; } this.isConnected = true; this.debug('Already init connection to remote endpoint'); } // TSES-lint: In call method params to change (any - unknown) for lint error async call(method, params) { if (!this.isConnected && !this.endpoint) { this.debug('Empty endpoint and no established connection, abort sending'); return false; } this.debug('Sending message: ', JSON.stringify({ method, params }, null, 2)); try { // TSES-lint: 'result' is never reassigned. Use 'const' instead const result = await this.rpc.call(method, params); return result; } catch (error) { console.error('OpenDB API ws call error', error); throw error; } } // -------TODO: Unused Function Notify // public async notify(method: string, params?: any) { // if (!this.isConnected && !this.endpoint) { // this.debug('Empty endpoint and no established connection, abort sending') // return false // } // this.debug( // 'Sending notification: ', // JSON.stringify({ method, params }, null, 2) // ) // try { // let result = await this.rpc.notify(method, params) // return result // } catch (error) { // console.error('OpenDB API ws call error', error) // throw error // } // } reconnect() { if (this.endpoint === undefined) { this.debug('No endpoint for reconnection'); return false; } return this.connect(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sWUFBMkIsTUFBTSxPQUFPLENBQUE7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sT0FBTyxDQUFBO0FBYzFDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sU0FBUztJQUNyQixRQUFRLENBQVE7SUFDaEIsV0FBVyxHQUFZLEtBQUssQ0FBQTtJQUM1QixHQUFHLENBQW9CO0lBRTlCLFdBQVc7SUFDSCxLQUFLLENBQVc7SUFFeEIsWUFBWSxRQUFRO1FBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBRXRDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFBO1FBQ25DLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU87UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFBO1FBRTdELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE9BQU07UUFDUixDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDdkMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQ3RELE1BQU0sS0FBSyxDQUFBO1FBQ2IsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBQ0QsNEVBQTRFO0lBQ3JFLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBYyxFQUFFLE1BQWdCO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsNkRBQTZELENBQUMsQ0FBQTtZQUN6RSxPQUFPLEtBQUssQ0FBQTtRQUNkLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDNUUsSUFBSSxDQUFDO1lBQ0gsK0RBQStEO1lBQy9ELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQ2xELE9BQU8sTUFBTSxDQUFBO1FBQ2YsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQ2hELE1BQU0sS0FBSyxDQUFBO1FBQ2IsQ0FBQztJQUNILENBQUM7SUFDRCxzQ0FBc0M7SUFDdEMsc0RBQXNEO0lBQ3RELCtDQUErQztJQUMvQyxnRkFBZ0Y7SUFDaEYsbUJBQW1CO0lBQ25CLE1BQU07SUFFTixnQkFBZ0I7SUFDaEIsZ0NBQWdDO0lBQ2hDLGtEQUFrRDtJQUNsRCxNQUFNO0lBQ04sVUFBVTtJQUNWLHlEQUF5RDtJQUN6RCxvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLHVEQUF1RDtJQUN2RCxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLElBQUk7SUFFSSxTQUFTO1FBQ2YsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQTtZQUMxQyxPQUFPLEtBQUssQ0FBQTtRQUNkLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0NBQ0YifQ==