D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
forge
/
ebrokers.online
/
node_modules
/
es-abstract
/
2024
/
Filename :
IsArrayBufferViewOutOfBounds.js
back
Copy
'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-isarraybufferviewoutofbounds module.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 };