diff options
Diffstat (limited to 'ext/node')
-rw-r--r-- | ext/node/polyfills/internal_binding/types.ts | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/ext/node/polyfills/internal_binding/types.ts b/ext/node/polyfills/internal_binding/types.ts index 348d5553f..6b8b3d6e4 100644 --- a/ext/node/polyfills/internal_binding/types.ts +++ b/ext/node/polyfills/internal_binding/types.ts @@ -57,12 +57,7 @@ const _getArrayBufferByteLength = Object.getOwnPropertyDescriptor( )!.get!; // https://tc39.es/ecma262/#sec-get-sharedarraybuffer.prototype.bytelength -const _getSharedArrayBufferByteLength = globalThis.SharedArrayBuffer - ? Object.getOwnPropertyDescriptor( - SharedArrayBuffer.prototype, - "byteLength", - )!.get! - : undefined; +let _getSharedArrayBufferByteLength; // https://tc39.es/ecma262/#sec-get-%typedarray%.prototype-@@tostringtag const _getTypedArrayToStringTag = Object.getOwnPropertyDescriptor( @@ -285,10 +280,11 @@ export function isSetIterator( export function isSharedArrayBuffer( value: unknown, ): value is SharedArrayBuffer { - // SharedArrayBuffer is not available on this runtime - if (_getSharedArrayBufferByteLength === undefined) { - return false; - } + // TODO(kt3k): add SharedArrayBuffer to primordials + _getSharedArrayBufferByteLength ??= Object.getOwnPropertyDescriptor( + SharedArrayBuffer.prototype, + "byteLength", + )!.get!; try { _getSharedArrayBufferByteLength.call(value); |