@aeternity/aepp-calldata
Version:
Aeternity data serialization library
23 lines (22 loc) • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _FateTag = _interopRequireDefault(require("../FateTag.cjs"));
var _ByteArraySerializer = _interopRequireDefault(require("./ByteArraySerializer.cjs"));
var _FateBytes = _interopRequireDefault(require("../types/FateBytes.cjs"));
var _BaseSerializer = _interopRequireDefault(require("./BaseSerializer.cjs"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const byteArraySerializer = new _ByteArraySerializer.default();
class BytesSerializer extends _BaseSerializer.default {
serialize(bytes) {
return [_FateTag.default.OBJECT, _FateTag.default.OTYPE_BYTES, ...byteArraySerializer.serialize(bytes.value)];
}
deserializeStream(data) {
const buffer = new Uint8Array(data);
const [bytes, rest] = byteArraySerializer.deserializeStream(buffer.slice(2));
return [new _FateBytes.default(bytes.valueOf()), rest];
}
}
var _default = exports.default = BytesSerializer;