| 123456789101112131415161718192021222324252627282930313233 | 'use strict';var GetIntrinsic = require('get-intrinsic');var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);var hasPropertyDescriptors = function hasPropertyDescriptors() {	if ($defineProperty) {		try {			$defineProperty({}, 'a', { value: 1 });			return true;		} catch (e) {			// IE 8 has a broken defineProperty			return false;		}	}	return false;};hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {	// node v0.6 has a bug where array lengths can be Set but not Defined	if (!hasPropertyDescriptors()) {		return null;	}	try {		return $defineProperty([], 'length', { value: 1 }).length !== 1;	} catch (e) {		// In Firefox 4-22, defining length on an array throws an exception.		return true;	}};module.exports = hasPropertyDescriptors;
 |