| 123456789101112131415161718192021222324252627282930 | 'use strict';var $TypeError = require('es-errors/type');var IsTypedArrayOutOfBounds = require('./IsTypedArrayOutOfBounds');var IsViewOutOfBounds = require('./IsViewOutOfBounds');var MakeDataViewWithBufferWitnessRecord = require('./MakeDataViewWithBufferWitnessRecord');var MakeTypedArrayWithBufferWitnessRecord = require('./MakeTypedArrayWithBufferWitnessRecord');var isDataView = require('is-data-view');var isTypedArray = require('is-typed-array');// https://262.ecma-international.org/15.0/#sec-isarraybufferviewoutofboundsmodule.exports = function IsArrayBufferViewOutOfBounds(O) {	var isDV = isDataView(O);	if (!isTypedArray(O) && !isDV) {		throw new $TypeError('Assertion failed: `O` must be a TypedArray or DataView');	}	if (isDV) { // step 1		var viewRecord = MakeDataViewWithBufferWitnessRecord(O, 'SEQ-CST'); // step 1.a		return IsViewOutOfBounds(viewRecord); // step 1.b	}	var taRecord = MakeTypedArrayWithBufferWitnessRecord(O, 'SEQ-CST'); // step 2	return IsTypedArrayOutOfBounds(taRecord); // step 3};
 |