@ellcrys/spell
Version:
The official JavaScript library for Ellcrys
103 lines • 4.79 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var namespace_1 = __importDefault(require("./namespace"));
/**
* RPC is responsible for calling
* JSON-RPC 2.0 methods supported by
* a remote node.
*
* @export
* @class RPC
* @extends {Namespace}
*/
var RPC = /** @class */ (function (_super) {
__extends(RPC, _super);
/**
* Creates an instance of RPC.
* @param {RPCClient} client
* @memberof RPC
*/
function RPC(client) {
var _this = _super.call(this) || this;
_this.client = client;
return _this;
}
/**
* Stop the JSON-RPC 2.0 service
*
* @export
* @class RPC
*/
RPC.prototype.stop = function () {
var _this = this;
return new Promise(function (resolve, reject) {
_this.client
.call("rpc_stop", null)
.then(function (res) {
return resolve(res);
})
.catch(function (err) {
return reject(err);
});
});
};
/**
* Test JSON-RPC 2.0 service by sending
* messages that are echoed back.
*
* @export
* @class RPC
*/
RPC.prototype.echo = function (params) {
var _this = this;
return new Promise(function (resolve, reject) {
_this.client
.call("rpc_echo", params)
.then(function (res) {
return resolve(res);
})
.catch(function (err) {
return reject(err);
});
});
};
/**
* Get all JSON-RPC 2.0 methods
* supported by the service
*
* @returns {Promise<RpcMethod[]>}
* @memberof RPC
*/
RPC.prototype.methods = function () {
var _this = this;
return new Promise(function (resolve, reject) {
_this.client
.call("rpc_methods", null)
.then(function (res) {
return resolve(res);
})
.catch(function (err) {
return reject(err);
});
});
};
return RPC;
}(namespace_1.default));
exports.default = RPC;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9uYW1lc3BhY2VzL3JwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLQSwwREFBb0M7QUFFcEM7Ozs7Ozs7O0dBUUc7QUFDSDtJQUFpQyx1QkFBUztJQUN6Qzs7OztPQUlHO0lBQ0gsYUFBWSxNQUFpQjtRQUE3QixZQUNDLGlCQUFPLFNBRVA7UUFEQSxLQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQzs7SUFDdEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksa0JBQUksR0FBWDtRQUFBLGlCQVdDO1FBVkEsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ2xDLEtBQUksQ0FBQyxNQUFNO2lCQUNULElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO2lCQUN0QixJQUFJLENBQUMsVUFBQyxHQUFHO2dCQUNULE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsVUFBQyxHQUFHO2dCQUNWLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQUksR0FBWCxVQUFZLE1BQW1CO1FBQS9CLGlCQVdDO1FBVkEsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ2xDLEtBQUksQ0FBQyxNQUFNO2lCQUNULElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDO2lCQUN4QixJQUFJLENBQUMsVUFBQyxHQUFHO2dCQUNULE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsVUFBQyxHQUFHO2dCQUNWLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kscUJBQU8sR0FBZDtRQUFBLGlCQVdDO1FBVkEsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ2xDLEtBQUksQ0FBQyxNQUFNO2lCQUNULElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDO2lCQUN6QixJQUFJLENBQUMsVUFBQyxHQUFHO2dCQUNULE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsVUFBQyxHQUFHO2dCQUNWLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBQ0YsVUFBQztBQUFELENBQUMsQUFyRUQsQ0FBaUMsbUJBQVMsR0FxRXpDIn0=