Skip to content

Commit 62f00fd

Browse files
committed
fix: remove getter, store copy of SAB
1 parent de16a49 commit 62f00fd

File tree

1 file changed

+8
-17
lines changed

1 file changed

+8
-17
lines changed

support/types.js

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -235,32 +235,23 @@ function isDataView(value) {
235235
}
236236
exports.isDataView = isDataView;
237237

238+
// Store a copy of SharedArrayBuffer in case it's deleted elsewhere
239+
var SharedArrayBufferCopy = SharedArrayBuffer;
238240
function isSharedArrayBufferToString(value) {
239241
return ObjectToString(value) === '[object SharedArrayBuffer]';
240242
}
241-
// Avoid invoking SharedArrayBuffer constructor until required, then memoize
242-
Object.defineProperty(isSharedArrayBufferToString, 'working', {
243-
get: (function() {
244-
var isWorking;
245-
return function () {
246-
if (isWorking === undefined) {
247-
isWorking = (
248-
typeof SharedArrayBuffer !== 'undefined' &&
249-
isSharedArrayBufferToString(new SharedArrayBuffer())
250-
)
251-
}
252-
return isWorking;
253-
}
254-
})()
255-
});
256243
function isSharedArrayBuffer(value) {
257-
if (typeof SharedArrayBuffer === 'undefined') {
244+
if (typeof SharedArrayBufferCopy === 'undefined') {
258245
return false;
259246
}
260247

248+
if (typeof isSharedArrayBufferToString.working === 'undefined') {
249+
isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());
250+
}
251+
261252
return isSharedArrayBufferToString.working
262253
? isSharedArrayBufferToString(value)
263-
: value instanceof SharedArrayBuffer;
254+
: value instanceof SharedArrayBufferCopy;
264255
}
265256
exports.isSharedArrayBuffer = isSharedArrayBuffer;
266257

0 commit comments

Comments
 (0)