UNPKG

@aptpod/iscp-ts

Version:

iSCP 2.0 client library for TypeScript

28 lines 1.09 kB
export class SegmentedMessageEncoder { constructor() { this.encode = (data, sequenceNumber, segmentedMessageSize) => { const ranges = []; for (let i = 0; i < data.byteLength;) { const start = i; const end = Math.min(i + segmentedMessageSize, data.byteLength); ranges.push({ start, end, }); i = end; } console.log('ranges', ranges); return ranges.map(({ start, end }, i) => { const dataLength = end - start; const array = new Uint8Array(8 + dataLength); const view = new DataView(array.buffer, array.byteOffset, array.byteLength); view.setUint32(0, sequenceNumber, false); view.setUint16(4, ranges.length - 1, false); view.setUint16(6, i, false); array.set(data.slice(start, end), 8); return array; }); }; } } //# sourceMappingURL=index.js.map