/
drndsv
/
react
Обзор
Документация
Войти
/
drndsv
/
react
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/is-array-buffer/index.js
43 строки
1 KB
drndsv
Initial commit
14 апр 2025, 22:53
14 апр 2025, 22:53
641ac8a
Код
Авторство
О чём код?
'use strict'; var callBind = require('call-bind'); var callBound = require('call-bind/callBound'); var GetIntrinsic = require('get-intrinsic'); var isTypedArray = require('is-typed-array'); var $ArrayBuffer = GetIntrinsic('ArrayBuffer', true); var $Float32Array = GetIntrinsic('Float32Array', true); var $byteLength = callBound('ArrayBuffer.prototype.byteLength', true); // in node 0.10, ArrayBuffers have no prototype methods, but have an own slot-checking `slice` method var abSlice = $ArrayBuffer && !$byteLength && new $ArrayBuffer().slice; var $abSlice = abSlice && callBind(abSlice); module.exports = $byteLength || $abSlice ? function isArrayBuffer(obj) { if (!obj || typeof obj !== 'object') { return false; } try { if ($byteLength) { $byteLength(obj); } else { $abSlice(obj, 0); } return true; } catch (e) { return false; } } : $Float32Array // in node 0.8, ArrayBuffers have no prototype or own methods ? function IsArrayBuffer(obj) { try { return (new $Float32Array(obj)).buffer === obj && !isTypedArray(obj); } catch (e) { return typeof obj === 'object' && e.name === 'RangeError'; } } : function isArrayBuffer(obj) { // eslint-disable-line no-unused-vars return false; };