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