blob: 04804379cb13a68f351905f39b1d85d128d0720a [file] [log] [blame]
Alex Rudenkobfb11242024-10-17 12:50:051'use strict';
2
3var $defineProperty = require('es-define-property');
4
5var hasPropertyDescriptors = function hasPropertyDescriptors() {
6 return !!$defineProperty;
7};
8
9hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {
10 // node v0.6 has a bug where array lengths can be Set but not Defined
11 if (!$defineProperty) {
12 return null;
13 }
14 try {
15 return $defineProperty([], 'length', { value: 1 }).length !== 1;
16 } catch (e) {
17 // In Firefox 4-22, defining length on an array throws an exception.
18 return true;
19 }
20};
21
22module.exports = hasPropertyDescriptors;