object-property-is-enumerable.js 644 B

1234567891011121314
  1. 'use strict';
  2. var $propertyIsEnumerable = {}.propertyIsEnumerable;
  3. // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
  4. var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
  5. // Nashorn ~ JDK8 bug
  6. var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
  7. // `Object.prototype.propertyIsEnumerable` method implementation
  8. // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
  9. exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
  10. var descriptor = getOwnPropertyDescriptor(this, V);
  11. return !!descriptor && descriptor.enumerable;
  12. } : $propertyIsEnumerable;