@aeternity/aepp-calldata
Version:
Aeternity data serialization library
29 lines (28 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _FateTag = _interopRequireDefault(require("../FateTag.cjs"));
var _FateBool = _interopRequireDefault(require("../types/FateBool.cjs"));
var _BaseSerializer = _interopRequireDefault(require("./BaseSerializer.cjs"));
var _FatePrefixError = _interopRequireDefault(require("../Errors/FatePrefixError.cjs"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
class BoolSerializer extends _BaseSerializer.default {
serialize(data) {
return data.valueOf() === true ? [_FateTag.default.TRUE] : [_FateTag.default.FALSE];
}
deserializeStream(data) {
const buffer = new Uint8Array(data);
const prefix = buffer[0];
const rest = buffer.slice(1);
if (prefix === _FateTag.default.TRUE) {
return [new _FateBool.default(true), rest];
}
if (prefix === _FateTag.default.FALSE) {
return [new _FateBool.default(false), rest];
}
throw new _FatePrefixError.default(prefix);
}
}
var _default = exports.default = BoolSerializer;