UNPKG

@pokt-network/pocket-js

Version:

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

69 lines 2.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ChallengeRequest = void 0; /** * @class ChallengeRequest */ var majority_response_1 = require("./majority-response"); var minority_response_1 = require("./minority-response"); var validator_1 = require("../../../utils/validator"); var utils_1 = require("../../../utils"); var ChallengeRequest = /** @class */ (function () { /** * Challenge Request. * @constructor * @param {MajorityResponse} majorityResponse - MajorityResponse object. * @param {MinorityResponse} minorityResponse - MinorityResponse object. */ function ChallengeRequest(majorityResponse, minorityResponse) { this.majorityResponse = majorityResponse; this.minorityResponse = minorityResponse; var valid = this.isValid(); if (utils_1.typeGuard(valid, Error)) { throw valid; } } /** * * Creates a ChallengeRequest object using a JSON string * @param {String} json - JSON string. * @returns {ChallengeRequest} - ChallengeRequest object. * @memberof ChallengeRequest */ ChallengeRequest.fromJSON = function (json) { try { var jsonObject = JSON.parse(json); return new ChallengeRequest(majority_response_1.MajorityResponse.fromJSON(JSON.stringify(jsonObject.majority_responses)), minority_response_1.MinorityResponse.fromJSON(JSON.stringify(jsonObject.minority_response))); } catch (error) { throw error; } }; /** * * Creates a JSON object with the ChallengeRequest properties * @returns {JSON} - JSON Object. * @memberof ChallengeRequest */ ChallengeRequest.prototype.toJSON = function () { return { majority_responses: this.majorityResponse.toJSON(), minority_response: this.minorityResponse.toJSON() }; }; /** * * Check if the ChallengeRequest object is valid * @returns {boolean} - True or false. * @memberof ChallengeRequest */ ChallengeRequest.prototype.isValid = function () { if (validator_1.validateChallengeRequest(this) === undefined) { return true; } return false; }; return ChallengeRequest; }()); exports.ChallengeRequest = ChallengeRequest; //# sourceMappingURL=challenge-request.js.map