Add toJSON() function to binary decoder

This commit is contained in:
D. Berge
2025-07-28 10:07:49 +02:00
parent 3bb78040b0
commit 31ac8d3c01

View File

@@ -103,7 +103,30 @@ function unpack (data, index=0, endianness = platformEndianness) {
return bundles;
}
function toJSON (data, index=0, endianness = platformEndianness) {
const items = [];
const chunks = unpack(data, index, endianness);
for (const chunk of chunks) {
const type = chunk.type;
const sequence = chunk.seq;
let point = chunk.sp0;
let timestamp = Number(chunk.ts0);
for (let i=0; i < chunk.count; i++) {
const longitude = chunk.positions[i*2 + 0];
const latitude = chunk.positions[i*2 + 1];
timestamp += chunk.Δts[i];
const Δi = chunk.Δij[i*2 + 0];
const Δj = chunk.Δij[i*2 + 1];
items.push({ type, sequence, point, timestamp, longitude, latitude, Δi, Δj });
point += chunk.Δsp;
}
}
return items;
}
module.exports = {
unbundle,
unpack
unpack,
toJSON
};