UNPKG

@fruitsjs/contracts

Version:
38 lines 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ContractDataView = void 0; const util_1 = require("@fruitsjs/util"); const getContractDatablock_1 = require("./getContractDatablock"); const countCodePages_1 = require("./countCodePages"); class ContractDataView { constructor(_contract) { this._contract = _contract; } getContract() { return this._contract; } countCodePages() { return (0, countCodePages_1.countCodePages)(this._contract.machineCode); } getVariableAsString(index) { const hexData = this.getHexDataAt(index, ContractDataView.VariableLength); return (0, util_1.convertHexStringToString)(hexData.replace(/00/g, '')); } getDataBlocksAsString(index, count) { const hexData = this.getHexDataAt(index, count * ContractDataView.VariableLength); return (0, util_1.convertHexStringToString)(hexData.replace(/00/g, '')); } getVariableAsDecimal(index) { return (0, util_1.convertHexStringToDecString)(this.getVariable(index)); } getVariable(index) { return this.getHexDataAt(index, ContractDataView.VariableLength); } getHexDataAt(index, length) { const l = length ? length : this._contract.machineData.length - ContractDataView.VariableLength * index; return (0, getContractDatablock_1.getContractDatablock)(this._contract, index, l); } } exports.ContractDataView = ContractDataView; ContractDataView.VariableLength = 16; //# sourceMappingURL=ContractDataView.js.map