UNPKG

electr0lysis

Version:

Simple framework for data serialization and interchange.

22 lines 898 B
"use strict"; 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