summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/node/polyfills/internal_binding/types.ts16
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);