MCPcopy Index your code
hub / github.com/scriptscat/scriptcat / addSampleRange

Function addSampleRange

src/pkg/utils/encoding.ts:59–73  ·  view source on GitHub ↗
(ranges: ByteRange[], data: Uint8Array, start: number, end: number)

Source from the content-addressed store, hash-verified

57const isUtf8ContinuationByte = (byte: number) => (byte & 0xc0) === 0x80;
58
59const addSampleRange = (ranges: ByteRange[], data: Uint8Array, start: number, end: number) => {
60 const n = data.length;
61 if (n === 0) return;
62 let rangeStart = Math.max(0, Math.min(start, n));
63 let rangeEnd = Math.max(rangeStart, Math.min(end, n));
64 while (rangeStart > 0 && isUtf8ContinuationByte(data[rangeStart])) {
65 rangeStart--;
66 }
67 while (rangeEnd < n && isUtf8ContinuationByte(data[rangeEnd])) {
68 rangeEnd++;
69 }
70 if (rangeStart >= rangeEnd) return;
71 if (ranges.some(([existingStart, existingEnd]) => rangeStart >= existingStart && rangeEnd <= existingEnd)) return;
72 ranges.push([rangeStart, rangeEnd]);
73};
74
75const createSampleRanges = (
76 data: Uint8Array,

Callers 1

createSampleRangesFunction · 0.85

Calls 2

isUtf8ContinuationByteFunction · 0.85
pushMethod · 0.80

Tested by

no test coverage detected