diff --git a/utils/arrayUtils.js b/utils/arrayUtils.js index 241d2fac..431988c3 100644 --- a/utils/arrayUtils.js +++ b/utils/arrayUtils.js @@ -103,12 +103,14 @@ function getTypedArray(maxValue) { `Array maxValue must be an integer between 0 and 4294967295, got ${maxValue}` ); - if (maxValue <= 255) return Uint8Array; - if (maxValue <= 65535) return Uint16Array; - if (maxValue <= 4294967295) return Uint32Array; + if (maxValue <= UINT8_MAX) return Uint8Array; + if (maxValue <= UINT16_MAX) return Uint16Array; + if (maxValue <= UINT32_MAX) return Uint32Array; return Uint32Array; } -function createTypedArray({maxValue, length}) { - return new (getTypedArray(maxValue))(length); +function createTypedArray({maxValue, length, from}) { + const typedArray = getTypedArray(maxValue); + if (!from) return new typedArray(length); + return typedArray.from(from); }