UNPKG

swtc-lib

Version:

websocket access for jingtum blockchain

54 lines 1.73 kB
"use strict"; import { EventEmitter } from "events"; import { utils } from "@swtc/utils"; class Request extends EventEmitter { constructor(remote, command = null, filter = v => v) { super(); this._remote = remote; this._command = command; this._filter = filter; this.message = {}; } async submitPromise() { return new Promise((resolve, reject) => { for (const key in this.message) { if (this.message[key] instanceof Error) { reject(this.message[key].message); } } this._remote._submit(this._command, this.message, this._filter, (error, result) => { if (error) { reject(error); } else { resolve(result); } }); }); } submit(callback = m => m) { for (const key in this.message) { if (this.message[key] instanceof Error) { return callback(this.message[key].message); } } this._remote._submit(this._command, this.message, this._filter, callback); } selectLedger(ledger) { if (typeof ledger === "string" && ~utils.LEDGER_STATES.indexOf(ledger)) { this.message.ledger_index = ledger; } else if (Number(ledger)) { this.message.ledger_index = Number(ledger); } else if (/^[A-F0-9]+$/.test(ledger)) { this.message.ledger_hash = ledger; } else { this.message.ledger_index = "validated"; } return this; } } export { Request }; //# sourceMappingURL=request.js.map