fix: array size byte offset
Some checks failed
CI / build (push) Has been cancelled
CI / test (20.x) (push) Has been cancelled
CI / lint (push) Has been cancelled
release-please / release-please (push) Has been cancelled

This commit is contained in:
cha0s 2024-12-08 23:10:26 -06:00
parent 0135ae1bd2
commit 5b3947d2a8

View File

@ -108,10 +108,10 @@ class ArrayCodec {
};
}
else {
this.$$size = (value) => {
this.$$size = (value, byteOffset) => {
let size = 4;
for (const element of value) {
size += this.$$elementCodec.size(element, size);
size += this.$$elementCodec.size(element, size + byteOffset);
}
return size;
};
@ -157,7 +157,7 @@ class ArrayCodec {
};
}
else {
this.$$size = (value) => {
this.$$size = (value, byteOffset) => {
let size = 0;
// let the environment report
if (!value[Symbol.iterator]) {
@ -166,7 +166,7 @@ class ArrayCodec {
let protocol = value[Symbol.iterator]();
let result = protocol.next();
for (let i = 0; i < length; ++i) {
size += this.$$elementCodec.size(result.value);
size += this.$$elementCodec.size(result.value, size + byteOffset);
result = protocol.next();
}
return size;