| 12345678910111213141516171819202122232425262728 | 'use strict';var $TypeError = require('es-errors/type');var $byteLength = require('array-buffer-byte-length');var availableTypedArrays = require('available-typed-arrays')();var callBound = require('call-bound');var isArrayBuffer = require('is-array-buffer');var isSharedArrayBuffer = require('is-shared-array-buffer');var $sabByteLength = callBound('SharedArrayBuffer.prototype.byteLength', true);// https://262.ecma-international.org/8.0/#sec-isdetachedbuffermodule.exports = function IsDetachedBuffer(arrayBuffer) {	var isSAB = isSharedArrayBuffer(arrayBuffer);	if (!isArrayBuffer(arrayBuffer) && !isSAB) {		throw new $TypeError('Assertion failed: `arrayBuffer` must be an Object with an [[ArrayBufferData]] internal slot');	}	if ((isSAB ? $sabByteLength : $byteLength)(arrayBuffer) === 0) {		try {			new global[availableTypedArrays[0]](arrayBuffer); // eslint-disable-line no-new		} catch (error) {			return !!error && error.name === 'TypeError';		}	}	return false;};
 |