15 lines
642 B
JavaScript
15 lines
642 B
JavaScript
|
'use strict';
|
||
|
var $propertyIsEnumerable = {}.propertyIsEnumerable;
|
||
|
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
||
|
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||
|
|
||
|
// Nashorn ~ JDK8 bug
|
||
|
var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
|
||
|
|
||
|
// `Object.prototype.propertyIsEnumerable` method implementation
|
||
|
// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
|
||
|
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
|
||
|
var descriptor = getOwnPropertyDescriptor(this, V);
|
||
|
return !!descriptor && descriptor.enumerable;
|
||
|
} : $propertyIsEnumerable;
|