3ae436f20f
23 lines
588 B
JavaScript
23 lines
588 B
JavaScript
'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;
|