electr0lysis
Version:
Simple framework for data serialization and interchange.
21 lines • 812 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
require("f1ux/map/operator/getOrThrow");
const UnregisteredEncoderError_1 = require("./UnregisteredEncoderError");
class EncoderContext {
constructor(encoders) {
this.encoders = new Map(encoders);
}
calculateSize(value, type) {
return this.encoders
.getOrThrow(type.name, () => new UnregisteredEncoderError_1.default(type))
.calculateSize(value, type, this);
}
encode(value, type, view, offset = 0) {
return this.encoders
.getOrThrow(type.name, () => new UnregisteredEncoderError_1.default(type))
.encode(value, type, view, offset, this);
}
}
exports.default = EncoderContext;
//# sourceMappingURL=EncoderContext.js.map