📄 data-view-with-buffer-witness-record.js
/home/palash/git/site/node_modules/es-abstract/helpers/records/data-view-with-buffer-witness-record.js
Language: js • Lines: 18
'use strict';

var hasOwn = require('hasown');
var isDataView = require('is-data-view');

var isInteger = require('../isInteger');

module.exports = function isDataViewWithBufferWitnessRecord(value) {
	return !!value
		&& typeof value === 'object'
		&& hasOwn(value, '[[Object]]')
		&& hasOwn(value, '[[CachedBufferByteLength]]')
		&& (
			(isInteger(value['[[CachedBufferByteLength]]']) && value['[[CachedBufferByteLength]]'] >= 0)
			|| value['[[CachedBufferByteLength]]'] === 'DETACHED'
		)
		&& isDataView(value['[[Object]]']);
};