UNPKG

flexbuf

Version:
46 lines 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.HashableContainer = exports.Container = void 0; const flexbuf_1 = require("flexbuf"); const utils_1 = require("./utils"); class Container { encodeToHex(forHash = false) { return flexbuf_1.ObjectEncoding.encode(this, this.constructor.encodingSettings, forHash).data; } static fromDecodedHex(hexData, returnLength = false) { try { const result = flexbuf_1.ObjectEncoding.decode(hexData, this.encodingSettings, returnLength); if (result.data) { const obj = this.fromDict(result.data); if (returnLength) { if (!obj) return null; return { data: obj, length: result.length }; } return obj; } } catch (err) { } return null; } static fromDict(obj) { throw new Error("Method not implemented."); } static encodingSettings = []; } exports.Container = Container; class HashableContainer extends Container { calculateHash() { return utils_1.Utils.sha256(this.encodeToHex(true)); } validateHash(hash) { try { return this.calculateHash().eq(hash); } catch { return false; } } } exports.HashableContainer = HashableContainer; //# sourceMappingURL=container.js.map