ts-mls
Version:
[](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [](https://badge.fury.io/js/ts-mls) [ {
return (value) => {
const values = toTuple(value);
const encodedParts = new Array(values.length);
let totalLength = 0;
for (let i = 0; i < values.length; i++) {
const encoded = encoders[i](values[i]);
totalLength += encoded.byteLength;
encodedParts[i] = encoded;
}
const result = new Uint8Array(totalLength);
let offset = 0;
for (const arr of encodedParts) {
result.set(arr, offset);
offset += arr.length;
}
return result;
};
}
export function composeEncoders(encoders) {
return (values) => contramapEncoders(encoders, (t) => t)(values);
}
export function contramapEncoder(enc, f) {
return (u) => enc(f(u));
}
export function encodeVoid() {
return () => new Uint8Array();
}
//# sourceMappingURL=tlsEncoder.js.map