| 'use strict'; |
| |
| var $defineProperty = require('es-define-property'); |
| |
| var hasPropertyDescriptors = function hasPropertyDescriptors() { |
| return !!$defineProperty; |
| }; |
| |
| hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() { |
| // node v0.6 has a bug where array lengths can be Set but not Defined |
| if (!$defineProperty) { |
| 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; |