From 90ed0ff3bb67da00e7c4a617a93fbdd3d851de91 Mon Sep 17 00:00:00 2001 From: FUJI Goro Date: Sun, 26 Jan 2025 10:58:22 +0900 Subject: [PATCH] SAB may not be defined --- src/utils/typedArrays.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/utils/typedArrays.ts b/src/utils/typedArrays.ts index 25619be..2c00e25 100644 --- a/src/utils/typedArrays.ts +++ b/src/utils/typedArrays.ts @@ -1,9 +1,17 @@ -export function ensureUint8Array(buffer: ArrayLike | Uint8Array | ArrayBufferView | ArrayBufferLike): Uint8Array { +function isArrayBuffer(buffer: unknown): buffer is ArrayBuffer | SharedArrayBuffer { + return ( + buffer instanceof ArrayBuffer || (typeof SharedArrayBuffer !== "undefined" && buffer instanceof SharedArrayBuffer) + ); +} + +export function ensureUint8Array( + buffer: ArrayLike | Uint8Array | ArrayBufferView | ArrayBufferLike, +): Uint8Array { if (buffer instanceof Uint8Array) { return buffer; } else if (ArrayBuffer.isView(buffer)) { return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); - } else if (buffer instanceof ArrayBuffer || buffer instanceof SharedArrayBuffer) { + } else if (isArrayBuffer(buffer)) { return new Uint8Array(buffer); } else { // ArrayLike