File tree Expand file tree Collapse file tree 1 file changed +8
-17
lines changed Expand file tree Collapse file tree 1 file changed +8
-17
lines changed Original file line number Diff line number Diff line change @@ -235,32 +235,23 @@ function isDataView(value) {
235
235
}
236
236
exports . isDataView = isDataView ;
237
237
238
+ // Store a copy of SharedArrayBuffer in case it's deleted elsewhere
239
+ var SharedArrayBufferCopy = SharedArrayBuffer ;
238
240
function isSharedArrayBufferToString ( value ) {
239
241
return ObjectToString ( value ) === '[object SharedArrayBuffer]' ;
240
242
}
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
- } ) ;
256
243
function isSharedArrayBuffer ( value ) {
257
- if ( typeof SharedArrayBuffer === 'undefined' ) {
244
+ if ( typeof SharedArrayBufferCopy === 'undefined' ) {
258
245
return false ;
259
246
}
260
247
248
+ if ( typeof isSharedArrayBufferToString . working === 'undefined' ) {
249
+ isSharedArrayBufferToString . working = isSharedArrayBufferToString ( new SharedArrayBufferCopy ( ) ) ;
250
+ }
251
+
261
252
return isSharedArrayBufferToString . working
262
253
? isSharedArrayBufferToString ( value )
263
- : value instanceof SharedArrayBuffer ;
254
+ : value instanceof SharedArrayBufferCopy ;
264
255
}
265
256
exports . isSharedArrayBuffer = isSharedArrayBuffer ;
266
257
You can’t perform that action at this time.
0 commit comments