123456789101112131415161718192021222324 |
- 'use strict';
- var callBound = require('call-bound');
- /** @type {undefined | ((thisArg: SharedArrayBuffer) => number)} */
- var $byteLength = callBound('SharedArrayBuffer.prototype.byteLength', true);
- /** @type {import('.')} */
- module.exports = $byteLength
- ? function isSharedArrayBuffer(obj) {
- if (!obj || typeof obj !== 'object') {
- return false;
- }
- try {
- // @ts-expect-error TS can't figure out this closed-over variable is non-nullable, and it's fine that `obj` might not be a SAB
- $byteLength(obj);
- return true;
- } catch (e) {
- return false;
- }
- }
- : function isSharedArrayBuffer(_obj) { // eslint-disable-line no-unused-vars
- return false;
- };
|