electr0lysis
Version:
Simple framework for data serialization and interchange.
22 lines • 898 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const calculateSize_1 = require("./calculateSize");
const encode_1 = require("./encode");
const getProperties_1 = require("./reflect/getProperties");
function createEncoder(constructor) {
const properties = getProperties_1.default(constructor);
return new class {
constructParameters(value) {
return properties
.map(({ name, type }) => ({ values: [value[name]], type }));
}
calculateSize(value, type, context) {
return calculateSize_1.default(this.constructParameters(value), context);
}
encode(value, type, view, offset, context) {
encode_1.default(this.constructParameters(value), view, offset, context);
}
};
}
exports.default = createEncoder;
//# sourceMappingURL=createEncoder.js.map