replace NodeJS buffer with Uint8Array

This commit is contained in:
2024-10-23 16:38:16 -05:00
parent 90e1bd09a0
commit 4eaedcdfaa
34 changed files with 235 additions and 113 deletions
+10 -4
View File
@@ -6,17 +6,22 @@ function decodeDataPacketChunk(dataPacketChunk: DataPacketChunk) {
if (dataPacketChunk.has_subchunks && dataPacketChunk.chunk_data && dataPacketChunk.data_len) {
let offset = 0;
while (offset < dataPacketChunk.data_len) {
const chunkId = dataPacketChunk.chunk_data.readUInt16LE(offset);
const view = new DataView(
dataPacketChunk.chunk_data.buffer,
dataPacketChunk.chunk_data.byteOffset,
dataPacketChunk.chunk_data.byteLength
);
const chunkId = view.getUint16(offset, true);
switch (chunkId) {
case 0x0000:
dataPacketChunk.packet_header = Decoders.PacketHeaderChunk(dataPacketChunk.chunk_data.subarray(offset));
dataPacketChunk.packet_header = Decoders.PacketHeaderChunk(dataPacketChunk.chunk_data.slice(offset));
offset += Constants.CHUNK_HEADER_SIZE;
if (dataPacketChunk.packet_header?.data_len) {
offset += dataPacketChunk.packet_header.data_len;
}
break;
case 0x0001:
dataPacketChunk.tracker_list = Decoders.DataTrackerListChunk(dataPacketChunk.chunk_data.subarray(offset));
dataPacketChunk.tracker_list = Decoders.DataTrackerListChunk(dataPacketChunk.chunk_data.slice(offset));
offset += Constants.CHUNK_HEADER_SIZE;
if (dataPacketChunk.tracker_list.data_len) {
offset += dataPacketChunk.tracker_list.data_len;
@@ -29,4 +34,5 @@ function decodeDataPacketChunk(dataPacketChunk: DataPacketChunk) {
}
}
export default (buffer: Buffer): DataPacketChunk => Decoders.Chunk(buffer, decodeDataPacketChunk) as DataPacketChunk;
export default (buffer: Uint8Array): DataPacketChunk =>
Decoders.Chunk(buffer, decodeDataPacketChunk) as DataPacketChunk;