bluzelle-binary-codec
Version:
bluzelle binary codec
31 lines (27 loc) • 1.04 kB
JavaScript
var makeClass = require('../utils/make-class');var _require =
require('./hash-256'),Hash256 = _require.Hash256;var _require2 =
require('./serialized-type'),ensureArrayLikeIs = _require2.ensureArrayLikeIs,SerializedType = _require2.SerializedType;
var Vector256 = makeClass({
mixins: SerializedType,
inherits: Array,
statics: {
fromParser: function fromParser(parser, hint) {
var vector256 = new this();
var bytes = hint !== null ? hint : parser.size() - parser.pos();
var hashes = bytes / 32;
for (var i = 0; i < hashes; i++) {
vector256.push(Hash256.fromParser(parser));
}
return vector256;
},
from: function from(value) {
return ensureArrayLikeIs(Vector256, value).withChildren(Hash256);
} },
toBytesSink: function toBytesSink(sink) {
this.forEach(function (h) {return h.toBytesSink(sink);});
},
toJSON: function toJSON() {
return this.map(function (hash) {return hash.toJSON();});
} });
module.exports = {
Vector256: Vector256 };
;