UNPKG

flexbuf

Version:
41 lines 1.23 kB
import { ObjectEncoding } from "flexbuf"; import { Utils } from "./utils"; export class Container { encodeToHex(forHash = false) { return ObjectEncoding.encode(this, this.constructor.encodingSettings, forHash).data; } static fromDecodedHex(hexData, returnLength = false) { try { const result = 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 = []; } export class HashableContainer extends Container { calculateHash() { return Utils.sha256(this.encodeToHex(true)); } validateHash(hash) { try { return this.calculateHash().eq(hash); } catch { return false; } } } //# sourceMappingURL=container.js.map