| 123456789101112131415161718192021 | 
							- 'use strict';
 
- var hasOwn = require('hasown');
 
- var isInteger = require('../isInteger');
 
- module.exports = function isSetRecord(value) {
 
- 	return !!value
 
- 		&& typeof value === 'object'
 
- 		&& hasOwn(value, '[[SetObject]]')
 
- 		&& value['[[SetObject]]']
 
- 		&& typeof value['[[SetObject]]'] === 'object'
 
- 		&& hasOwn(value, '[[Size]]')
 
- 		&& (
 
- 			value['[[Size]]'] === Infinity
 
- 			|| (isInteger(value['[[Size]]']) && value['[[Size]]'] >= 0)
 
- 		)
 
- 		&& hasOwn(value, '[[Has]]')
 
- 		&& typeof value['[[Has]]'] === 'function'
 
- 		&& hasOwn(value, '[[Keys]]')
 
- 		&& typeof value['[[Keys]]'] === 'function';
 
- };
 
 
  |