96194e1148ee3f0ed7fb74dd1a53e3cd4b580b5d8f3b3237c66e28426b984fd0f5239f104dd4800fc89c2114f511160f687f7f3a44ee865aacd6bc58b5f854 543 B

123456789101112131415161718
  1. 'use strict';
  2. var hasOwn = require('hasown');
  3. var isTypedArray = require('is-typed-array');
  4. var isInteger = require('../isInteger');
  5. module.exports = function isTypedArrayWithBufferWitnessRecord(value) {
  6. return !!value
  7. && typeof value === 'object'
  8. && hasOwn(value, '[[Object]]')
  9. && hasOwn(value, '[[CachedBufferByteLength]]')
  10. && (
  11. (isInteger(value['[[CachedBufferByteLength]]']) && value['[[CachedBufferByteLength]]'] >= 0)
  12. || value['[[CachedBufferByteLength]]'] === 'DETACHED'
  13. )
  14. && isTypedArray(value['[[Object]]']);
  15. };