UNPKG

electr0lysis

Version:

Simple framework for data serialization and interchange.

21 lines 912 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("f1ux/array/operator/first"); const construct_1 = require("f1ux/reflect/construct"); const decode_1 = require("./decode"); const getProperties_1 = require("./reflect/getProperties"); function createDecoder(constructor) { const properties = getProperties_1.default(constructor); return new class { decode(type, view, offset, context) { const parameters = properties .map(({ name, type }) => ({ type, quantity: 1 })); const args = decode_1.default(parameters, view, offset, context); const value = construct_1.default(constructor, args.value.map(element => element.first())); const size = args.size; return { value, size }; } }; } exports.default = createDecoder; //# sourceMappingURL=createDecoder.js.map