astro-ghostcms/.pnpm-store/v3/files/cc/18e925623ecacefd3c79a3c25a3...

31 lines
806 B
Plaintext

'use strict';
var GetIntrinsic = require('get-intrinsic');
var $TypeError = GetIntrinsic('%TypeError%');
var callBound = require('call-bind/callBound');
var $taSome = callBound('TypedArray.prototype.some', true);
var Type = require('./Type');
var isTypedArray = require('is-typed-array');
// https://262.ecma-international.org/6.0/#sec-validatetypedarray
module.exports = function ValidateTypedArray(O) {
if (Type(O) !== 'Object') {
throw new $TypeError('Assertion failed: O must be an Object');
}
if (!isTypedArray(O)) {
throw new $TypeError('Assertion failed: O must be a TypedArray');
}
// without `.some` (like in node 0.10), there's no way to check buffer detachment, but also no way to be detached
if ($taSome) {
$taSome(O, function () { return true; });
}
return O.buffer;
};