Sha256: e01a60e8962305cdf917e315e2d00b4ac5a2faf63f251b493b5d411fde2f0649

Contents?: true

Size: 817 Bytes

Versions: 27

Compression:

Stored size: 817 Bytes

Contents

'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;

Version data entries

27 entries across 27 versions & 2 rubygems

Version Path
immosquare-cleaner-0.1.32 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.31 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.30 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.29 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.28 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.27 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.26 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.25 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.24 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.23 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.22 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.21 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.20 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.19 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.18 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.17 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.16 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.14 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.13 node_modules/has-property-descriptors/index.js
immosquare-cleaner-0.1.12 node_modules/has-property-descriptors/index.js