OverviewFilesCommitsIssuesDocsReleasesPeers

mirall-cli / node_modules / es-abstract / helpers / records / data-view-with-buffer-witness-record.js

19 lines · javascript ref:
'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]]']);
};