UNPKG

swtc-lib

Version:

websocket access for jingtum blockchain

65 lines 2.54 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; 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 = {}; } submitPromise() { return __awaiter(this, void 0, void 0, function* () { 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