29 lines
584 B
JavaScript
29 lines
584 B
JavaScript
// @ts-check
|
|
|
|
/**
|
|
* @param {Uint8Array} a
|
|
* @param {Uint8Array} b
|
|
* @returns {boolean}
|
|
*/
|
|
export const areBytesEqual = (a, b) => {
|
|
if (a.length !== b.length) return false;
|
|
for (let i = 0; i < a.length; i++) {
|
|
if (a[i] !== b[i]) return false;
|
|
}
|
|
return true;
|
|
};
|
|
|
|
/**
|
|
* @param {Uint8Array} bytes
|
|
* @param {number} size
|
|
* @returns {Uint8Array[]}
|
|
*/
|
|
export const chunkBytes = (bytes, size) => {
|
|
/** @type {Uint8Array[]} */
|
|
const result = [];
|
|
for (let i = 0; i < bytes.byteLength; i += size) {
|
|
result.push(bytes.subarray(i, i + size));
|
|
}
|
|
return result;
|
|
};
|