UNPKG

@pokt-network/pocket-js

Version:

Pocket-js core package with the main functionalities to interact with the Pocket Network.

80 lines 2.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.QueryNodesResponse = void 0; var node_1 = require("../node"); /** * * * @class QueryNodesResponse */ var QueryNodesResponse = /** @class */ (function () { /** * Relay Response. * @constructor * @param {Node[]} nodes - Node object array. * @param {number} page - Current page. * @param {number} totalPages - Total amount of pages. */ function QueryNodesResponse(nodes, page, totalPages) { this.nodes = nodes; this.page = page; this.totalPages = totalPages; if (!this.isValid()) { throw new TypeError("Invalid QueryNodesResponse properties."); } } /** * * Creates a QueryNodesResponse object using a JSON string * @param {String} json - JSON string. * @returns {QueryNodesResponse} - QueryNodesResponse object. * @memberof QueryNodesResponse */ QueryNodesResponse.fromJSON = function (json) { try { var jsonObject = JSON.parse(json); var nodes_1 = []; if (Array.isArray(jsonObject.result)) { jsonObject.result.forEach(function (nodeJSON) { var node = node_1.Node.fromJSON(JSON.stringify(nodeJSON)); nodes_1.push(node); }); } return new QueryNodesResponse(nodes_1, jsonObject.page, jsonObject.total_pages); } catch (error) { throw error; } }; /** * * Creates a JSON object with the QueryNodesResponse properties * @returns {JSON} - JSON Object. * @memberof QueryNodesResponse */ QueryNodesResponse.prototype.toJSON = function () { var nodeListJSON = []; this.nodes.forEach(function (node) { nodeListJSON.push(node.toJSON()); }); return { result: nodeListJSON, page: this.page, total_pages: this.totalPages }; }; /** * * Check if the QueryNodesResponse object is valid * @returns {boolean} - True or false. * @memberof QueryNodesResponse */ QueryNodesResponse.prototype.isValid = function () { return this.nodes !== undefined && this.page >= 0 && this.totalPages >= 0; }; return QueryNodesResponse; }()); exports.QueryNodesResponse = QueryNodesResponse; //# sourceMappingURL=query-nodes-response.js.map